NEWS
Heidelberg Energy Control / PV-Laden / Modbus / Blockly
-
Hallo,
meine Lösung für die Aufgabe "PV-Überschussladen mit Wallbox Heidelberg Energy Control über Modbus, ioBroker und Blockly" möchte ich hier vorstellen:
Anbindung über RS485
Bei Recherchen habe ich mehrere Adapter probiert. Am erfolgversprechendsten war das oft angepriesene Hösi Universalgateway.
Nach meinem Verständnis kann diese allerdings gar nicht funktionieren, da die von der Heidelberg geforderten 19200/8E1 nicht in der Hösi einstellbar sind.Am Ende klappte es prima mit einem 2,75€ RS485-USB-Adapter in einer ZWEITEN Raspberry in der Garage.
Heidelberg und USB-Adapter werden mit zwei Adern eines geschirmten und verdrillten CATx-Netzwerkkabels verbunden. Auf dem Stick wird ein 120Ohm-Widerstand an den grünen Schraubklemmen mit eingesetzt. Die Heidelberg ist intern terminiert.
Einstellungen Heidelberg
DIP Schalter Config: Block S4/4 = On (ID1), S6/2 = On (Endwiderstand Ein). Die Wallbox ist somit Follower mit der ID1 ohne Master und intern terminiert.
Den Drehschalter S1 (Mitte unten) sollte man von 0 (max 6A) auf 5 (max 16A) stellen.Einrichtung Modbus RTU im ioBroker
Auf der ZWEITEN Raspberry wird ganz normal ein frisches ioBroker installiert. Als Adapter dann modbus. Dem eingesteckten RS485-USB-Stick wird /dev/ttyUSB0 zugewiesen.
Einstellungen dann auf /dev/ttyUSB0,19200/8E1 und ID1Die Eingangsregister wurden schon in anderen Postings gut beschrieben:
Die Holdingregister funktionieren bei mir (v1.0.7) nur genauso (Haken bei Abfrage) wie beschrieben:
Die Tabelle mit den Registern sollte man parat haben:
https://www.amperfied.de/wp-content/uploads/2022/06/ModBus-Register-Tabelle.pdf
https://www.amperfied.de/wp-content/uploads/2022/06/Erweiterte-ModBus-Registerbeschreibung.pdf
https://www.amperfied.de/de/service-support/downloads/
Relevant ist auch die Version der Firmware. Bei mir steht unter der Adresse 4/30005 die Decimal 263, somit habe ich die Firmware v1.0.7. Dec264 wäre v1.0.8.Box in Betrieb nehmen
Nun Instanz neu starten. Es muss grün werden, sonst weiter suchen (siehe unter Protokolle). Am einfachsten ist es, wenn dabei ein Auto angeschlossen ist, um potentielle Probleme (die ich nicht hatte) mit Standby der Box erstmal auszuschliessen.
Auto nur anschliessen, wenn die Box nicht mehr blau blinkt.Wenn man nun in die 40262 z.B. 100 für 10A schreibt, dann sollten die Modbus-Objekte für einphasiges Laden bei angeschlossenem Auto so aussehen (L1 lädt mit 10.1A):
- Erst wenn bis hier alles einwandfrei läuft und das Auto mit den manuell eingestellen Werten lädt, geht es weiter! Blockly ganz am Schluß!
- Wenn nun alles auf der zweiten Raspberry funktioniert, dann werden beide Raspberry mit Master/Slave verbunden. Ein klasse Feature von ioBroker!
Wie das mit dem Master/Slave --also multihost-- funktioniert, findet man im Internet, z.B. hier:
https://www.youtube.com/watch?v=o2AT1E0FDD0
Das Blockly zum PV-Überschussladen ist im Gegensatz zur Technik ja eine Spielwiese
Meine Gedanken dazu:
- Grafiken werden optional über InfluxdDB und Grafana/eCharts erstellt.
- der zur Verfügung stehende Überschussstrom wird bei mir über einen Sensor direkt am Zähler erfasst ==> powerfox/poweropti
https://poweropti.powerfox.energy/. Für den powerfox gibt es sogar einen iobroker-Adapter -- sehr einfache Sache.
Bei den meisten wird das sicherlich irgendwie über den Wechselrichter gehen. - bei mir hat PV-Überschuss nur einphasig Sinn. Über die Werte von L1/L2/L3 könnte man sich dreiphasiges PV-Laden bauen.
- Über VIS kann ich per Smartphone PV-Laden ausschalten, er lädt dann max (siehe weiter unten im Blockly)
- Wer will kann sich analog zu openWB noch Features wie Grundladen (Min+PV), also z.B. immer min 10A leicht einbauen
- Die Debug-Meldungen sollte man operativ noch ausblenden (rechte Maustaste auf debug und "Bausteine deaktivieren").
- Zukünftig kann man so intelligent weitere Features wie Wärmepumpe oder DIY-Solarspeicher leicht integrieren.
- Ja, sogar eine Lastverteilung unter mehreren Wallboxen, auch verschiedener Firmen, ist machbar. Die Boxen müssen nur irgendwo im ioBroker Datenpunkte ablegen, egal ob über mqtt, modbus oder sonstwas.
Kurzum, eine Spielwiese :
Und so sieht dann das alles im Betrieb aus
Rot ist der Hausverbrauch. Orange ist die Heidelberg, die sich sehr feinfühlig bemüht den Hausverbrauch zu stabilisieren.
Hauptsache nichts einspeisen
-
@nitrox9 Bitte Bilder hochladen
-
...Inhalt wurde zu erstem Posting verschoben.
-
@nitrox9 sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Wie das mit dem Master/Slave --also multihost-- funktioniert, findet man im Internet, z.B. hier:
oder hier:
https://www.iobroker.net/#de/documentation/config/multihost.md -
...Inhalt wurde zu erstem Posting verschoben.
-
@nitrox9 sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Heidelberg und USB-Adapter werden mit zwei Adern eines geschirmten und verdrillten CATx-Netzwerkkabels verbunden. Auf dem Stick wird ein 120Ohm-Widerstand an den grünen Schraubklemmen mit eingesetzt. Die Heidelberg ist intern terminiert.
@nitrox9 hast du zufällig ein Foto wie du den Widerstand eingesetzt hast?
-
@nitrox9 hast du zufällig ein Foto wie du den Widerstand eingesetzt hast?
Das sieht bei mir nicht besonders professionell aus (habe aus Mangel an passendem Widerstand zwei andere in Reihe gelötet), daher kein Foto.
Aber einfach nur ein Beinchen des 120Ohm-Widerstandes gemeinsam mit einer Ader des Kabels in die eine Seite der grünen Klemme eingeschraubt. Analog das andere Beinchen mit der anderen Ader in die andere Seite der grünen Klemme eingeschraubt.
Bei den Adern dann A (Stickseite) auf A (Heidelbergseite) und B auf B. -
@nitrox9 sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Aber einfach nur ein Beinchen des 120Ohm-Widerstandes gemeinsam mit einer Ader des Kabels in die eine Seite der grünen Klemme eingeschraubt. Analog das andere Beinchen mit der anderen Ader in die andere Seite der grünen Klemme eingeschraubt.
Bei den Adern dann A (Stickseite) auf A (Heidelbergseite) und B auf B.Alles klar, das wollte ich eigtl nur wissen
Ich hatte irgendwo auch mal ein Foto gesehen, wo es verlötet wurde, habe es aber nicht mehr gefunden. Mir fehlte die Phantasie wie das mit dem Löten aussehen würde bzw. wo genau angelötet. -
@nitrox9 vielen dank für deine Arbeit. Ich habe das ganze mit wbec aufgebaut. Das Auto ist leider noch nicht da, daher bin ich noch im Aufbau
Eine Frage habe ich zu deinem Script, ziemlich unten prüfts du Wert PVLaden=wahr auf was bezieht sich dieser Datenpunkt? ist das Quasi nur ein "Schalter"?Gruß anselra
-
@anselra sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Eine Frage habe ich zu deinem Script, ziemlich unten prüfts du Wert PVLaden=wahr auf was bezieht sich dieser Datenpunkt? ist das Quasi nur ein "Schalter"?
Ja, das ist nur ein Schalter.
Im ioBroker kann man sich ja unter Objekte => 0_userdata eigene Datenpunkte, hier als Boolean, anlegen. Somit ist das ein Schalter, den man einfach mit der VIS-GUI auf dem Handy umlegen kann. Bei Bedarf auch irgendwie per Skript.So habe ich das Script schon um einige "Features" mit diesen Datenpunkten erweitert:
- So gibt es eine "Abschaltpause", er also 5 min vor dem Abschalten mit Minimalstrom weiter lädt um Hytereseschwankungen abzufangen (schonender für Box und Auto).
- ein Schalter, wenn die Ladezicke ZOE geladen wird. Sie braucht mindestens 8A und würde bei den 6A abschalten.
Extra für die ZOE habe ich mir jetzt noch eine zweite Heidelberg Energy Control "gebraucht" bestellt. Die gibt es relativ günstig "unbenutzt und in ungeöffneter Originalverpackung", weil wohl kaum jemand diese zum PV-Laden bewegen kann
Mal sehen, wie ich Script-mäßig beide Boxen kombiniere -
@nitrox9
danke für die schnelle Antwort, ich prüfe an dem Punkt gegen eine gültige RFID und mach somit die Freigabe.(Man ist das schlimm wenn die Spielsachen (Auto) noch nicht da sind )
-
@nitrox9 Coole Sache! Danke für das HowTo!
Bei mir ist das Auto schon da, Wallbox und PV kommt noch. Bin gerade am 'diskutieren' mit den verschiedenen Lieferanten was zusammen passt. Und das hier klingt super, denn eine Heidelberg WB gefällt mir auch ganz gut. -
@nitrox9 Hallo, ich bin wirklich total neu auf diesem Gebiet unterwegs daher bitte entschuldigen wenn meine Frage unsinnig ist. Ich steh vor einer ähnlichen Herausforderung.
Zunächst einmal zu meinem System. Ich habe eine Heidelberg Energy Control Wallbox und bekomme voraussichtlich im September mein E-Auto (abhängig von Lieferengpässen). Außerdem bekomme ich in den nächsten 4 Wochen eine PV Anlage mit 9kWp und 10kWh Speicher (Viessmann VX3 8A10, eigentlich wollte ich auch den Fronius Symo Gen 24+ aber der ist erst nächstes Jahr wieder lieferbar). Im Laufe des Jahres bekommen wir dann noch eine Viessmann WP, daher, und weil wir ein unschlagbares Angebot bekommen haben, habe ich mich dann auch für das Viessmann PV-System entschieden. Ich beschäftige mich jetzt schon mit dem Thema damit im September möglichst alles läuft.
Jetzt aber zu meiner Frage, brauche ich einen Raspberry als Modbus-Adapter und einen für den Iobroker oder kann ich alles auf einem Raspberry betreiben?Gruß
-
@jdb83 sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Jetzt aber zu meiner Frage, brauche ich einen Raspberry als Modbus-Adapter und einen für den Iobroker oder kann ich alles auf einem Raspberry betreiben?
Man kann alles auf einer Raspi betreiben. Auch wenn man mehrere Raspis per multihost verteilt (bei mir laufen im Haus verteilt eben 3), so gibt es nur einen Master. Es erscheint also alles nur auf einer, die andere haben gar keine GUI mehr.
Ein tolles Feature vom ioBroker. Nicht nur Wallboxen kann man so physikalisch im Haus verteilen, auch z.B. Zigbee ist so lückenlos auf dem Gelände verteilt.Die zukünftige Viessmann WP und ein DIY Solarspeicher kommen auch noch in den ioBroker -- egal ob direkt auf dem Master oder auf einem weiteren Client
-
@nitrox9 Hallo, danke für die Antwort.
Die Kommunikation, also das schreiben und auslesen der Register, funktioniert dank deiner Informationen schon mal :-). Jetzt warte ich leider auf meine PV Anlage und mein Auto.
Ich hätte da aber noch eine Frage, kann man bei der Heidlberg Energy Control den minimalen Strom entgegen des Handbuchs unter 6A einstellen? Ist einen Umschaltung von 3 Phase auf 1 Phase möglich? Ich habe es so verstanden, dass man nur über Holding Register 40262 im ioBroker den "Maximal current command" ändert. Habe ich da etwas übersehen? Wenn das so wäre könnte ich die Ladeleistung ja nicht unter 4,2kW einstellen. -
@jdb83 Habe ein wenig weiter recherchiert und die Umschaltung von smartfox gefunden. Daher nehme ich an, dass die Umschaltung von 1 Phase auf 3 Phasen nur mit der Wallbox nicht unterstützt wird.
Mein Plan ist es jetzt mit etwas "Klappertechnik" also ein Schütz und einem Shelly 1 selber meine 1Ph/3Ph Umschaltung zu realisieren. -
@jdb83 sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Ich hätte da aber noch eine Frage, kann man bei der Heidlberg Energy Control den minimalen Strom entgegen des Handbuchs unter 6A einstellen?
Nein, es geht wie spezifiziert ausschliesslich 6-16A. Gib einfach mal unter "Maximal current command" Werte unter 60 (6A) oder über 160 (16A) ein. Die Werte werden bei unter 60 von der Heidelberg auf 0 gesetzt (aus), bei über 160 wieder auf 160.
Ist einen Umschaltung von 3 Phase auf 1 Phase möglich? Ich habe es so verstanden, dass man nur über Holding Register 40262 im ioBroker den "Maximal current command" ändert. Habe ich da etwas übersehen? Wenn das so wäre könnte ich die Ladeleistung ja nicht unter 4,2kW einstellen.
Per Software kann man die Heidelberg nicht zwischen 3/1 Phase(n) umschalten. Somit geht nur min 1380W bei 1-phasig bzw. min 4,2kW bei 3-phasig. Ich kenne deine PV-Anlage nicht, aber 6A bei 1-phasig reicht bei mir in der Praxis vollkommen aus.
Sollte man es mal wirklich eilig haben, dann kann man (bei ausgestecktem Auto!!) anstatt nur 1x Sicherung dann alle 3x Sicherung einschalten und mit 11kW laden. Wer will kann natürlich auch eine Erkennung über L1/L2/L3 einbauen und dann auch 3-phasig PV-Laden.Mein Praxistip (mit seit Jahren Erfahrungen mit 2x E-Auto): sammele erstmal Erfahrungen im Alltag. Am Anfang dachte ich auch, ich brauche 22kW und dann dreiphasiges PV-Laden. Nein, bei mir werden die Autos zwar nicht gleichzeitig aber über die Tage verteilt geladen. 1-phasig reicht vollkommen aus. So ab März sogar fast ausschliesslich über PV-Laden.
-
@nitrox9
Hallo Nitrox,vielen dank für die wirklich tolle Step by Step Erklärung :-). Ich richte meine Heidelberg EC auch gerade ein und komme an einer Stelle einfach nicht weiter. Die Kommunikation mit der Box steht würde ich sagen. Alles Grün und ich bekomme alle Werte die in den Registern stehen von der Box zurück. Dennoch blinkt sie Weiß/Blau und ich erhalte beim Charging-State IMMER nur den Wert 10 (Box locked / not Ready) zurück!
Hast Du da evtl. eine Idee? Ich verwende bis jetzt NUR den ModBus Adapter in dem ich die Werte eingetragen habe. Muss ich evtl. über ein weiteres Tool irgendwelche Parameter an die Box senden, damit sie in Betrieb geht?
Hier meine Konfiguration:
-
@roetty sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
@nitrox9
Hallo Nitrox,vielen dank für die wirklich tolle Step by Step Erklärung :-). Ich richte meine Heidelberg EC auch gerade ein und komme an einer Stelle einfach nicht weiter. Die Kommunikation mit der Box steht würde ich sagen. Alles Grün und ich bekomme alle Werte die in den Registern stehen von der Box zurück. Dennoch blinkt sie Weiß/Blau und ich erhalte beim Charging-State IMMER nur den Wert 10 (Box locked / not Ready) zurück!
Hallo Roetty, was mir auffällt:
-
sieht alles soweit gut aus. Mein erste Frage: ist ein Auto angeschlossen und was sagt innen das Auto? Ohne Auto wirst du das weiß/blaue Blinken nicht wegbekommen (wohl Standby-Problematik trotz Anzeige 40259 mit disabled).
-
Und ja, da habe ich einen Fehler gefunden: bei dir steht etwas in der 30101/30102 von 6A. Ab Werk ist innen in der Box der Drehschalter auf 6A eingestellt (in die Falle bin ich auch gelaufen). Das auf 16A stellen. Keine Ahnung, ob das dein Problem löst.
-
stelle die Werte in 40259-40263 mal so ein, wie bei mir. Wobei ich bei meiner Firmware am Ende 40259 und 40260 nicht mehr abgefragt habe (Haken bei Abfrage, machte nur Ärger, brauche ich nicht. Allerdings ist deine Instanz grün, hat er also geschluckt).
-
ich nutze auch "nur" den Modbus Adapter. Allerdings läuft bei mir iobroker in stable, also mit modbus v4.0.4 (bei dir 5.0.5)
-
Bei mir hat die 30005 die 263, also Firmware v1.0.7. Bei dir 264, also Firmware v1.0.8. Schaue nochmal in die Tabelle, ob es da Unterschiede gibt. So zeigt er ja bei mir mit 40262 nur (null) an.
Sonst ist ja technisch alles soweit am Laufen. Probiere mal meine Tipps -- wird schon
-
-
@nitrox9
Hey danke für´s Feedback. Ich habe es inzwischen am laufen :-). Mir war nicht klar, das ich die Register über ein weiteres Program/Script steuern muss. Ich hab nun mit Blockly einfach mal eine 60 an die 261 gesendet und Zack! FunktioniertVLG Rötty