NEWS
Compleo Wallbox nimmt ModBus-Parameter nicht an
-
Wir haben eine Compleo eBox im Einsatz, die ich gerne für Überschussladen konfigurieren möchte. Sprich: ich möchte den maximalen Ladestrom dynamisch aus IOBroker vorgeben. Leider ignoriert die eBox diese Vorgaben.
Per ModBus bin ich bereits erfolgreich mit der Box in Kontakt und lese diverse Parameter aus:
Auch das Schreiben von Werten habe ich eingerichtet:
Hier ein Test, wo ich (rot) verschiedene Werte vorgebe, was (grün) ignoriert wird, wie es scheint:
Ich war länger mit dem Compleo-Support in Kontakt und der meinte, die ModBus-Befehle würden nicht bei der eBox ankommen. Und schickte mir natürlich eine Liste "unterstützer Energiemanagementsysteme".
Ich kann mir nicht recht erklären, dass die Werte nicht ankommen - wenn dem so wäre, würde ich das ja durch das gesetzte Häkchen "Abfrage" in IOBroker feststellen, oder?Danke für eure Ideen!
-
Okay, womöglich habe ich die Hinweise für gute Forenbeiträge missachtet...
Hier ein Screenshot der grundsätzliche Adapterkonfiguration:
Und hier die Logausgabe nach Start des Adapters:
modbus.5 2025-05-15 21:53:25.466 debug [DevID_1/holdingRegs] Poll address 1012 DONE modbus.5 2025-05-15 21:53:25.416 debug [DevID_1/holdingRegs] Poll address 1012 - 13 registers modbus.5 2025-05-15 21:53:25.413 debug [DevID_1/inputRegs] Poll address 1006 DONE modbus.5 2025-05-15 21:53:25.409 debug [DevID_1/inputRegs] Poll address 1006 - 6 registers modbus.5 2025-05-15 21:53:25.406 debug [DevID_1/inputRegs] Poll address 300 DONE modbus.5 2025-05-15 21:53:25.401 debug [DevID_1/inputRegs] Poll address 300 - 1 registers modbus.5 2025-05-15 21:53:25.396 debug [DevID_1/inputRegs] Poll address 275 DONE modbus.5 2025-05-15 21:53:25.387 debug [DevID_1/inputRegs] Poll address 275 - 2 registers modbus.5 2025-05-15 21:53:25.387 debug Initialization of scale factors done! modbus.5 2025-05-15 21:53:25.385 debug [DevID_1] Poll start --------------------- modbus.5 2025-05-15 21:53:25.383 info Connected to slave 192.168.6.73 modbus.5 2025-05-15 21:53:24.864 debug Add holdingRegisters.1024_RemainingTimeBeforeFallback: {"_id":"holdingRegisters.1024_RemainingTimeBeforeFallback","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":"s"},"native":{"regType":"holdingRegs","address":1024,"deviceId":1,"type":"uint16be","len":1,"offset":0,"factor":1,"poll":true}} modbus.5 2025-05-15 21:53:24.864 debug Add holdingRegisters.1022_FallbackMaxCurrent3: {"_id":"holdingRegisters.1022_FallbackMaxCurrent3","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":"A"},"native":{"regType":"holdingRegs","address":1022,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1,"poll":true}} modbus.5 2025-05-15 21:53:24.863 debug Add holdingRegisters.1020_FallbackMaxCurrent2: {"_id":"holdingRegisters.1020_FallbackMaxCurrent2","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":"A"},"native":{"regType":"holdingRegs","address":1020,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1,"poll":true}} modbus.5 2025-05-15 21:53:24.863 debug Add holdingRegisters.1018_FallbackMaxCurrent1: {"_id":"holdingRegisters.1018_FallbackMaxCurrent1","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":"A"},"native":{"regType":"holdingRegs","address":1018,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1,"poll":true}} modbus.5 2025-05-15 21:53:24.863 debug Add holdingRegisters.1016_MaxCurrentPhase3: {"_id":"holdingRegisters.1016_MaxCurrentPhase3","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":"A"},"native":{"regType":"holdingRegs","address":1016,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1,"poll":true}} modbus.5 2025-05-15 21:53:24.862 debug Add holdingRegisters.1014_MaxCurrentPhase2: {"_id":"holdingRegisters.1014_MaxCurrentPhase2","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":"A"},"native":{"regType":"holdingRegs","address":1014,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1,"poll":true}} modbus.5 2025-05-15 21:53:24.862 debug Add holdingRegisters.1012_MaxCurrentPhase1: {"_id":"holdingRegisters.1012_MaxCurrentPhase1","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":"A"},"native":{"regType":"holdingRegs","address":1012,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1,"poll":true}} modbus.5 2025-05-15 21:53:24.861 debug Initialize Objects for holdingRegs: [{"_address":1012,"name":"MaxCurrentPhase1","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":false,"isScale":"","address":1012,"deviceId":1,"id":"holdingRegisters.1012_MaxCurrentPhase1"},{"_address":1014,"name":"MaxCurrentPhase2","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":false,"isScale":"","address":1014,"deviceId":1,"id":"holdingRegisters.1014_MaxCurrentPhase2"},{"_address":1016,"name":"MaxCurrentPhase3","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":false,"isScale":"","address":1016,"deviceId":1,"id":"holdingRegisters.1016_MaxCurrentPhase3"},{"_address":1018,"name":"FallbackMaxCurrent1","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":false,"isScale":"","address":1018,"deviceId":1,"id":"holdingRegisters.1018_FallbackMaxCurrent1"},{"_address":1020,"name":"FallbackMaxCurrent2","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":false,"isScale":"","address":1020,"deviceId":1,"id":"holdingRegisters.1020_FallbackMaxCurrent2"},{"_address":1022,"name":"FallbackMaxCurrent3","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":false,"isScale":"","address":1022,"deviceId":1,"id":"holdingRegisters.1022_FallbackMaxCurrent3"},{"_address":1024,"name":"RemainingTimeBeforeFallback","description":"","unit":"s","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":false,"isScale":"","address":1024,"deviceId":1,"id":"holdingRegisters.1024_RemainingTimeBeforeFallback"}] modbus.5 2025-05-15 21:53:24.860 debug Add inputRegisters.1010_CurrentPhase3: {"_id":"inputRegisters.1010_CurrentPhase3","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":false,"def":0,"unit":"A"},"native":{"regType":"inputRegs","address":1010,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1}} modbus.5 2025-05-15 21:53:24.859 debug Add inputRegisters.1008_CurrentPhase2: {"_id":"inputRegisters.1008_CurrentPhase2","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":false,"def":0,"unit":"A"},"native":{"regType":"inputRegs","address":1008,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1}} modbus.5 2025-05-15 21:53:24.859 debug Add inputRegisters.1006_CurrentPhase1: {"_id":"inputRegisters.1006_CurrentPhase1","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":false,"def":0,"unit":"A"},"native":{"regType":"inputRegs","address":1006,"deviceId":1,"type":"floatbe","len":2,"offset":0,"factor":1}} modbus.5 2025-05-15 21:53:24.859 debug Add inputRegisters.300_Cable_State: {"_id":"inputRegisters.300_Cable_State","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":false,"def":0,"unit":""},"native":{"regType":"inputRegs","address":300,"deviceId":1,"type":"uint16be","len":1,"offset":0,"factor":1}} modbus.5 2025-05-15 21:53:24.858 debug Add inputRegisters.275_Mode_3_State: {"_id":"inputRegisters.275_Mode_3_State","type":"state","common":{"name":"","role":"level","type":"string","read":true,"write":false,"def":"","unit":""},"native":{"regType":"inputRegs","address":275,"deviceId":1,"type":"string","len":2,"offset":0,"factor":1}} modbus.5 2025-05-15 21:53:24.857 debug Initialize Objects for inputRegs: [{"_address":275,"name":"Mode 3 State","description":"","unit":"","type":"string","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","cw":"","isScale":"","address":275,"deviceId":1,"id":"inputRegisters.275_Mode_3_State"},{"_address":300,"name":"Cable State","description":"","unit":"","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","cw":"","isScale":"","address":300,"deviceId":1,"id":"inputRegisters.300_Cable_State"},{"_address":1006,"name":"CurrentPhase1","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","cw":"","isScale":"","deviceId":1,"address":1006,"id":"inputRegisters.1006_CurrentPhase1"},{"_address":1008,"name":"CurrentPhase2","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","cw":"","isScale":"","deviceId":1,"address":1008,"id":"inputRegisters.1008_CurrentPhase2"},{"_address":1010,"name":"CurrentPhase3","description":"","unit":"A","type":"floatbe","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","cw":"","isScale":"","deviceId":1,"address":1010,"id":"inputRegisters.1010_CurrentPhase3"}] modbus.5 2025-05-15 21:53:24.856 debug Initialize Objects for coils: [] modbus.5 2025-05-15 21:53:24.856 debug Initialize Objects for disInputs: [] modbus.5 2025-05-15 21:53:24.627 info starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.19.0, js-controller: 7.0.6
Anschließend sehe ich minütlich wiederholend die Einträge wie "[DevID_1/holdingRegs] Poll address 1012 - 13 registers". Da verwirrt mich ein wenig, dass nicht alle sieben konfigurierten Holding-Register aufgeführt werden - aber vielleicht hat das auch seine Richtigkeit.
-
@luas Ab Adresse 1012 liest er 13 Register. Das passt. Für Modbus nutze ich selbst Node-Red. Kann da also leider nicht mehr zu sagen.
-
@luas wo hast du die modbus Beschreibung ??
zeigmal..
-
@arteck Hier die aktuellste ModBus-Definition zur Compleo eBox, die mir vorliegt: DE_Quickguide_eBOX_-_Modbus_Energiemanagement_20230814.pdf
Aber hey, Moment mal, haben die den angeblich nicht vorhandenen Bug stillschweigend gefixt?
Ich war heute erfolglos auf der Suche nach einer aktuelleren ModBus-Definition und stieß stattdessen darauf, dass es eine neue Firmware gibt. Da ohnehin irgendwas vergurkt war (die Wallbox kam seit zwei Tagen nicht mehr aus dem EVSE-State B1 "Wallbox not ready" raus), habe ich die installiert, und auf den ersten Blick fluppt es seither.
In den Release Notes heißt es: "Fixed an issue where local load management was not started properly". Vielleicht war's das.
Hier das Diagramm meiner aktuellen Tests:
Anfangs lädt das Auto ungedrosselt, bis die Vorgabe (in grau) dazukommt. Der folgt es brav, außer wenn man unter 6A geht (im Bild gegen 19:53). Das wird dann seitens der Wallbox wieder auf den Minimalwert 6A hochgeschubst.
Erlaubt dagegen ist (im Bild gegen 20 Uhr) eine Vorgabe von 0A, die in einem "Wallbox not ready" resultiert. Das halbe Ampere, das da noch angezeigt wird, ist der angebliche Eigenverbrauch der Wallbox. Glaube ich nicht, aber soll hier egal sein. Jedenfalls bekommt das Auto keinen Strom mehr.
An der Stelle hatte sich die Wallbox vermutlich vor dem Update verschluckt und blieb da hängen. Hier ist zu sehen, wie sie das Laden wieder aufnimmt, sobald die Vorgabe wieder >=6A ist.
Scheint also alles schick. Herzlichen Dank euch! Auch wenn ihr primär das Rubber Ducky wart. -
@luas Okay, und noch ein Fehler war drin, der mangels Blockly-Screenshot nicht zu erkennen war: ich habe die Werte in Blockly "aktualisiert" statt "gesteuert". In obigem Screenshot waren es manuell gesetzte (unbestätigte) Vorgaben.
Peinlich, ich gehe im Geiste noch mal in die Abteilung "Einsteigerfragen" zurück.
Jetzt bin ich aber wirklich zuversichtlich, dass es klappt!
Das hat mir auf die Sprünge geholfen: https://youtu.be/p5FyeifYUnw -
@luas Noch eine Erkenntnis (falls euch meine Selbstgespräche stören, sagt Bescheid, aber vielleicht hilft es ja noch jemandem): manchen Fahrzeugen scheint 6 Ampere als Untergrenze zu wenig, sie pausieren dann komplett. Für eines unserer Fahrzeuge musste ich die Untergrenze auf 10 A erhöhen.