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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alpha Testing: OCPP Wallbox Adapter

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

      @foxriver76 said in Alpha Testing: OCPP Wallbox Adapter:

      @fl4sh-0 Super, sprich mit der aktuellen Version kannst du das chargeLimit zwischen Untergrenze/Obergrenze korrekt setzen, ist bei mir dasselbe, geht glaube nur zwischen 6 und 16 A. 👍

      Dann veröffentliche ich die Version mal auf npm

      Funktioniert diese Version mit dem Stacklevel = 0 bei dir denn auch ? oder müsste man da noch eine Auswahl im Adapter einplanen ?

      foxriver76 1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            633
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter ocpp wallbox
                                            48
                                            440
                                            78392
                                            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