Stránka 1 z 1

Elektroměr DTS238-7 - modbus

Napsal: stř čer 09, 2021 11:43 pm
od josse
Další čínský kousek:
https://www.aliexpress.com/item/1005002 ... 4c4d9EoX3S
DTS238-7_obr.png
DTS238-7_obr.png (233.04 KiB) Zobrazeno 1808 x
3-phase Elektroměr, umí zobrazit i vyčíst napětí, proudy, power faktor, výkon, včetně jalového, energii celkovou, odebranou i dodanou. je velice podobný jako 1 fázový DDS-238-X, zádrhel jsou nepublikované registry (číňan mi dvakrát psal, že manuál poslal, ale nic na gmail nedorazilo, ...asi nějaká cenzura...), ty celkové registry jsou stejné a ty 3ph registry začínají na 0x80h. Zádrhel byl v tom, že nebyla dokumentace a 3ph elektroměr vrací nuly na registrech 1ph například 0x0C je napětí u 1ph, ale 3ph vrací "0"... protože má napětí A, B a C na 0x80, 81 a 82h

Zatím nemám výtky, rozchodil jsem vyčítání z RS485, ukládám do Emoncms (jako obvykle). Graf vám zatím nedám, asi jsem si rozbil emoncms a budu to muset opravit... zatím obrázek:
DTS238-7.png
DTS238-7.png (62.45 KiB) Zobrazeno 1808 x
Kdyby někdo chtěl inspiraci, přikládám úryvky z pythonu:

...
import minimalmodbus # required for handling modbus
...
MeterCharger = minimalmodbus.Instrument('/dev/ttyUSB0',MeterChargerAddress) # port name, slave address
MeterCharger.serial.baudrate = 9600
MeterCharger.serial.timeout = 0.5
...
TotalEnergy1 = MeterCharger.read_registers(0,2)
LifeEnergy_High = TotalEnergy1[0]
LifeEnergy_Low = TotalEnergy1[1]
LifeEnergy = 0.01 * ((LifeEnergy_High * 65535) + LifeEnergy_Low)
NETENERGY = LifeEnergy * 1000
VOLTAGEA = MeterCharger.read_register(0x80,1)
VOLTAGEB = MeterCharger.read_register(0x81,1)
VOLTAGEC = MeterCharger.read_register(0x82,1)
CURRENTA = MeterCharger.read_register(0x83,2)
CURRENTB = MeterCharger.read_register(0x84,2)
CURRENTC = MeterCharger.read_register(0x85,2)
ActivePower1 = MeterCharger.read_registers(0x86,2)
ActivePower_High = ActivePower1[0]
ActivePower_Low = ActivePower1[1]
ActivePower = (0.01 * ((ActivePower_High * 65535) + ActivePower_Low)) * 100
ActivePowerA = MeterCharger.read_register(0x88,3)
ActivePowerB = MeterCharger.read_register(0x89,3)
ActivePowerC = MeterCharger.read_register(0x8A,3)
ApparentPower1 = MeterCharger.read_registers(0x90,2)
ApparentPower_High = ApparentPower1[0]
ApparentPower_Low = ApparentPower1[1]
ApparentPower = (0.01 * ((ApparentPower_High * 65535) + ApparentPower_Low)) * 100
ApparentPowerA = MeterCharger.read_register(0x92,3)
ApparentPowerB = MeterCharger.read_register(0x93,3)
ApparentPowerC = MeterCharger.read_register(0x94,3)
PowerFactor = MeterCharger.read_register(0x95,3)
PowerFactorA = MeterCharger.read_register(0x96,3)
PowerFactorB = MeterCharger.read_register(0x97,3)
PowerFactorC = MeterCharger.read_register(0x98,3)
...
#print
#print '= RS485-Values for Upload ='
#print 'NetEnergy = ', NETENERGY, ' Wh'
#print 'Voltage A = ', VOLTAGEA, ' V'
#print 'Voltage B = ', VOLTAGEB, ' V'
#print 'Voltage C = ', VOLTAGEC, ' V'
#print 'Current A = ', CURRENTA, ' A'
#print 'Current B = ', CURRENTB, ' A'
#print 'Current C = ', CURRENTC, ' A'
#print 'ActivePower = ', ActivePower, ' W'
#print 'ActivePower A = ', ActivePowerA, ' W'
#print 'ActivePower B = ', ActivePowerB, ' W'
#print 'ActivePower C = ', ActivePowerC, ' W'
#print 'ApparentPower = ', ApparentPower, ' VA'
#print 'ApparentPower A = ', ApparentPowerA, ' VA'
#print 'ApparentPower B = ', ApparentPowerB, ' VA'
#print 'ApparentPower C = ', ApparentPowerC, ' VA'
#print 'Power Factor = ', PowerFactor, ' -'
#print 'Power Factor A = ', PowerFactorA, ' -'
#print 'Power Factor B = ', PowerFactorB, ' -'
#print 'Power Factor C = ', PowerFactorC, ' -'

Re: Elektroměr DTS238-7 - modbus

Napsal: ned pro 19, 2021 11:55 am
od GWalk
Ahoj

doufam, ze to pomuze. Melo by to fungovat i s Tasmotou. Pravdepodobne, ale bude potreba trochu upravit zdrojak.
Poridil jsem si ho taky. Ale pres Modbus 485 umi daleko vice nez ve founu.

Pekny den

PS: Reší tu 1F DDS238-2 https://github.com/arendst/Tasmota/issues/6531

Re: Elektroměr DTS238-7 - modbus

Napsal: ned led 16, 2022 12:50 pm
od silvestr
Zdravim,
zvazuju nakup tohoto elektromeru. Chtel bych do nej dostat Tasmotu. Mohli byste prosim, vy co ho mate, zjistit, co je uvnitr za wifi modul? Nemuzu to nikde na netu najit. Vim, ze u podobneho jednofazoveho je ESP8266, takze na nem Tasmota bezi, ale u tri fazoveho to muze byt jinak.

Pripadne pokud mate odkaz na video, kde ho nekdo rozebral a podival se dovnitr (hledal jsem hodne, nenasel).

Moje motivace je vycitat hodnoty pres MQTT (idealne ta Tasmota). Pokud by to neslo, tak bych si koupil o dost levnejsi a spokojil se s Modbus 485.

Dekuju.

Re: Elektroměr DTS238-7 - modbus

Napsal: pát úno 04, 2022 9:25 am
od jburak
Tak WiFi modul má označení TYWES3

Re: Elektroměr DTS238-7 - modbus

Napsal: pát úno 04, 2022 1:10 pm
od Kodl69
Asi disgrafik... TYWE3S https://duckduckgo.com/?q=TYWE3S&t=lm&atb=v302-1&ia=web
chceš do toho tasmotu nebo něco jinýho? je to vlastně ESP12 s jinou nálepkou, říká nešmírující vyhledávač...