NEWS
Heidelberg Energy Control / PV-Laden / Modbus / Blockly
Heidelberg Energy Control / PV-Laden / Modbus / Blockly
-
@iobrokerin Rein technisch brauchst du nur zwei Adern. Also nein, du brauchst nicht zwingend ein geschirmtes und verdrilltes Kabel.
Von der sauberen und störungsfreien Durchführung her, ist das natürlich zu empfehlen.
Aber wenn es Probleme in der Datenkommunikation gibt, dann weißt du wenigstens wo du suchen musst
@nitrox9 ok, Spitze. Welchen ModBus 2 USB Adapter hast du gekauft? Abschliessen tue ich das dann mit einem 150 Ohm Widerstand, reingeklemmt zw. die beiden Anschlussklemmen, richtig?
-
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 ID1
Die 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 said in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Die if Abfragen könnte man etwas kürzen - hier mal ein Code-Snippet:

-
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 ID1
Die 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 Hallo nochmal, ich verstehe nicht, warum bei deinem Screenshot alle Adressen eines höher sind, als in der Tabelle von Heidelberg.
Z. B. ist die Adresse 30005 die "Modbus Register-Layouts Version" in der Heidelbergadresse auf der Bus-Adresse 4 und nicht 5. Hat das einen Grund?
-
@nitrox9 Hallo nochmal, ich verstehe nicht, warum bei deinem Screenshot alle Adressen eines höher sind, als in der Tabelle von Heidelberg.
Z. B. ist die Adresse 30005 die "Modbus Register-Layouts Version" in der Heidelbergadresse auf der Bus-Adresse 4 und nicht 5. Hat das einen Grund?
@iobrokerin sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
@nitrox9 Hallo nochmal, ich verstehe nicht, warum bei deinem Screenshot alle Adressen eines höher sind, als in der Tabelle von Heidelberg.
Hat was mit dem Modbus-Protokoll, dem Offset und auch den Herstellerangaben zu tun.
Google mal nach „modbus offset +1“ oder so. -
Auch bringen die 16A leider nichts. Immer noch der Charging State 4. Ich habe einen E-Golf dran! Ich habe hier einmal den aktuellen Status als Bild und auch die Erklärung zu den ChargingStates. Falls hier noch jemand eine Idee hat...



-
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 ID1
Die 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

Dem eingesteckten RS485-USB-Stick wird /dev/ttyUSB0 zugewiesen.
Wie macht man denn die Zuweisung?
-
Dem eingesteckten RS485-USB-Stick wird /dev/ttyUSB0 zugewiesen.
Wie macht man denn die Zuweisung?
OK, habe es hinbekommen. Ich habe nun das Skript nachgebaut. Ich habe noch folgende Verbesserung eingebaut:
Bei der Glättung dekrementierst du den Timer immer, wenn der Ladestrom = 0 ist, wenn der integer-Timer-Wert allerdings umbricht, dann lädst du immer mit Ladestrom = 60. Ich weiss jetzt nicht, ob das ein Praxisrelevanter Fall ist, aber eine Abfrage beim Dekrementieren, ob der Timer > 0 ist behebt das Problem... -
@iobrokerin sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
@nitrox9 Hallo nochmal, ich verstehe nicht, warum bei deinem Screenshot alle Adressen eines höher sind, als in der Tabelle von Heidelberg.
Hat was mit dem Modbus-Protokoll, dem Offset und auch den Herstellerangaben zu tun.
Google mal nach „modbus offset +1“ oder so.@nitrox9 Hallo nitrox,
Dein Beitrag ist sehr toll und war mir sehr hilfreich bis jetzt. Danke schonmal hierfür. Ein Problem habe ich aktuell noch. Vielleicht kannst du mir da ja helfen. Ich habe die Heidelberg nun erfolgreich via Modbus TCP im Io Broker eingebunden und kann auch alle Werte einlesen. Problem ist: Ich kann den Maximal Current command nich wirklich regeln. Sobald ich im maximal current command einen Wert setze (z.B. 160) wird dieser zwar kurz grün, springt nach 1 s aber sofort wieder auf den Wert des FailSafe current. Das heißt der maximal current command passt sich immer automatisch an den Failsafe current an. Sprich: was im FailSafe steht, steht auch im maximal current. Sobald ich den FailSafe ändere, ändert sich der maximal Current Wert automatisch mit. Woran könnte das denn liegen? Ich wäre dir sehr dankbar, über eine Antwort!Liebe Grüße, Leon.

-
@nitrox9 Hallo nitrox,
Dein Beitrag ist sehr toll und war mir sehr hilfreich bis jetzt. Danke schonmal hierfür. Ein Problem habe ich aktuell noch. Vielleicht kannst du mir da ja helfen. Ich habe die Heidelberg nun erfolgreich via Modbus TCP im Io Broker eingebunden und kann auch alle Werte einlesen. Problem ist: Ich kann den Maximal Current command nich wirklich regeln. Sobald ich im maximal current command einen Wert setze (z.B. 160) wird dieser zwar kurz grün, springt nach 1 s aber sofort wieder auf den Wert des FailSafe current. Das heißt der maximal current command passt sich immer automatisch an den Failsafe current an. Sprich: was im FailSafe steht, steht auch im maximal current. Sobald ich den FailSafe ändere, ändert sich der maximal Current Wert automatisch mit. Woran könnte das denn liegen? Ich wäre dir sehr dankbar, über eine Antwort!Liebe Grüße, Leon.

@leonledule
Ich habe gerade mal in mein Skript geschaut, offenbar hatte ich da auch mal Probleme, denn ich schalte beides gleichzeitig
Also die 160 in die Maximal (40262) UND in die Failsafe (40263) schreiben -- geht
-
@leonledule
Ich habe gerade mal in mein Skript geschaut, offenbar hatte ich da auch mal Probleme, denn ich schalte beides gleichzeitig
Also die 160 in die Maximal (40262) UND in die Failsafe (40263) schreiben -- geht
@nitrox9 Ok, habs jetz mal so:

Ich denke so hast du es gemeint. Das funktioniert auch:

Danke für deine Hilfe!
-
@nitrox9 Ok, habs jetz mal so:

Ich denke so hast du es gemeint. Das funktioniert auch:

Danke für deine Hilfe!
@leonledule Ja, ungefähr so. Ich habe da auch mit "aktualisiere" anstatt "steuere" gearbeitet -- aber das sehe ich pragmatisch

-
@leonledule Ja, ungefähr so. Ich habe da auch mit "aktualisiere" anstatt "steuere" gearbeitet -- aber das sehe ich pragmatisch

@nitrox9 Alles klar

danke. -
@leonledule Ja, ungefähr so. Ich habe da auch mit "aktualisiere" anstatt "steuere" gearbeitet -- aber das sehe ich pragmatisch

@nitrox9
Hallo Nitrox,Nun funktioniert alles super durch deine Hilfe. Ich kann alle Werte der Wallbox einlesen und schreiben und habe bereits mein Überschuss Script, welches wunderbar funktioniert. Das Script ist nur zum einphasigen Laden. Könnte man das auch umbasteln, um dreiphasig zu regeln? Meine Frage dazu: Ich habe ja den Maximal Current Command. Kann ich damit die Phasen beim Laden irgendwie einzeln regeln, oder regelt der Maximal Current Command beim dreiphasigen Laden alles Phasen gleichzeitig, sprich wenn ich 6A einstelle lädt er auf allen 3 Phasen mit 6 A ?
Liebe Grüße
Leon


-
@nitrox9
Hallo Nitrox,Nun funktioniert alles super durch deine Hilfe. Ich kann alle Werte der Wallbox einlesen und schreiben und habe bereits mein Überschuss Script, welches wunderbar funktioniert. Das Script ist nur zum einphasigen Laden. Könnte man das auch umbasteln, um dreiphasig zu regeln? Meine Frage dazu: Ich habe ja den Maximal Current Command. Kann ich damit die Phasen beim Laden irgendwie einzeln regeln, oder regelt der Maximal Current Command beim dreiphasigen Laden alles Phasen gleichzeitig, sprich wenn ich 6A einstelle lädt er auf allen 3 Phasen mit 6 A ?
Liebe Grüße
Leon


@leonledule
Super!
Ja, der "Maximal Current Command" gilt für alle drei Phasen gleichzeitig, somit dann 3x6A gleichzeitig. -
@nitrox9
Hallo Nitrox,Nun funktioniert alles super durch deine Hilfe. Ich kann alle Werte der Wallbox einlesen und schreiben und habe bereits mein Überschuss Script, welches wunderbar funktioniert. Das Script ist nur zum einphasigen Laden. Könnte man das auch umbasteln, um dreiphasig zu regeln? Meine Frage dazu: Ich habe ja den Maximal Current Command. Kann ich damit die Phasen beim Laden irgendwie einzeln regeln, oder regelt der Maximal Current Command beim dreiphasigen Laden alles Phasen gleichzeitig, sprich wenn ich 6A einstelle lädt er auf allen 3 Phasen mit 6 A ?
Liebe Grüße
Leon


@leonledule sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Ich habe ja den Maximal Current Command. Kann ich damit die Phasen beim Laden irgendwie einzeln regeln,
Wenn du auf die Idee kommst, die Sicherungen L2+L3 nur bei Bedarf zuzuschalten, dann auf jeden Fall nur (!!!!!) bei ausgestecktem Auto.
-
@leonledule
Super!
Ja, der "Maximal Current Command" gilt für alle drei Phasen gleichzeitig, somit dann 3x6A gleichzeitig.@nitrox9 Ok.
-
@leonledule sagte in Heidelberg Energy Control / PV-Laden / Modbus / Blockly:
Ich habe ja den Maximal Current Command. Kann ich damit die Phasen beim Laden irgendwie einzeln regeln,
Wenn du auf die Idee kommst, die Sicherungen L2+L3 nur bei Bedarf zuzuschalten, dann auf jeden Fall nur (!!!!!) bei ausgestecktem Auto.
@nitrox9 Ja, das auf jeden Fall! Habe sowieso nicht vor Phasen wegzuschalten.
-
@nitrox9 Ja, das auf jeden Fall! Habe sowieso nicht vor Phasen wegzuschalten.
Hallo, habe das ganze heute versucht über einen ew11 wifi zu rs485 adapter zu realisieren, leider blickt meine wallbox nur dumm rum direkt nach dem einschalten, per iobroker klappt die verbindung nicht, mit qmodmaster wird ab und zu was ausgelesen aber komme halt nicht wirklich weiter da die wallbox direkt in fehler mode geht...
auto anstecken zum standbuy vermeiden habe ich versucht aber leider auch erfolgslos, ich hoffe ihr könnt mir irgendwie helfen
-
@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 Hi Nitrox, danke für deine detaillierte Beschreibung! Zwei Fragen noch zu deinem Blockly-Skript (danke übrigens fürs Veröffentlichen des Skripts! Echt klasse!):
- Grundsätzlich finde ich den Tipp sehr gut, eine Hysterese-Bedingung mit einzubauen, wenn dies schonender für Box und Auto ist. Kannst du diesen Punkt genauer erklären? Ich verstehe einfach nicht, warum das Beenden nach (sagen wir mal) 2h und 5 Minuten besser ist als das Beenden des Ladevorgangs nach 2h. Am Ende gebe ich doch der Wallbox den Befehl, den Ladestrom so oder so von 60 auf 0 runterzufahren (oder auch von z.B. 80 auf 0, wenn auf einmal der PV-Überschuss deutlich sinkt). Sorry für die Laien-Frage, aber ich würde es gerne verstehen.
- Gibt es einen bestimmten Grund, weshalb du die Wallbox in 1A-Schritten steuerst (also bei 1-phasigem Laden in 230W-Schritten)? Grundsätzlich kann die Energy Control doch in 0,1-A-Schritten gesteuert werden und ist somit noch feinfühliger. Klar, das würde das Skript verlängern. Aber man könnte ja auch die Vorgabe nicht in viele Einzelbedingungen, sondern auch als geschickte Formel angeben. Ich muss aber zugeben, dass die beispielhafte Grafik von dir schon echt beeindruckend aussieht. Es scheint also so, als würde eine genauere Einstellung auch nicht viel mehr bringen :-). Vielleicht kannst du es trotzdem kurz kommentieren?
Danke!
-
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 ID1
Die 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 danke für die umfangreiche Erklärung und die Links! Ich habe soweit alles entsprechend umgesetzt, bekomme nun aber im Modbus Adapter nicht dev/ttyUSB0, sondern dev/ttyAMA0 angezeigt. Auch wechselt der Adapter ständig von gelb nach grün, Werte sind noch keine angekommen. Weißt du, oder jemand hier aus der Runde, Rat? Danke vorab, Markus