NEWS
FoxEss H3 Wechselrichter per Modbus in ioBroker
-
@Int17 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
danach als String definiert:
was?
dem log nach
@Int17 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
task add for ID undefined:
geht es anscheinend um die ID!
Lösch diese nochmal,ggf. zwischenspeichern, und erneut eintragen.
Ansonsten mal ein downgrade des Adapters. die 8.0.3 dürfte nicht stable sein. wo hast du due her?
-
geht es anscheinend um die ID
Probier mal mit einem Modbus-Tester, ob die ID 247 überhaupt erreichbar ist - z.B.

@fuzzy1955 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
ob die ID 247 überhaupt erreichbar ist
das sollte hier nicht das Problem srin, die Meldung meckert den Wertetyp an:
@Int17 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
Parameter "id" needs to be of type "string" but type "undefined" has been passed
-
geht es anscheinend um die ID
Probier mal mit einem Modbus-Tester, ob die ID 247 überhaupt erreichbar ist - z.B.

@fuzzy1955
192.168.178.80 ist die Adresse des Waveshare RS4852ETH.
192.168.178.99 die Adresse des Wechselrichters.
-
@Int17 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
danach als String definiert:
was?
dem log nach
@Int17 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
task add for ID undefined:
geht es anscheinend um die ID!
Lösch diese nochmal,ggf. zwischenspeichern, und erneut eintragen.
Ansonsten mal ein downgrade des Adapters. die 8.0.3 dürfte nicht stable sein. wo hast du due her?
@Homoran
Ok, ich hatte die Model number als ID verstanden, da im Kommentar steht Model number of the inverter (8 chars, space padded). Daher im 2. Versuch die Model Number als String definiert."Ansonsten mal ein downgrade des Adapters. die 8.0.3 dürfte nicht stable sein. wo hast du due her?"
Ich folge dem Beta-Repo.

Habe jetzt die aus dem Stable Repo installiert.
Versuch mit Waveshare (.80):2026-02-21 22:04:43.371 - info: modbus.0 (157715) starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v22.22.0, js-controller: 7.1.0 2026-02-21 22:04:43.412 - error: modbus.0 (157715) Invalid holdingRegisters address: -10001 2026-02-21 22:04:43.412 - debug: modbus.0 (157715) Initialize Objects for disInputs: [] 2026-02-21 22:04:43.412 - debug: modbus.0 (157715) Initialize Objects for coils: [] 2026-02-21 22:04:43.413 - debug: modbus.0 (157715) Initialize Objects for inputRegs: [] 2026-02-21 22:04:43.413 - debug: modbus.0 (157715) Initialize Objects for holdingRegs: [{"_address":"30000","name":"Inverter Model","description":"Model number of the inverter (8 chars, space padded)","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":-10001,"deviceId":247}] 2026-02-21 22:04:43.413 - error: modbus.0 (157715) Invalid data holdingRegisters/0: {"_address":"30000","name":"Inverter Model","description":"Model number of the inverter (8 chars, space padded)","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":-10001,"deviceId":247,"fullId":"modbus.0.0"} 2026-02-21 22:04:43.413 - error: modbus.0 (157715) Invalid object: {"type":"state","common":{"name":"Model number of the inverter (8 chars, space padded)","role":"","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":-10001,"deviceId":247,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2026-02-21 22:04:43.413 - debug: modbus.0 (157715) Add undefined: {"type":"state","common":{"name":"Model number of the inverter (8 chars, space padded)","role":"","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":-10001,"deviceId":247,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2026-02-21 22:04:43.458 - info: modbus.0 (157715) Can not execute task add for ID undefined: Parameter "id" needs to be of type "string" but type "undefined" has been passed 2026-02-21 22:04:43.493 - info: modbus.0 (157715) Connected to slave 192.168.178.80 2026-02-21 22:04:43.493 - debug: modbus.0 (157715) [DevID_247] Poll start --------------------- 2026-02-21 22:04:43.667 - debug: modbus.0 (157715) No current request. 2026-02-21 22:04:44.017 - debug: modbus.0 (157715) No current request. 2026-02-21 22:04:44.367 - debug: modbus.0 (157715) No current request.Versuch mit H3 (IP .99):
2026-02-22 16:25:39.657 - info: modbus.0 (260646) starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v22.22.0, js-controller: 7.1.0 2026-02-22 16:25:39.700 - error: modbus.0 (260646) Invalid holdingRegisters address: -10001 2026-02-22 16:25:39.700 - debug: modbus.0 (260646) Initialize Objects for disInputs: [] 2026-02-22 16:25:39.700 - debug: modbus.0 (260646) Initialize Objects for coils: [] 2026-02-22 16:25:39.700 - debug: modbus.0 (260646) Initialize Objects for inputRegs: [] 2026-02-22 16:25:39.700 - debug: modbus.0 (260646) Initialize Objects for holdingRegs: [{"_address":"30000","name":"Inverter Model","description":"Model number of the inverter (8 chars, space padded)","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":-10001,"deviceId":247}] 2026-02-22 16:25:39.700 - error: modbus.0 (260646) Invalid data holdingRegisters/0: {"_address":"30000","name":"Inverter Model","description":"Model number of the inverter (8 chars, space padded)","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":-10001,"deviceId":247,"fullId":"modbus.0.0"} 2026-02-22 16:25:39.700 - error: modbus.0 (260646) Invalid object: {"type":"state","common":{"name":"Model number of the inverter (8 chars, space padded)","role":"","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":-10001,"deviceId":247,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2026-02-22 16:25:39.700 - debug: modbus.0 (260646) Add undefined: {"type":"state","common":{"name":"Model number of the inverter (8 chars, space padded)","role":"","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":-10001,"deviceId":247,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2026-02-22 16:25:39.746 - info: modbus.0 (260646) Can not execute task add for ID undefined: Parameter "id" needs to be of type "string" but type "undefined" has been passed 2026-02-22 16:25:39.782 - info: modbus.0 (260646) Connected to slave 192.168.178.99 2026-02-22 16:25:39.782 - debug: modbus.0 (260646) [DevID_247] Poll start --------------------- 2026-02-22 16:25:40.833 - debug: modbus.0 (260646) [DevID_247] Poll start --------------------- -
Also ich bin ein Stück weitergekommen.
Invalid holdingRegisters address: -10001
Hier ist mir aufgefallen, dass sich die Adresse ändert, wenn man das Holding Register verändert. Trägt man da 40001 ein, so kommt der Fehler nicht mehr und auch die ID-Fehlermeldung kommt nicht mehr.2026-02-22 16:42:41.507 - info: modbus.0 (262572) starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v22.22.0, js-controller: 7.1.0 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for disInputs: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for coils: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for inputRegs: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for holdingRegs: [{"_address":"40001","name":"Inverter Model","description":"Model number of the inverter (8 chars, space padded)","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":0,"deviceId":247,"id":"holdingRegisters.40001_Inverter_Model"}] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Add holdingRegisters.40001_Inverter_Model: {"_id":"holdingRegisters.40001_Inverter_Model","type":"state","common":{"name":"Model number of the inverter (8 chars, space padded)","role":"","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":0,"deviceId":247,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2026-02-22 16:42:41.633 - info: modbus.0 (262572) Connected to slave 192.168.178.99 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) [DevID_247] Poll start --------------------- 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) Initialization of scale factors done! 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) [DevID_247/holdingRegs] Poll address 0 - 1 registers 2026-02-22 16:42:46.634 - warn: modbus.0 (262572) Error: undefined 2026-02-22 16:42:46.634 - error: modbus.0 (262572) Request timed out. 2026-02-22 16:42:46.634 - error: modbus.0 (262572) Client in error state. 2026-02-22 16:42:46.634 - warn: modbus.0 (262572) Poll error count: 1 code: {"err":"timeout","timeout":5000}Gleicher Ablauf mit der Adresse des Wavshares.
-
Also ich bin ein Stück weitergekommen.
Invalid holdingRegisters address: -10001
Hier ist mir aufgefallen, dass sich die Adresse ändert, wenn man das Holding Register verändert. Trägt man da 40001 ein, so kommt der Fehler nicht mehr und auch die ID-Fehlermeldung kommt nicht mehr.2026-02-22 16:42:41.507 - info: modbus.0 (262572) starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v22.22.0, js-controller: 7.1.0 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for disInputs: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for coils: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for inputRegs: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for holdingRegs: [{"_address":"40001","name":"Inverter Model","description":"Model number of the inverter (8 chars, space padded)","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":0,"deviceId":247,"id":"holdingRegisters.40001_Inverter_Model"}] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Add holdingRegisters.40001_Inverter_Model: {"_id":"holdingRegisters.40001_Inverter_Model","type":"state","common":{"name":"Model number of the inverter (8 chars, space padded)","role":"","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":0,"deviceId":247,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2026-02-22 16:42:41.633 - info: modbus.0 (262572) Connected to slave 192.168.178.99 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) [DevID_247] Poll start --------------------- 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) Initialization of scale factors done! 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) [DevID_247/holdingRegs] Poll address 0 - 1 registers 2026-02-22 16:42:46.634 - warn: modbus.0 (262572) Error: undefined 2026-02-22 16:42:46.634 - error: modbus.0 (262572) Request timed out. 2026-02-22 16:42:46.634 - error: modbus.0 (262572) Client in error state. 2026-02-22 16:42:46.634 - warn: modbus.0 (262572) Poll error count: 1 code: {"err":"timeout","timeout":5000}Gleicher Ablauf mit der Adresse des Wavshares.
-
Also ich bin ein Stück weitergekommen.
Invalid holdingRegisters address: -10001
Hier ist mir aufgefallen, dass sich die Adresse ändert, wenn man das Holding Register verändert. Trägt man da 40001 ein, so kommt der Fehler nicht mehr und auch die ID-Fehlermeldung kommt nicht mehr.2026-02-22 16:42:41.507 - info: modbus.0 (262572) starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v22.22.0, js-controller: 7.1.0 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for disInputs: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for coils: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for inputRegs: [] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Initialize Objects for holdingRegs: [{"_address":"40001","name":"Inverter Model","description":"Model number of the inverter (8 chars, space padded)","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":0,"deviceId":247,"id":"holdingRegisters.40001_Inverter_Model"}] 2026-02-22 16:42:41.550 - debug: modbus.0 (262572) Add holdingRegisters.40001_Inverter_Model: {"_id":"holdingRegisters.40001_Inverter_Model","type":"state","common":{"name":"Model number of the inverter (8 chars, space padded)","role":"","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":0,"deviceId":247,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2026-02-22 16:42:41.633 - info: modbus.0 (262572) Connected to slave 192.168.178.99 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) [DevID_247] Poll start --------------------- 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) Initialization of scale factors done! 2026-02-22 16:42:41.633 - debug: modbus.0 (262572) [DevID_247/holdingRegs] Poll address 0 - 1 registers 2026-02-22 16:42:46.634 - warn: modbus.0 (262572) Error: undefined 2026-02-22 16:42:46.634 - error: modbus.0 (262572) Request timed out. 2026-02-22 16:42:46.634 - error: modbus.0 (262572) Client in error state. 2026-02-22 16:42:46.634 - warn: modbus.0 (262572) Poll error count: 1 code: {"err":"timeout","timeout":5000}Gleicher Ablauf mit der Adresse des Wavshares.
@Int17 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
Invalid holdingRegisters address: -10001
das klingt nach falschen Grundeinstellungen!
Alias verwenden aktiviert?
-
@Int17 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
Invalid holdingRegisters address: -10001
das klingt nach falschen Grundeinstellungen!
Alias verwenden aktiviert?
@Homoran
Ja, die Selektion ist Standard. Jetzt deaktiviert.
Die ersten beiden Register laut Doku sind Model und SN:

die habe ich jetzt eingetragen:

Ergebnis:

Hier die Ausgabe vom GModbus:

Also scheint die FW des H3 Modbus über TCP (LAN-Kabel) zu unterstützen und das RS4852ETH ist überflüssig.
Hatte hier gelesen, dass nach dem Eintrag von ein paar Register, die restlichen automatische gelesen wurden. Stimmt das?
-
@Homoran
Ja, die Selektion ist Standard. Jetzt deaktiviert.
Die ersten beiden Register laut Doku sind Model und SN:

die habe ich jetzt eingetragen:

Ergebnis:

Hier die Ausgabe vom GModbus:

Also scheint die FW des H3 Modbus über TCP (LAN-Kabel) zu unterstützen und das RS4852ETH ist überflüssig.
Hatte hier gelesen, dass nach dem Eintrag von ein paar Register, die restlichen automatische gelesen wurden. Stimmt das?
@Int17 sagte in FoxEss H3 Wechselrichter per Modbus in ioBroker:
Hatte hier gelesen, dass nach dem Eintrag von ein paar Register, die restlichen automatische gelesen wurden. Stimmt das?
im Modbus Adapter? nein!
in deinem Tool? möglich, aber kenn ich nicht