NEWS
Wallbox Heidelberg Energy Control mit Iobroker verbinden
-
@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 -
Hallo Michael,
ich habe den USR-W610 RS232/485 auch gekauft und glaube, dass er nicht geeignet ist. Wandelt er nicht nur den Modbus RTU in einen Modbus TCP um?
Das ist doch etwas anderes als das Ethernet Protokoll oder?
VG
Frank -
@heiko-teichmüller
Hi,
ich habe gerade wbec auf einem esp8266 installiert.
Das webif und alles funktioniert.
Nur wie verbinde ich das ganze jetzt mit der Wallbox?
Benötige ist sonst noch etwas? -
Hallo zusammen,
ich arbeite mich hier auch grad in das Thema eine meine Energy Control in den ioBroker einzubinden.
Meine hängt bei mir in einer Mietwohnung in der Tiefgarage. Ich habe am Stellplatz noch Wifi Empfang und überlege das mit der Elfin-EW11 zu versuchen.
Jetzt die Frage: Wie wird das Teil mit Spannung versorgt? Ich habe am Stellplatz als Spannungsquelle nur die Wallbox. Kann ich da auf der Platine irgendwo die geforderten 5-18V abgreifen bzw. wird das über die Schnittstelle mit Spannung versorgt?
Sorry wenn die Frage so Basic ist, aber wie bei all meinen Projekten fange ich meistens so gut wie bei Null an... Wenn ich da noch eine externe Spannungsversorgung brauche die ich nicht aus der Wallbox ziehen kann wäre das Projekt dann wohl gestorben
Danke euch und VG