NEWS
Alpha Testing: OCPP Wallbox Adapter
-
@renev 1. issue bei FHEM adapter erstellen analog https://github.com/iobroker-community-adapters/ioBroker.fhem/issues/126
- 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
-
@foxriver76 Vielen Dank für die schnelle Antwort!
Zu 1 hat Fhem eine klare Aussage:
Befehl (in Fhem):
define ocpp.0./Wallbox1.connected dummyAntwort:
Invalid characters in name (not A-Za-z0-9._): ocpp.0./Wallbox1.connectedMeinst 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. -
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. -
@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 ?
-
@schwimbi bei meiner WB über
transactionActive
Außer ich habe mit `abailability' false die Box gelockt dann hat transActive keine Wirkung -
@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.
-
@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.
Wenn du den Stecker der Wallbox in dein Auto steckst dann sollte der Status von "Available" auf "Preparing" umspringen.
Anschließend kannst du mittransactionActive=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. -
@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 !!!!
-
@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.
-
@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
-
@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
-
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 aufFinishing
gesetzt.Im Status
Preparing
undFinishing
kann jeweils der Ladevorgang überTransactionActive=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 } } });
-
würde auch gern mal den Adapter von foxriver76 ausprobieren.
Habe ihn bereits installiert, bekomme aber in der Instanz immer:
angezeigt.Ist das ok?
Vielen Dank
-
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:
und
Habe ich etwas übersehen?
Worüber bringe ich dein Script für die PV-Überschussladung zur Ausführung im iobroker?
-
@hardwarefreak Hast du noch einen Admin < 5?
Bzgl. der Warnung im Log die fixe ich.
-
Moin,
ich habe die Firmware meiner ABB Wallbox auf 1.5.2 geupdatet und jetzt kann die Transaction nicht mehr vom ioBroker gestartet werden.
Ladevorgang beendentransaction=false
undCharglimit=6A
funktionieren noch.
Den einzigen Unterschied den ich feststellen konnte, ist deridTag
.
Die idTags vom RFID-Chip und der App sind unterschiedlich. Ich habe auch die aktuelle OCPP Version von dir genommen v0.3.3.
Kann es sein das ABB in dem Firmwareupdate die Autorisierung angepasst hat und man den Ladevorgang nur noch mit entsprechenden idTags starten kann? -
@foxriver76 ich habe Admin 5.3.0 installiert.
Danke, super Adapter!
-
Könnte man hier testweise die idtags eintragen ? Oder kann das damit nichts zutun haben ?
Kannst du bei dir lokal probieren in
build/main.js
ändern, adapter Neustarten und testen -
@foxriver76 jetzt kommt nur noch eine Warnmeldung:
habe bereits auch die ABB Wallbox Firmware 1.5.2 installiert.
Wenn ich "transactionActive" von "true" auf "false" setze, dann verliert der Adapter die Verbindung und die Instanz LED geht auf rot. -
@hardwarefreak habe gerade mal frisch installiert, hast du lokal jetzt was modifiziert gehabt? ich bekomme diese meldung nicht und die validierung sollte nicht anders sein..
und wenn die led auf rot geht steht bestimmt auch was im log, damit könnte ich mehr anfangen.