Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Heidelberg Energy Control / PV-Laden / Modbus / Blockly

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Heidelberg Energy Control / PV-Laden / Modbus / Blockly

Geplant Angeheftet Gesperrt Verschoben Hardware
73 Beiträge 22 Kommentatoren 22.2k Aufrufe 22 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N nitrox9

    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.

    935a2b03-a238-4c8f-8514-4ac158d52ceb-image.png

    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.

    6355287d-990c-492d-afe7-04c64cb1aea1-image.png

    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

    060a449f-06d3-499c-b2d5-caa6ded02567-image.png

    Die Eingangsregister wurden schon in anderen Postings gut beschrieben:

    ab9e9a92-6fb9-4b13-9ccc-642981e55e38-image.png

    Die Holdingregister funktionieren bei mir (v1.0.7) nur genauso (Haken bei Abfrage) wie beschrieben:

    7a884f21-6053-4ad8-9a36-88af184e9d7f-image.png

    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):

    e0db5089-5228-4c76-ae9e-39bc86d75b0f-image.png

    • 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 :-) :

    e562f18d-edf7-440a-bf65-fb49d9a58cb9-image.png

    c64253a6-5222-4470-b64a-94105cfc5807-image.png

    Und so sieht dann das alles im Betrieb aus

    4acf22fd-5bba-48ad-b66e-8922ccaf5285-image.png

    Rot ist der Hausverbrauch. Orange ist die Heidelberg, die sich sehr feinfühlig bemüht den Hausverbrauch zu stabilisieren.

    Hauptsache nichts einspeisen ;-)

    I Offline
    I Offline
    iobrokerin
    schrieb am zuletzt editiert von
    #38

    @nitrox9

    Dem eingesteckten RS485-USB-Stick wird /dev/ttyUSB0 zugewiesen.

    Wie macht man denn die Zuweisung?

    I 1 Antwort Letzte Antwort
    0
    • I iobrokerin

      @nitrox9

      Dem eingesteckten RS485-USB-Stick wird /dev/ttyUSB0 zugewiesen.

      Wie macht man denn die Zuweisung?

      I Offline
      I Offline
      iobrokerin
      schrieb am zuletzt editiert von
      #39

      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...

      1 Antwort Letzte Antwort
      0
      • N nitrox9

        @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.

        L Offline
        L Offline
        leonledule
        schrieb am zuletzt editiert von leonledule
        #40

        @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.

        objects.JPG input.JPG holding.JPG

        N 1 Antwort Letzte Antwort
        0
        • L leonledule

          @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.

          objects.JPG input.JPG holding.JPG

          N Offline
          N Offline
          nitrox9
          schrieb am zuletzt editiert von
          #41

          @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 ;-)

          L 1 Antwort Letzte Antwort
          0
          • N nitrox9

            @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 ;-)

            L Offline
            L Offline
            leonledule
            schrieb am zuletzt editiert von
            #42

            @nitrox9 Ok, habs jetz mal so:Unbenannt.JPG
            Ich denke so hast du es gemeint. Das funktioniert auch:
            Unbenannt2.JPG

            Danke für deine Hilfe!

            N 1 Antwort Letzte Antwort
            0
            • L leonledule

              @nitrox9 Ok, habs jetz mal so:Unbenannt.JPG
              Ich denke so hast du es gemeint. Das funktioniert auch:
              Unbenannt2.JPG

              Danke für deine Hilfe!

              N Offline
              N Offline
              nitrox9
              schrieb am zuletzt editiert von
              #43

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

              L 2 Antworten Letzte Antwort
              0
              • N nitrox9

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

                L Offline
                L Offline
                leonledule
                schrieb am zuletzt editiert von
                #44

                @nitrox9 Alles klar :)
                danke.

                1 Antwort Letzte Antwort
                0
                • N nitrox9

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

                  L Offline
                  L Offline
                  leonledule
                  schrieb am zuletzt editiert von
                  #45

                  @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

                  05b3ea32-037b-4f55-94b2-f8d0e6e4543e-grafik.png
                  2b3e0cdc-355d-43f1-8287-21aa9c1d8d13-grafik.png
                  0a0b73b7-a2d6-4138-8011-d01a31085e9e-grafik.png

                  N 2 Antworten Letzte Antwort
                  0
                  • L leonledule

                    @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

                    05b3ea32-037b-4f55-94b2-f8d0e6e4543e-grafik.png
                    2b3e0cdc-355d-43f1-8287-21aa9c1d8d13-grafik.png
                    0a0b73b7-a2d6-4138-8011-d01a31085e9e-grafik.png

                    N Offline
                    N Offline
                    nitrox9
                    schrieb am zuletzt editiert von
                    #46

                    @leonledule
                    Super!
                    Ja, der "Maximal Current Command" gilt für alle drei Phasen gleichzeitig, somit dann 3x6A gleichzeitig.

                    L 1 Antwort Letzte Antwort
                    0
                    • L leonledule

                      @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

                      05b3ea32-037b-4f55-94b2-f8d0e6e4543e-grafik.png
                      2b3e0cdc-355d-43f1-8287-21aa9c1d8d13-grafik.png
                      0a0b73b7-a2d6-4138-8011-d01a31085e9e-grafik.png

                      N Offline
                      N Offline
                      nitrox9
                      schrieb am zuletzt editiert von nitrox9
                      #47

                      @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.

                      L 1 Antwort Letzte Antwort
                      0
                      • N nitrox9

                        @leonledule
                        Super!
                        Ja, der "Maximal Current Command" gilt für alle drei Phasen gleichzeitig, somit dann 3x6A gleichzeitig.

                        L Offline
                        L Offline
                        leonledule
                        schrieb am zuletzt editiert von
                        #48

                        @nitrox9 Ok.

                        1 Antwort Letzte Antwort
                        0
                        • N nitrox9

                          @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.

                          L Offline
                          L Offline
                          leonledule
                          schrieb am zuletzt editiert von leonledule
                          #49

                          @nitrox9 Ja, das auf jeden Fall! Habe sowieso nicht vor Phasen wegzuschalten.

                          mmoeller53M 1 Antwort Letzte Antwort
                          0
                          • L leonledule

                            @nitrox9 Ja, das auf jeden Fall! Habe sowieso nicht vor Phasen wegzuschalten.

                            mmoeller53M Offline
                            mmoeller53M Offline
                            mmoeller53
                            schrieb am zuletzt editiert von
                            #50

                            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

                            Bild_2023-01-20_172105262.png

                            1 Antwort Letzte Antwort
                            0
                            • N nitrox9

                              @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 :joy:
                              Mal sehen, wie ich Script-mäßig beide Boxen kombiniere :-)

                              D Offline
                              D Offline
                              dawoern
                              schrieb am zuletzt editiert von
                              #51

                              @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!):

                              1. 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.
                              2. 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!
                              alkA 1 Antwort Letzte Antwort
                              0
                              • N nitrox9

                                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.

                                935a2b03-a238-4c8f-8514-4ac158d52ceb-image.png

                                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.

                                6355287d-990c-492d-afe7-04c64cb1aea1-image.png

                                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

                                060a449f-06d3-499c-b2d5-caa6ded02567-image.png

                                Die Eingangsregister wurden schon in anderen Postings gut beschrieben:

                                ab9e9a92-6fb9-4b13-9ccc-642981e55e38-image.png

                                Die Holdingregister funktionieren bei mir (v1.0.7) nur genauso (Haken bei Abfrage) wie beschrieben:

                                7a884f21-6053-4ad8-9a36-88af184e9d7f-image.png

                                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):

                                e0db5089-5228-4c76-ae9e-39bc86d75b0f-image.png

                                • 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 :-) :

                                e562f18d-edf7-440a-bf65-fb49d9a58cb9-image.png

                                c64253a6-5222-4470-b64a-94105cfc5807-image.png

                                Und so sieht dann das alles im Betrieb aus

                                4acf22fd-5bba-48ad-b66e-8922ccaf5285-image.png

                                Rot ist der Hausverbrauch. Orange ist die Heidelberg, die sich sehr feinfühlig bemüht den Hausverbrauch zu stabilisieren.

                                Hauptsache nichts einspeisen ;-)

                                F Offline
                                F Offline
                                Finkinho
                                schrieb am zuletzt editiert von
                                #52

                                @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

                                R 1 Antwort Letzte Antwort
                                0
                                • F Finkinho

                                  @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

                                  R Offline
                                  R Offline
                                  Raducanu
                                  schrieb am zuletzt editiert von
                                  #53

                                  Kurze Frage zum Verhalten der Wallbox:
                                  Wie verhältsich die Wallbox zwischen 1 / 3 phasen Laden und dem "max. current command"

                                  1phasiges Laden
                                  Max Current Command
                                  60 - 160 (6-16A) * 240V = 1,4kW - 3,8kW Ladeleistung

                                  3phasiges Laden
                                  Max Current Command
                                  60 - 160 (6-16A) * 240V * 3 = 4,2kW - 11,4kW Ladeleistung

                                  Stecke ich nun ein 1-phasen PKW (z.B. PlugIn Hybrid von meinen Vater) an sollte nur einer der Modbus 30007 - 30009 (L1/L2/L3 Current) Register eine Ladeleistung anzeigen. 2/3 bleiben auf 0

                                  Stecke ich nun ein 3-phasen PKW an zeigen alle drei Register eine Ladeleistung an.
                                  Heißt beim berechnen des "40261 max. current command" Wertes für eine PV-Überschussladung muß ich vorher schauen ob das Auto 1 oder 3 phasig läd?

                                  Vielen Dank

                                  D 1 Antwort Letzte Antwort
                                  0
                                  • D dawoern

                                    @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!):

                                    1. 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.
                                    2. 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!
                                    alkA Online
                                    alkA Online
                                    alk
                                    schrieb am zuletzt editiert von
                                    #54

                                    @dawoern Vielleicht hilft Dir diese Beschreibung, um noch ein paar Hintergrundinfos zu sammeln -->

                                    Mit E3DC S10E und KEBA P30 C-Serie PV optimiert EV laden
                                    https://forum.iobroker.net/topic/65668/mit-e3dc-s10e-und-keba-p30-c-serie-pv-optimiert-ev-laden

                                    Grundsätzlich sollte der Weg zum PV optimierten laden nicht sehr unterschiedlich sein.

                                    LG
                                    alk

                                    • DIY Electronics that do their job
                                    • EV, WB, PV + Battery and optimized charging ;-)
                                    1 Antwort Letzte Antwort
                                    0
                                    • R Raducanu

                                      Kurze Frage zum Verhalten der Wallbox:
                                      Wie verhältsich die Wallbox zwischen 1 / 3 phasen Laden und dem "max. current command"

                                      1phasiges Laden
                                      Max Current Command
                                      60 - 160 (6-16A) * 240V = 1,4kW - 3,8kW Ladeleistung

                                      3phasiges Laden
                                      Max Current Command
                                      60 - 160 (6-16A) * 240V * 3 = 4,2kW - 11,4kW Ladeleistung

                                      Stecke ich nun ein 1-phasen PKW (z.B. PlugIn Hybrid von meinen Vater) an sollte nur einer der Modbus 30007 - 30009 (L1/L2/L3 Current) Register eine Ladeleistung anzeigen. 2/3 bleiben auf 0

                                      Stecke ich nun ein 3-phasen PKW an zeigen alle drei Register eine Ladeleistung an.
                                      Heißt beim berechnen des "40261 max. current command" Wertes für eine PV-Überschussladung muß ich vorher schauen ob das Auto 1 oder 3 phasig läd?

                                      Vielen Dank

                                      D Offline
                                      D Offline
                                      dawoern
                                      schrieb am zuletzt editiert von
                                      #55

                                      @raducanu Da du ja (so nehme ich an) ein Skript hast, in dem aus dem aktuellen PV-Überschuss der vorgegebene maximale Ladestrom vorgegeben wird, hast du ja vermutlich auch bereits eine Variable (Anzahl_Phasen oder so), mit der du die Vorgabe machen kannst. Dann hast du meiner Meinung nach zwei Möglichkeiten: 1. Wie du schon schreibst: Vorher entscheiden, wie viele Phasen du brauchst und die globale Variable mit diesem Wert setzen (z.B. auch über einen Schalter in deiner Visualisierung?).
                                      2. Komfortabler wäre es, wenn du in deinem Skript eine kleine Logik einbaust, die prüft, wie viele Phasen gerade tatsächlich laufen (natürlich nur dann, wenn auch aktuell geladen wird, erkennbar am Ladestatus, sonst kriegst du eine 0 zurück). Wenn nur eine Phase unter Strom steht, dann setzt du "Anzahl_Phasen" = 1, sonst auf 3. Dabei kann es natürlich passieren, dass du am Anfang des Ladens für kurze Zeit eine zu hohe (hättest zu viel Strom bezogen) oder eine zu niedrige Stromstärke (hättest etwas Strom zu viel eingespeist) vorgibst, aber spätestens beim nächsten Durchlauf (weiß nicht, wie oft dein Skript die Ladeleistung anpasst: jede Minute, Sekunde, etc....) würde dann die Leistung genau passen. Wir reden dann also nur von einer recht kurzen Zeit, in der die Anzahl nicht passen würde.

                                      1 Antwort Letzte Antwort
                                      0
                                      • G Offline
                                        G Offline
                                        gonzo1101
                                        schrieb am zuletzt editiert von gonzo1101
                                        #56

                                        Hallo
                                        Ich habe eine Heidelberg und den Iobroker etc. & kann alles auslesen. :clap:
                                        Ich habe zwei anliegen. Mit blockly kenn ich mich null :anguished: aus und daher meine bitte eure versionen mir anschauen zu können bzgl laden und PV-überschussladen.
                                        die Zweite bitte.. wie kannich mir einen Button zusammen bauen und was muß ich ansprechen damit ich sofort laden kann... zb. nachts..
                                        thx im vorraus
                                        euch allen eine ruhige Woche

                                        1 Antwort Letzte Antwort
                                        0
                                        • N nitrox9

                                          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.

                                          935a2b03-a238-4c8f-8514-4ac158d52ceb-image.png

                                          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.

                                          6355287d-990c-492d-afe7-04c64cb1aea1-image.png

                                          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

                                          060a449f-06d3-499c-b2d5-caa6ded02567-image.png

                                          Die Eingangsregister wurden schon in anderen Postings gut beschrieben:

                                          ab9e9a92-6fb9-4b13-9ccc-642981e55e38-image.png

                                          Die Holdingregister funktionieren bei mir (v1.0.7) nur genauso (Haken bei Abfrage) wie beschrieben:

                                          7a884f21-6053-4ad8-9a36-88af184e9d7f-image.png

                                          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):

                                          e0db5089-5228-4c76-ae9e-39bc86d75b0f-image.png

                                          • 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 :-) :

                                          e562f18d-edf7-440a-bf65-fb49d9a58cb9-image.png

                                          c64253a6-5222-4470-b64a-94105cfc5807-image.png

                                          Und so sieht dann das alles im Betrieb aus

                                          4acf22fd-5bba-48ad-b66e-8922ccaf5285-image.png

                                          Rot ist der Hausverbrauch. Orange ist die Heidelberg, die sich sehr feinfühlig bemüht den Hausverbrauch zu stabilisieren.

                                          Hauptsache nichts einspeisen ;-)

                                          I Offline
                                          I Offline
                                          iobrokerin
                                          schrieb am zuletzt editiert von iobrokerin
                                          #57

                                          @nitrox9 Hi, ich habe ein Problem - ich kriege es nicht zum Laufen. Die IOBroker Verbdinung zur Box scheint zu stehen. Der Adapter wird grün. Ich kann die Werte alle auslesen und auch schreiben. Soweit so gut.

                                          Allerdings blinkt meine Box 6 x weiss und 3 x blau, und zwar nach dem Muster:
                                          480cb66b-c341-4e56-abdd-c250b630f805-image.png

                                          ich in mir jetzt nicht sicher, aber ich denke am Anfang hat die Box weiss geleuchtet. Ich habe dann natürlich auch mal mein Auto angesteckt, das hat aber dann nicht geladen und ich wollte der Sache auf den Grund gehen und dabei diese Blink-Sequenz entdeckt.

                                          Hat jemand oder Du @nitrox9 einen Tipp für mich?

                                          So sehen meine Register aus:
                                          706393e7-3668-4aa7-8255-4326c339f246-image.png

                                          I 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          665

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe