NEWS
Wallbox Heidelberg Energy Control mit Iobroker verbinden
-
@tom2406 said in Wallbox Heidelberg Energy Control mit Iobroker verbinden:
@ftd danke fürs Feedback, werde ich später mal versuchen. Aber ganz verstehe ich das nicht, warum muss ich am EW11 auf „Server“ stellen? Der EW11 inkl der Wallbox soll doch der Slave/Client sein und der ioBroker der Master?! Meine Wallbox ist ja auch als Slave deklariert, sonst kann ich sie ja nicht Überschuss-steuern.
Müsste ich bei deiner Config dann auch im ioBroker auf Client umstellen?In dem Thread von vor 2,5 Jahren https://forum.iobroker.net/topic/29594/modbus-lan-converter stand der Adapter auf Master. Ich hatte ihn damals auch eine Zeit lang nicht grün bekommen, weil die GeräteID nicht gestimmt hatte.
Die serial Config muss ich aber trotzdem an die Wallbox anpassen, oder? Hier dürfte ich deine Baudrate etc ja nicht übernehmen, da von Heidelberg das hier gefordert wird:
Richtig, nimm die Baudrate, die von Heidelberg gefordert ist.
-
@ftd also meinst du, dass es korrekt ist, dass der Adapter auf Master/Server steht (welchen Sinn das auch immer macht). Hab es damit auch kurzzeitig grün bekommen, sehe die Logik dahinter nur nicht.
Also hat es bei dir damals an der Geräte-ID gelegen?! Was hattest du dann eingestellt, damit sich ioBroker und EW11 vertragen?
Der Gedanke mit MQTT ist mir auch gekommen, werde aber auch da aus dem EW11 nicht schlau. Habe MQTT eingestellt und der ioBroker findet ihn auch anstandslos und alles grün, aber ich bekomme ja eben nur ein „Signal“ vom ganzen EW11, wo natürlich kein Inhalt drin ist. Muss ich da also mit einem Skript rangehen, um die Nachrichten zu vereinzeln, die ich brauche?!
Sorry für die ganzen Fragen, aber ich verzweifle an der Kiste -
@ftd also mittlerweile bin ich soweit, dass der Modbus-Adapter immer so 5sek grün, dann 2sek gelb und dann wieder 5sek grün ist … aber ich glaube ich bekomme den nicht dauerhaft grün, solange die Verbindung zwischen EW11 und Wallbox nicht sauber steht, die blinkt immer noch im Kommunikationsfehler.
Aber ich sehe keinen Fehler, wenn ich die Wallbox-Anforderungen mit meinen EW11-Einstellungen Vergleiche:
Oder übersehe ich etwas? Habe auch schon die Drähte A+B getauscht … -
@tom2406 Also wenn die Verbindung vom EW11 zur Wallbox funktioniert, dann bist du kurz vor dem Erfolg würde ich sagen. Ich vermute weiterhin eine falsche GeräteID im ioBroker Modbus Adapter... wie gesagt, war bei mir damals der Fall, wo ich kurz davor war, dass Ding in die Tonne zu kloppen.
Da mir aber der Modbus-Adapter nicht gefallen hat (nutze ich auch nicht mehr), bin ich den harten Weg gegangen und habe selber den EW11 via MQTT angebunden.
Meine Lösung: Ein eigener kleiner Proxmox LXC-Container, wo ich jede Menge Kleinkram selber zusammenbaue... unter anderem einen Mosquitto MQTT Dienst.
1) Ein Script für die Konfigurationen aller anderen Scripte
run .sh
#!/bin/bash cd /home/scripts set -o pipefail /home/scripts/scripts.sh
2) Ein Script, welches die Registrer des EW11 ausliest und in eine Datei schreibt
ew11 .py
#Import Files import sys import os import time import getopt import struct from pymodbus.client.sync import ModbusTcpClient #Open TCP Port # die IP-Adresse von deinem EW11 client = ModbusTcpClient('192.168.178.83', port=8899) #Beispiel von der Wallbox #04 (0x04) Read Input Registrer #hier am besten Google zur Hilfe nehmen result = client.read_input_registers(0x04,2, unit=0x02) meinErstesInputRegister = float(result.registers[1] / 100) f = open('/home/scripts/log/meinErstesInputRegister', 'w') f.write(str(meinErstesInputRegister)) f.close()
3) Ein Script, welches die Datei öffnet und via MQTT published
pubmqtt .py
#!/usr/bin/python import sys import os import time import getopt import struct import paho.mqtt.client as mqtt f = open('/home/scripts/log/meinErstesInputRegister', 'rt') meinErstesInputRegister = f.read() f.close() client = mqtt.Client() client.connect("localhost",1883,60) client.publish("EW11/meinErstesInputRegister", meinErstesInputRegister) client.disconnect()
4) Ein Script, welches die Scripte letztendlich ausführt
scripts .sh
#!/bin/bash sudo python /home/scripts/ew11.py sudo python /home/scripts/pubmqtt.py
5) Ein Cronjob dazu
* * * * * sleep 10 && /home/scripts/run.sh >> /home/scriptes/log/logfile.log 2>&1
6) meinErstesInputRegister kommt via MQTT im ioBroker an
So läuft das seit rund 2,5 Jahren bei mir.
-
@ftd ich habe noch nicht versucht sie mit iobroker zu verbinden, hatte einfach nur mal die technik in der wallbox verbaut. anfänglich alles gut. Aber am nächsten Tag ebenfalls Blau Weißes geblinke.
Für micht heißt dass, dass das Problem nicht im iobroker liegt sondern in der Box?
-
Hallo, ich habe hier seit ein paar Tagen auf meinem Basteltisch einen "Elfin EE11 Modbus LAN Converter" und eine "Heidelberg Wallbox Energy Control".
Soweit kann ich über den IOBroker-ModBus-Adapter und auch qModMaster die Input-Register und Holding-Register lesen und schreiben.
Meine Elfin-Konfiguration entspricht exakt der von Tom2406 vom 28.7.2022.
Beste Grüße
AU -
Hallo,
im ModBus-Adapter ist bei mir Master eingestellt und die Heidelberg Wallbox ist mit Bus-ID=1 konfiguriert. Somit läuft die Wallbox im Slave-Modus.
Gruß
AU -
@ftd ich hab genau den EE11 Adapter - aber leider blinkt meine Wallbox immer weiß/blau wegen Kommunikationsstörung und bekomme auch kein Signal in den Iobroker rein.
Kannst du mir sagen was ich bei dem EE11 Adapter und bei der Wallbox (Dipschalter) einstellen muss? Hab schon alles ausprobiert.... -
Hallo zusammen,
ich habe ein merkwürdiges Verhalten bei der Heidelberg EC. Die Verbindung zu IOBroker steht. Alles ist grün und ich bekomme auch alle Register im IO angezeigt... z.B. die Spannung auf den Phasen ändert sich oder die Temperatur schwankt. Jedoch zeigt mir das Register charging state immer eine 10 UND die Wallbox blinkt auch Weiß/Blau.
Hat evtl. jemand eine Idee? Die Kommunikation funktioniert ja eigentlich.Vielen Dank
Rötty -
Ich habe mein System mittlerweile durch viel probieren mittlerweile soweit, dass ich, genau wie Roetty, Inputdatenbekomme, aber leider nichts schreiben/steuern kann. Da ich auch den EW11 über Wifi habe, hier mal meine Einstellungen. Da das Auslesen einwandfrei funktioniert, verstehe ich das blinken zwecks Kommunikationsfehler nicht und mit dem Charging State 10 kann ich auch nicht viel anfangen.
Ich habe ja noch immer etwas den EW11 in Verdacht, da er glaube ich keinen Abschlusswiderstand verbaut hat. Den schreibt Heidelberg ja dringend vor, aber letztlich habe ich halt auch "nur" 10cm Busleitung verbaut, da der EW11 mit in der Wallbox sitzt. Das sollte eigentlich auch ohne Abschlusswiderstand funktionieren. Vor allem: Warum sollte, wenn es am Abschlusswiderstand liegen sollte das Auslesen klappen aber der Command nicht?!
-
@tom2406
Hey Tom,
ich hab´s bereits gelöst! Du musst z.B. mit Blockly die gewünschten Parameter "beschreiben". Ich habe es damit gemacht und einfach mal eine 60 in den "Current_Command" geschrieben und Zack! Es funktioniert.VG
-
@roetty Versucht hab ich das auch schon, aber entweder ich bin zu doof für Blockly oder ich habe noch wo anders ein Problem. Aber ich bekomme Blockly generell nicht sauber ans Laufen, habe vorhin noch versucht einen Shelly damit zu schalten (Zeitgetriggert, alle 1s), und das wollte auch nicht.
Ich hatte schon die Register im ioBroker-Modbus-Adapter in Verdacht. Weil in der Anleitung der Heidelberg explizit steht "Unterstütz werden ausschlielich die folgenden Funktionen: .... 06 (0x06) Write Single Register" und ich im Modbus-Adapter ja nicht die 06 sondern nur die 04 Holding-Register aussuchen kann. Aber das hast du genau so!? Kannst du mal deine Einstellung Screenshotten, so wie ich es hatte. Also sowohl vom Modbus-Adapter im ioBroker als auch die EInstellungen vom EW11. Nicht, dass ich noch irgendwo ein zeitliches Problem eingebaut habe.
Edit:
Ich hab es mir jetzt so zusammen gebastelt, aber es geht trotzdem nicht. Ich dachte ich setze lieber mal alle write-Werte, damit ich mir damit nichts lahm lege, weil z.B. der Remote Lock falsch ist. Aber der Charging State bleibt auf 10 und die Wallbox blinkt blau:
Edit: An meinen Blockly-Fähigkeiten kann es nicht liegen. Ich sehe unter "Objekte" genau, dass die Werte sauber alle paar Sekunden neu gesetzt werden. Aber es scheint nicht bei der Wallbox anzukommen. -
@tom2406
Hey Tom,Ich habe mir eine VIS-Oberfläche gebastelt mit dem ich vom Handy aus den Ladevorgang starten/beenden und den Ladestrom steuern kann.
Ich verwende im Blockly-Skript den Befehl "steuern" und nicht "aktualisieren" keine Ahnung ob aktualisieren auch geht ABER noch wichtiger ist: Die Ladestromwerte entsprechen dem Faktor 10! Also für 10 Ampere muss Du eine "100" setzen, für 8A -> 80 usw.! Alles unter 60 (6A) wird ignoriert.
Übrigens setze ich die Werte NICHT in einer Zeitschleife... läuft bei mir bis jetzt einwandfrei. Ich denke also einmal den Wert setzen reicht.
Hier mein "kleines" Blockly Skript... ist noch nicht fertig aber funktioniert:
Hier noch meine Holding-Register:
Sag mal bescheid, wenn´s bei Dir funktioniert
VG
-
@roetty Danke für das Feedback. Die Zeitschleife nutze ich, da ich PV-Überschussladen will und daher regelmäßig den aktuellen Überschuss abrufe. Ich habe aktuell nur für Testzwecke hardcoded Werte reingeschrieben. Den Faktor 10 habe ich in meiner Register-Definition mit berücksichtigt. Daher kann ich 10 eintragen, wenn ich 10Ampere will, die Umrechnung auf 100 erfolgt im Register. Das klappt auch korrekt, denn wenn ich da zb. 100 eingebe, rechnet der das ja auf 1000 um und korrigiert es dann automatisch auf 16 als max-value.
Kann mir grad nicht vorstellen, dass es "nur" an steuern statt aktualisieren liegt, aber ich probiere es später mal aus. Aber kannst du mir bitte nochmal Screenshots von deinen allgemeinen Modbus-Einstellungen im ioBroker schicken? Damit ich gucken kann, ob ich z.B. bei der Impulszeit oder so was falsches drin habe:
Und bitte auch Screenshots von den "Serial port settings" und den "communication settings" des Elfi-Adapters. Ich möchte ausschließen, dass ich da noch irgendwo einen Bug drin habe.
Danke dir vorab -
@tom2406
OK... Um eine mögliche Faktor-Umrechnungs-Fehlerursache auszuschließen, würde ich allerdings erst mal mit den "Rohwerten" arbeiten. "Schön" machen kannste das später immer noch ;-).Ich verwende diesen Adapter. Entsprechend sind meine Einstellungen.
-
@roetty Total bekloppt, es lag tatsächlich am "steuern" statt "aktualisieren" im Blockly.
Vielen Vielen Dank -
@nitrox9 ich habe auch das Problem das sich sobald ich die Box versuche zu verbinden die Box in den Fehler Modus geht
Ich habe bereits mehrere Adapter probiert aber alle mit dem selben Ergebnis
Muss ich bei den Boxen noch irgend was einstellen? -
@interimo Du kennst sicherlich meine Anleitung?!:
https://forum.iobroker.net/topic/51751/heidelberg-energy-control-pv-laden-modbus-blockly
Modbus ist grün? Fehler erst beim Verbinden, also anstecken? Wäre ungewöhnlich.
Wenn modbus nicht grün wird, gibt es Fehlermeldungen im Log. Aus der Erfahrung liegt es da an den Holdingregistern und deiner Firmware. Dort mal die Haken bei Abfrage nach und nach rausnehmen und schauen, ob es dann geht. -
@nitrox9 Als Fehlermeldung bekomme ich nur Timeout
-
Hallo,
hast du für dein Time-Out Problem schon eine Lösung gefunden? Ich versuche den USR-W610 RS232/485 to WiFi and Ethernet Converter.
Meine Heidelberg gibt auch nur den blauen Komm-Fehler Blink-Code und meine IO Broker Fehlermeldungen schauen deinen sehr ähnlich. DIP Schalter sind wie hier überall gezeigt. Slave mit Terminierung. Am Converter habe ich direkt an den Anschluss einen 120 Ohm Wiederstand gebrückt von A nach B hinzu gefügt.
Konntest du bei dir weiter kommen?
Viele Grüße
Michael