NEWS
Eltako Drehstromzähler Modbus konfiguration
-
Hallo,
ich habe den Eltako DSZ15DZMOD-3x80A Drehstromzähler
Das Protokoll findet man hier:
https://www.eltako.com/fileadmin/downloads/de/_bedienung/Modbus-RTU_protocol_specification_for_DSZ15DZMOD_V1.6_English_version.pdfDie einzige Änderung am Zähler, die ich gemacht habe, ist die Adresse, diese habe ich auf 3 gesetzt. Wie ich die Dokumentation interpretiere, ist die Parität keine, es gibt ein Stopbit
Es sind 4 byte große Register, also 32 bit, LSB steht meines Erachtens für LittleEndian und der Faktor ist 0.01.Das ist meine Konfiguration
_address deviceId name description unit type len factor offset formula role room cw isScale 30053 3 Leistung Leistung W int16le 1 1 0 value false false 30001 3 Spannung Spannung L1 N V uint16le 1 0.01 0 value false false 30003 3 Spannung Spannung L2 N V uint16le 1 0.01 0 value false false 30005 3 Spannung Spannung L3 N V uint16le 1 0.01 0 value false false 30073 3 Energie Total Energie Total kWh int16le 1 0.01 0 value false false
allerdings passen die Werte nicht mit denen die am Gerät angezeigt werden. Die Spannung wird mit 260V angezeigt, auch die Leistung und Totale Energie haben falsche Werte.
Sieht jemand meinen Fehler?
Danke
-
@ma-sch sagte in Eltako Drehstromzähler Modbus konfiguration:
Sieht jemand meinen Fehler?
ohne Konfiguration und debug-log leider nicht
-
@ma-sch sagte in Eltako Drehstromzähler Modbus konfiguration:
LSB steht meines Erachtens für LittleEndian
wo steht das?
storage order is from high to low.
ist BigEndian, wie auch sonst üblich
https://de.m.wikipedia.org/wiki/Byte-Reihenfolge -
Zum Thema LSB
„
Das MSB (Most Significant Bit) ist das äußerste linke Bit und enthält den höchsten Wert in der Binärzahl, während das LSB (Least Significant Bit) das äußerste rechte Bit ist und den niedrigsten Wert darstellt . Diese Reihenfolge spielt eine entscheidende Rolle bei der Interpretation und Verarbeitung von Daten“ -
@wendy2702
... bei BigEndian! -
@homoran ich wollte nur sagen das es nicht „Little Endian“ bedeutet im Modbus
-
@ma-sch sagte: Das Protokoll findet man hier:
Laut Punkt 3.1 sollten alle Register vom Typ "int32" sein, wobei nur die Leistung (mit dem Faktor 1) auch negativ sein kann.
-
So sieht die Allgemeine Konfiguration aus
und das ist die Logfile mit Einstellung "debug"
modbus.2 2025-05-25 12:31:44.566 debug [DevID_3/inputRegs] Poll address 72 DONE modbus.2 2025-05-25 12:31:44.530 debug [DevID_3/inputRegs] Poll address 72 - 2 registers modbus.2 2025-05-25 12:31:44.527 debug [DevID_3/inputRegs] Poll address 52 DONE modbus.2 2025-05-25 12:31:44.492 debug [DevID_3/inputRegs] Poll address 52 - 2 registers modbus.2 2025-05-25 12:31:44.490 debug [DevID_3/inputRegs] Poll address 0 DONE modbus.2 2025-05-25 12:31:44.455 debug [DevID_3/inputRegs] Poll address 0 - 5 registers modbus.2 2025-05-25 12:31:44.454 debug [DevID_3] Poll start --------------------- modbus.2 2025-05-25 12:31:44.403 debug [DevID_2] Poll start --------------------- modbus.2 2025-05-25 12:31:43.347 debug [DevID_3/inputRegs] Poll address 72 DONE modbus.2 2025-05-25 12:31:43.319 debug [DevID_3/inputRegs] Poll address 72 - 2 registers modbus.2 2025-05-25 12:31:43.316 debug [DevID_3/inputRegs] Poll address 52 DONE modbus.2 2025-05-25 12:31:43.286 debug [DevID_3/inputRegs] Poll address 52 - 2 registers modbus.2 2025-05-25 12:31:43.283 debug [DevID_3/inputRegs] Poll address 0 DONE modbus.2 2025-05-25 12:31:43.236 debug [DevID_3/inputRegs] Poll address 0 - 5 registers modbus.2 2025-05-25 12:31:43.236 debug Initialization of scale factors done! modbus.2 2025-05-25 12:31:43.235 debug [DevID_3] Poll start --------------------- modbus.2 2025-05-25 12:31:43.180 debug [DevID_2] Poll start --------------------- modbus.2 2025-05-25 12:31:43.179 info Connected to slave modbus.2 2025-05-25 12:31:43.168 debug connect to serial /dev/ttyUSB0 with 9600 modbus.2 2025-05-25 12:31:42.857 debug Initialize Objects for holdingRegs: [{"_address":"5","deviceId":2,"name":"Leisdtung","description":"Leistung","unit":"W","type":"int16be","len":"1","factor":"1","offset":"0","formula":"","role":"level","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":null,"id":"holdingRegisters.2.NaN_Leisdtung","fullId":"modbus.2.holdingRegisters.2.NaN_Leisdtung"}] modbus.2 2025-05-25 12:31:42.857 debug Add inputRegisters.3.30073_Energie_Total: {"_id":"inputRegisters.3.30073_Energie_Total","type":"state","common":{"name":"Energie Total","role":"value","type":"number","read":true,"write":false,"def":0,"unit":"kWh"},"native":{"regType":"inputRegs","address":72,"deviceId":3,"type":"uint32le","len":2,"offset":0,"factor":0.01}} modbus.2 2025-05-25 12:31:42.857 debug Add inputRegisters.3.30053_Leistung: {"_id":"inputRegisters.3.30053_Leistung","type":"state","common":{"name":"Leistung","role":"value","type":"number","read":true,"write":false,"def":0,"unit":"W"},"native":{"regType":"inputRegs","address":52,"deviceId":3,"type":"uint32le","len":2,"offset":0,"factor":1}} modbus.2 2025-05-25 12:31:42.856 debug Add inputRegisters.3.30005_Spannung: {"_id":"inputRegisters.3.30005_Spannung","type":"state","common":{"name":"Spannung L3 N","role":"value","type":"number","read":true,"write":false,"def":0,"unit":"V"},"native":{"regType":"inputRegs","address":4,"deviceId":3,"type":"uint16be","len":1,"offset":0,"factor":0.01}} modbus.2 2025-05-25 12:31:42.856 debug Add inputRegisters.3.30003_Spannung: {"_id":"inputRegisters.3.30003_Spannung","type":"state","common":{"name":"Spannung L2 N","role":"value","type":"number","read":true,"write":false,"def":0,"unit":"V"},"native":{"regType":"inputRegs","address":2,"deviceId":3,"type":"uint16le","len":1,"offset":0,"factor":0.01}} modbus.2 2025-05-25 12:31:42.855 debug Add inputRegisters.3.30001_Spannung: {"_id":"inputRegisters.3.30001_Spannung","type":"state","common":{"name":"Spannung L1 N","role":"value","type":"number","read":true,"write":false,"def":0,"unit":"V"},"native":{"regType":"inputRegs","address":0,"deviceId":3,"type":"int16be","len":1,"offset":0,"factor":0.01}} modbus.2 2025-05-25 12:31:42.855 debug Initialize Objects for inputRegs: [{"_address":5,"deviceId":2,"name":"Leistung","description":"Leistung","unit":"W","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","cw":false,"isScale":false,"address":null,"id":"inputRegisters.2.NaN_Leistung","fullId":"modbus.2.inputRegisters.2.NaN_Leistung"},{"_address":30001,"deviceId":3,"name":"Spannung","description":"Spannung L1 N","unit":"V","type":"int16be","len":1,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","cw":false,"isScale":false,"address":0,"id":"inputRegisters.3.30001_Spannung"},{"_address":30003,"deviceId":3,"name":"Spannung","description":"Spannung L2 N","unit":"V","type":"uint16le","len":1,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","cw":false,"isScale":false,"address":2,"id":"inputRegisters.3.30003_Spannung"},{"_address":30005,"deviceId":3,"name":"Spannung","description":"Spannung L3 N","unit":"V","type":"uint16be","len":1,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","cw":false,"isScale":false,"address":4,"id":"inputRegisters.3.30005_Spannung"},{"_address":30053,"deviceId":3,"name":"Leistung","description":"Leistung","unit":"W","type":"uint32le","len":2,"factor":1,"offset":0,"formula":"","role":"value","room":"","cw":false,"isScale":false,"address":52,"id":"inputRegisters.3.30053_Leistung"},{"_address":30073,"deviceId":3,"name":"Energie Total","description":"Energie Total","unit":"kWh","type":"uint32le","len":2,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","cw":false,"isScale":false,"address":72,"id":"inputRegisters.3.30073_Energie_Total"}] modbus.2 2025-05-25 12:31:42.854 debug Initialize Objects for coils: [] modbus.2 2025-05-25 12:31:42.854 debug Initialize Objects for disInputs: [] modbus.2 2025-05-25 12:31:42.853 debug Add holdingRegisters.2.NaN_Leisdtung: {"_id":"holdingRegisters.2.NaN_Leisdtung","type":"state","common":{"name":"Leistung","role":"level","type":"number","read":false,"write":true,"def":0,"unit":"W"},"native":{"regType":"holdingRegs","address":null,"deviceId":2,"type":"int16be","len":"1","offset":"0","factor":"1","poll":false}} modbus.2 2025-05-25 12:31:42.852 debug Initialize Objects for holdingRegs: [{"_address":"5","deviceId":2,"name":"Leisdtung","description":"Leistung","unit":"W","type":"int16be","len":"1","factor":"1","offset":"0","formula":"","role":"level","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":null,"id":"holdingRegisters.2.NaN_Leisdtung"}] modbus.2 2025-05-25 12:31:42.852 debug Add inputRegisters.2.NaN_Leistung: {"_id":"inputRegisters.2.NaN_Leistung","type":"state","common":{"name":"Leistung","role":"level","type":"number","read":true,"write":false,"def":0,"unit":"W"},"native":{"regType":"inputRegs","address":null,"deviceId":2,"type":"int16be","len":1,"offset":0,"factor":1}} modbus.2 2025-05-25 12:31:42.851 debug Initialize Objects for inputRegs: [{"_address":5,"deviceId":2,"name":"Leistung","description":"Leistung","unit":"W","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","cw":false,"isScale":false,"address":null,"id":"inputRegisters.2.NaN_Leistung"},{"_address":30001,"deviceId":3,"name":"Spannung","description":"Spannung L1 N","unit":"V","type":"int16be","len":1,"factor":"0.01","offset":"0","formula":"","role":"value","room":"","cw":false,"isScale":false},{"_address":30003,"deviceId":3,"name":"Spannung","description":"Spannung L2 N","unit":"V","type":"uint16le","len":1,"factor":"0.01","offset":"0","formula":"","role":"value","room":"","cw":false,"isScale":false},{"_address":30005,"deviceId":3,"name":"Spannung","description":"Spannung L3 N","unit":"V","type":"uint16be","len":1,"factor":"0.01","offset":"0","formula":"","role":"value","room":"","cw":false,"isScale":false},{"_address":30053,"deviceId":3,"name":"Leistung","description":"Leistung","unit":"W","type":"uint32le","len":2,"factor":"1","offset":"0","formula":"","role":"value","room":"","cw":false,"isScale":false},{"_address":30073,"deviceId":3,"name":"Energie Total","description":"Energie Total","unit":"kWh","type":"uint32le","len":2,"factor":"0.01","offset":"0","formula":"","role":"value","room":"","cw":false,"isScale":false}] modbus.2 2025-05-25 12:31:42.850 debug Initialize Objects for coils: [] modbus.2 2025-05-25 12:31:42.849 debug Initialize Objects for disInputs: [] modbus.2 2025-05-25 12:31:42.712 info starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.17.0, js-controller: 6.0.11 modbus.2 2025-05-25 12:31:42.267 debug Plugin sentry Initialize Plugin (enabled=true) modbus.2 2025-05-25 12:31:36.666 info terminating---------------------
-
@ma-sch sagte in Eltako Drehstromzähler Modbus konfiguration:
das ist die Logfile mit Einstellung "debug"
@ma-sch sagte in Eltako Drehstromzähler Modbus konfiguration:
inputRegs","address":2,"deviceId":3,"type":"uint16le"
ist ja immer noch little Endian!
...und 16 Bitund:
Grundsätzlich immer erst nur mit einem Register testen -
@ma-sch sagte in Eltako Drehstromzähler Modbus konfiguration:
node: v20.17.0, js-controller: 6.0.11
Bisschen alt.
Haken bei "Aliases benutzen" entfernen.
Wie @Homoran schreibt erstmal nur ein Register eintragen.
Und den Kommentar von @paul53 beachten
-
Hallo,
habe die Ursache gefunden ... Ich habe im Modbus noch einen weiteren Zähler, einen Eastron SDM630, dem habe ich versehntlich die gleiche Adresse gegeben
Richtige Konfiguration sieht so aus
30053 10 Totals active power Gesamtleistung W int32be 2 1 0 value false false
-
@ma-sch sagte in Eltako Drehstromzähler Modbus konfiguration:
Ich habe im Modbus noch einen weiteren Zähler, einen Eastron SDM630, dem habe ich versehntlich die gleiche Adresse gegeben
das geht natürlich gar nicht.
Aber davon war in deiner (nicht gezeigten) Konfiguration nichts zu sehen
-