Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Alpha Testing: OCPP Wallbox Adapter

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Alpha Testing: OCPP Wallbox Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • foxriver76
      foxriver76 Developer @fL4sH 0 last edited by

      @fl4sh-0 Geht bei mir auch mit 0, 0 ist immer supported, würde nur überschrieben werden wenn eine andere Anwendung ein Profil mit stackLevel höher rein schreibt.

      Nach wie vor wäre es schick die Konfig zu bekommen, dann könnte ich das maxStackLevel dynamisch auslesen und setzen. Aber for now ja schon mal was erreicht 👍

      F 1 Reply Last reply Reply Quote 0
      • F
        fL4sH 0 @foxriver76 last edited by fL4sH 0

        @foxriver76
        Ich konnte mittlerweile noch zwei Unterschiede feststellen.

        Wenn ich den Ladevorgang direkt über die Wallbox starte, in meinem Fall über RFID, dann kann ich das chargelimit anschließen im iobroker jederzeit und variabel ändern. (TxDefaultProfile???)

        Wenn ich den Ladevorgang über den iobroker starte, wird das chargelimit beim ändern nicht übernommen. Erst nach erneuter Betätigung der transactionActive = true schickt er den Remote Startbefehlt erneut mit dem geändertem chargelimit und es funktioniert.

        Das wird wahrscheinlich an den beiden verschiedenen Profilen liegen oder? TxProfile und TxDefaultProfile.

        Könnte man bei der RemoteStartTransaction ebenfalls das TxDefaultProfile nutzen oder müssen das verschiedene sein ?

        Gruß Tobias

        foxriver76 1 Reply Last reply Reply Quote 0
        • foxriver76
          foxriver76 Developer @fL4sH 0 last edited by

          @fl4sh-0 Kannst du das validieren, dass es mit TxDefaultProfile dann auch dynamisch geht? also nochmal lokal code ändern und an der stelle auch das TxDefaultProfile rein

          F 1 Reply Last reply Reply Quote 0
          • F
            fL4sH 0 @foxriver76 last edited by fL4sH 0

            @foxriver76 said in Alpha Testing: OCPP Wallbox Adapter:

            @fl4sh-0 Kannst du das validieren, dass es mit TxDefaultProfile dann auch dynamisch geht? also nochmal lokal code ändern und an der stelle auch das TxDefaultProfile rein

            Ja, jetzt kann ich es bestätigen! Wenn in beiden Codeblöcken "TxDefaultProfile" steht dann kann es über beide Wege variable eingestellt werden und muss nicht jedesmal über transactionActive bestätigt werden.
            57f4476e-abd1-4803-936c-45743c7465f8-grafik.png

            ocpp.0 2022-01-26 15:11:48.622	debug	Sending RemoteStartTransaction for /ABB-Terra-AC: {"connectorId":1,"idTag":"1","chargingProfile":{"chargingProfileId":1,"stackLevel":0,"chargingProfilePurpose":"TxDefaultProfile","chargingProfileKind":"Recurring","recurrencyKind":"Daily","chargingSchedule":{"duration":86400,"startSchedule":"2013-01-01T00:00Z","chargingRateUnit":"A","chargingSchedulePeriod":[{"startPeriod":0,"limit":8}]}}}
            
            R S 2 Replies Last reply Reply Quote 0
            • R
              ReneV @fL4sH 0 last edited by

              Hallo zusammen,

              die Erstellung dieses Adapters war eine sehr gute Idee! 👍 👏 Ich bin gespannt was sich damit alles umsetzen lässt.
              Leider scheitere ich an zwei Stellen und hoffe hier entweder zu erfahren was ich falsch mache oder einen anstoß zur Änderung / Weiterentwicklung zu liefern.

              1. Die durch den Adapter erzeugte ID der Walboxen beginnt mit einem "/". Z.B. ID = /Wallbox1.
                Dadurch ist es nicht möglich die Daten über dem Fhem Adapter zu synchronisieren. Fhem mag "/" in einem Gerätenamen nicht.
                Habe ich die Möglichkeit entsprechende Änderungen vorzunehmen oder muss das seitens der Entwicklung umgesetzt werden?

              2. Mein Plan ist es, ein "mini-" Abrechnungstool für mehrere Ladekarten zu bauen.
                Über den Adapter konnte ich bisher aber noch kein Objekt finden, das die RFID zu dem jeweils laufenden Ladezyklus bereitstellt.
                Gibt es hier Lösungen oder Pläne?

              Vielen Dank vorab 🙂

              foxriver76 1 Reply Last reply Reply Quote 0
              • foxriver76
                foxriver76 Developer @ReneV last edited by

                @renev 1. issue bei FHEM adapter erstellen analog https://github.com/iobroker-community-adapters/ioBroker.fhem/issues/126

                1. wenn du mir sagst wie das im ocpp 1.6 protokoll möglich ist, gehts schneller, sonst muss ich mal lesen bei Zeit https://www.oasis-open.org/committees/download.php/58944/ocpp-1.6.pdf
                ohobby created this issue in iobroker-community-adapters/ioBroker.fhem

                closed allowedIOBin issues to create devices on fhem #126

                R 1 Reply Last reply Reply Quote 0
                • R
                  ReneV @foxriver76 last edited by

                  @foxriver76 Vielen Dank für die schnelle Antwort!

                  Zu 1 hat Fhem eine klare Aussage:

                  Befehl (in Fhem):
                  define ocpp.0./Wallbox1.connected dummy

                  Antwort:
                  Invalid characters in name (not A-Za-z0-9._): ocpp.0./Wallbox1.connected

                  Meinst du es macht unter den Umständen Sinn ein Issue zu melden?
                  Ehrlich gesagt habe ich das Thema mit keinem anderen ioBroker Adapter.

                  Zu 2 fange ich an zu lesen und melde mich, wenn ich etwas gefunden habe.
                  Aus meiner Verzweiflung heraus habe ich es mit einem eCarUp Account versucht. Dort werden die Ladevorgänge inkl. Kartenzuordnung erkannt, allerdings entspricht der Rest nicht meinen Vorstellungen.
                  Somit steht schon fest, dass es über OCPP funktionieren muss.

                  foxriver76 1 Reply Last reply Reply Quote 0
                  • foxriver76
                    foxriver76 Developer @ReneV last edited by

                    @renev

                    Meinst du es macht unter den Umständen Sinn ein Issue zu melden?

                    Ja, iobroker erlaubt / in ids und ein Adapter der solche States synchronisiert muss damit umgehen können. Diese beispielsweise mit einem Dummy ersetzen.

                    1 Reply Last reply Reply Quote 0
                    • S
                      schwimbi @fL4sH 0 last edited by

                      @fl4sh-0 @foxriver76 Mega, da ist man eine Woche mal weg und schon läuft alles 😄 Konnte gerade testen, dass die Anpassung des Ladestroms an meinen ABB Terra ACs funktioniert. Jetzt noch eine Dummy Frage - Wie starte ich den ladevorgang über den Adapter ?

                      foxriver76 1 Reply Last reply Reply Quote 0
                      • foxriver76
                        foxriver76 Developer @schwimbi last edited by

                        @schwimbi bei meiner WB über transactionActive Außer ich habe mit `abailability' false die Box gelockt dann hat transActive keine Wirkung

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          schwimbi @foxriver76 last edited by

                          @foxriver76 @fL4sH-0 mit transactionActive bekomme ich die WB z.B. von Charging zu Finishing. Dann mit Availability von Finishing zu Available. Aber dann kann ich den Ladevorgang mit einem "true" auf transactionActive nicht starten.
                          25f5daaf-36d1-47c0-856a-92056fee7ab5-image.png

                          F 1 Reply Last reply Reply Quote 0
                          • F
                            fL4sH 0 @schwimbi last edited by fL4sH 0

                            @schwimbi said in Alpha Testing: OCPP Wallbox Adapter:

                            @foxriver76 @fL4sH-0 mit transactionActive bekomme ich die WB z.B. von Charging zu Finishing. Dann mit Availability von Finishing zu Available. Aber dann kann ich den Ladevorgang mit einem "true" auf transactionActive nicht starten.
                            25f5daaf-36d1-47c0-856a-92056fee7ab5-image.png

                            Wenn du den Stecker der Wallbox in dein Auto steckst dann sollte der Status von "Available" auf "Preparing" umspringen.
                            Anschließend kannst du mit transactionActive=true den Ladevorgang starten und der Status springt von "Preparing" auf "SuspendedEV" und dann auf "Charging" um. Jetzt holt sich der OCPP-Server jede Minute die MeterValues und die Werte sollten sich ändern.

                            Sollte das nicht funktionierten würde ich den Befehl availability=true nochmal abschicken.

                            Mit transactionActive=false kannst du den Ladevorgang wieder beenden.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              schwimbi @fL4sH 0 last edited by

                              @fl4sh-0 Hm, jetzt hat es funktioniert. Problem ist das der Tesla direkt mit dem Laden anfängt. Mit "transactionActive" kann ich nun per "false" abbrechen und immer wieder (je nach Überschuss) mit "true" starten. M E G A !!!!

                              F 1 Reply Last reply Reply Quote 0
                              • F
                                fL4sH 0 @schwimbi last edited by

                                @schwimbi said in Alpha Testing: OCPP Wallbox Adapter:

                                @fl4sh-0 Hm, jetzt hat es funktioniert. Problem ist das der Tesla direkt mit dem Laden anfängt. Mit "transactionActive" kann ich nun per "false" abbrechen und immer wieder (je nach Überschuss) mit "true" starten. M E G A !!!!

                                Wenn der Tesla über die ABB Terra direkt mit dem Ladevorgang beginnt dann hast du in deiner Wallbox das "Freie Laden" aktiviert.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  schwimbi @fL4sH 0 last edited by

                                  @fl4sh-0 @foxriver76 Ah ok vielen Dank, gibt es noch die Möglichkeit anzuzeigen ob ein Auto an der WB steckt und ggf. sogar welches ? Also ID oder Name ? - Dann könnte man die PV-Überschusssteuerung nur durchführen wenn auch wirklich ein Auto angeschlossen ist

                                  foxriver76 1 Reply Last reply Reply Quote 0
                                  • foxriver76
                                    foxriver76 Developer @schwimbi last edited by

                                    @schwimbi würde mal Stark annehmen dass über den Ladestecker keine Daten rein kommen 😀
                                    also welches Auto an der Box hängt vermutlich technisch unmöglich über die WB herauszufinden.

                                    Ob ein Auto dran hängt: bei mir springt er auf preparing wenn ein Auto dran hängt aber transaction nicht aktiv. Aber ist nicht ganz eindeutig weil bei mir auch preparing wenn nix dran hängt und transaction aktiv. Denke bei ABB ist es Villt anders

                                    F 1 Reply Last reply Reply Quote 0
                                    • F
                                      fL4sH 0 @foxriver76 last edited by fL4sH 0

                                      @schwimbi

                                      Bei der ABB Terra AC Wallbox verhält sich das so:

                                      Kein Auto ist an der Wallbox angeschlossen. Status = Available.
                                      Ein Auto ist an der Wallbox angeschlossem. Status = Preparing.
                                      Wenn der Ladevorgang abgeschlossen ist, dann wird der Status auf Finishing gesetzt.

                                      Im Status Preparing und Finishing kann jeweils der Ladevorgang über TransactionActive=true gestartet werden. Mit diesen beiden Werten kannst du über ein Script die PV-Überschussladung steuern.

                                      Hier ist mein aktueller Script für die PV-Überschussladung:

                                      var timeout;
                                      
                                      
                                      schedule("*/5 * * * *", async function () {
                                        if (getState("ocpp.0./ABB-Terra-AC.transactionActive").val == false && (getState("ocpp.0./ABB-Terra-AC.status").val == 'Preparing' || getState("ocpp.0./ABB-Terra-AC.status").val == 'Finishing') && getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val >= 5500) {
                                          setState("ocpp.0./ABB-Terra-AC.transactionActive"/*Transaction active*/, true);
                                          setState("0_userdata.0.Haushalt.PV_Status"/*PV_Status*/, 'PV');
                                          sendTo("telegram", "send", {
                                              text: (['⚡ PV-Überschuss: Aktiv','\n','Erzeugung > 5,5 kW:'].join(''))
                                          });
                                          (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                        } else if (getState("modbus.0.inputRegisters.4.30845_Aktueller_Batteriestand (%)").val >= 50 && getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val >= 3000 && (getState("ocpp.0./ABB-Terra-AC.status").val == 'Preparing' || getState("ocpp.0./ABB-Terra-AC.status").val == 'Finishing') && getState("ocpp.0./ABB-Terra-AC.transactionActive").val == false) {
                                          setState("ocpp.0./ABB-Terra-AC.transactionActive"/*Transaction active*/, true);
                                          setState("0_userdata.0.Haushalt.PV_Status"/*PV_Status*/, 'PV');
                                          sendTo("telegram", "send", {
                                              text: (['⚡ PV-Überschuss: Aktiv','\n','Hausspeicher > 50%:'].join(''))
                                          });
                                          (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                        } else if (getState("0_userdata.0.Haushalt.PV_Status").val == 'PV' && getState("ocpp.0./ABB-Terra-AC.transactionActive").val == true && getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val <= 2000) {
                                          timeout = setTimeout(async function () {
                                            setState("ocpp.0./ABB-Terra-AC.transactionActive"/*Transaction active*/, false);
                                            setState("0_userdata.0.Haushalt.PV_Status"/*PV_Status*/, 'Netz');
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 10);
                                            sendTo("telegram", "send", {
                                                text: ('⚡ PV-Überschuss: Inaktiv')
                                            });
                                          }, 60000);
                                        }
                                      });
                                      
                                      schedule("* * * * *", async function () {
                                        if (getState("0_userdata.0.Haushalt.PV_Status").val == 'PV') {
                                          if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 8000) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 16);
                                            // 2-Phasig 7360 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 7500) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 15);
                                            // 2-Phasig 6900 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 7000) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 14);
                                            // 2-Phasig 6440 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 6500) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 13);
                                            // 2-Phasig 5980 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 6000) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 12);
                                            // 2-Phasig 5520 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 5500) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 11);
                                            // 2-Phasig 5060 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 5000) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 10);
                                            // 2-Phasig 4600 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 4500) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 9);
                                            // 2-Phasig 4140 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 4000) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 8);
                                            // 2-Phasig 3680 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val > 3500) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 7);
                                            // 2-Phasig 3220 W Ladestrom
                                          } else if (getState("modbus.1.inputRegisters.3.30775_Wirkleistung_gesamt (W)").val <= 3500) {
                                            setState("ocpp.0./ABB-Terra-AC.chargeLimit"/*Limit Ampere of Charger*/, 6);
                                            // 2-Phasig 2760 W Ladestrom
                                          }
                                        }
                                      });
                                      
                                      H 1 Reply Last reply Reply Quote 0
                                      • H
                                        hardwarefreak @fL4sH 0 last edited by hardwarefreak

                                        @fl4sh-0

                                        würde auch gern mal den Adapter von foxriver76 ausprobieren.
                                        Habe ihn bereits installiert, bekomme aber in der Instanz immer:
                                        17a08160-5e1f-4181-a6a8-0d65d2dcac11-image.png
                                        angezeigt.

                                        Ist das ok?

                                        Vielen Dank

                                        H foxriver76 2 Replies Last reply Reply Quote 0
                                        • H
                                          hardwarefreak @hardwarefreak last edited by hardwarefreak

                                          @fl4sh-0

                                          habe die Integration meiner Terra Box gerade selbst hinbekommen, hatte übersehen, das der Typ auf "wss://" statt auf "ws://" stand.

                                          ich wundere mich noch über die Warnungen im LOG:

                                          41d91698-d3b4-491d-9da7-12dad3fad179-image.png

                                          und

                                          0a6a44f8-f892-403e-b41e-e54a41c07cec-image.png

                                          Habe ich etwas übersehen?

                                          Worüber bringe ich dein Script für die PV-Überschussladung zur Ausführung im iobroker?

                                          F 1 Reply Last reply Reply Quote 0
                                          • foxriver76
                                            foxriver76 Developer @hardwarefreak last edited by

                                            @hardwarefreak Hast du noch einen Admin < 5?

                                            Bzgl. der Warnung im Log die fixe ich.

                                            F H 3 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            568
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter ocpp wallbox
                                            48
                                            439
                                            70882
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo