NEWS
Alpha Testing: OCPP Wallbox Adapter
-
@hardwarefreak said in Alpha Testing: OCPP Wallbox Adapter:
@fl4sh-0
Worüber bringe ich dein Script für die PV-Überschussladung zur Ausführung im iobroker?Das kannst du über Javascript im iobroker ausführen. Du musst dann nur deine Variablen hinterlegen.
Ich kann dir das sonst auch als Blockly-Script zur Verfügung stellen. -
Hallo,
bin gerade auch am testen der OCPP Funktionen meiner Wallbox. Es handelt sich um eine M3W von Wallbox24.de welche OCPP 1.6 unterstützt.
Leider funktioniert das setzen des Ladestroms mittels chargeLimit bei mir nicht. Weder zu Begin der Transaktion noch während des Ladens.
Hab dazu mal ein Debug-Log angehängt, wäre echt prima wenn das funktionieren würde dann könnte ich nämlich das PV-Überschussladen angehen.
Das Log zeigt den Start des Ladevorgangs durch Setzen von transactionActive=true mit chargeLimit=6. Wie man in den folgenden Zeilen sieht steigt der Ladestrom dennoch auf über 16A an.
Wenn ich danach das chargeLimit ändere steht im Log nur 'Sending SetChargingProfile for /61689674063277'2022-03-21 16:42:57.217 - debug: ocpp.0 (12131) Sending RemoteStartTransaction for /61689674063277: {"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":7}]}}} 2022-03-21 16:42:57.945 - debug: ocpp.0 (12131) {"connectorId":1,"idTag":"1","meterStart":2103200,"timestamp":"2022-03-21T15:42:56.333Z","reservationId":0,"commandOcpp":"StartTransaction"} 2022-03-21 16:42:57.946 - info: ocpp.0 (12131) Received Start transaction from "/61689674063277" 2022-03-21 16:42:58.393 - debug: ocpp.0 (12131) {"connectorId":1,"errorCode":"NoError","status":"Preparing","commandOcpp":"StatusNotification"} 2022-03-21 16:42:58.394 - info: ocpp.0 (12131) Received Status Notification from "/61689674063277": Preparing 2022-03-21 16:42:59.088 - debug: ocpp.0 (12131) {"connectorId":1,"errorCode":"NoError","status":"Charging","commandOcpp":"StatusNotification"} 2022-03-21 16:42:59.089 - info: ocpp.0 (12131) Received Status Notification from "/61689674063277": Charging 2022-03-21 16:43:08.729 - debug: ocpp.0 (12131) {"connectorId":1,"transactionId":1,"meterValue":[{"timestamp":"2022-03-21T15:43:07.333Z","sampledValue":[{"measurand":"Energy.Active.Import.Register","unit":"Wh","value":"2103200"},{"measurand":"Power.Active.Import","unit":"kW","value":"0.1"},{"measurand":"Temperature","unit":"Celsius","value":"35"},{"measurand":"Voltage","phase":"L1-N","unit":"V","value":"238.2"},{"measurand":"Voltage","phase":"L2-N","unit":"V","value":"238.0"},{"measurand":"Voltage","phase":"L3-N","unit":"V","value":"238.4"},{"measurand":"Current.Import","phase":"L1","unit":"A","value":"0.8"},{"measurand":"Current.Import","phase":"L2","unit":"A","value":"0.2"},{"measurand":"Current.Import","phase":"L3","unit":"A","value":"0.2"}]}],"commandOcpp":"MeterValues"} 2022-03-21 16:43:08.730 - info: ocpp.0 (12131) Received MeterValues from "/61689674063277" 2022-03-21 16:43:18.513 - debug: ocpp.0 (12131) {"connectorId":1,"transactionId":1,"meterValue":[{"timestamp":"2022-03-21T15:43:18.333Z","sampledValue":[{"measurand":"Energy.Active.Import.Register","unit":"Wh","value":"2103200"},{"measurand":"Power.Active.Import","unit":"kW","value":"2.4"},{"measurand":"Temperature","unit":"Celsius","value":"35"},{"measurand":"Voltage","phase":"L1-N","unit":"V","value":"236.8"},{"measurand":"Voltage","phase":"L2-N","unit":"V","value":"236.6"},{"measurand":"Voltage","phase":"L3-N","unit":"V","value":"238.7"},{"measurand":"Current.Import","phase":"L1","unit":"A","value":"5.3"},{"measurand":"Current.Import","phase":"L2","unit":"A","value":"5.3"},{"measurand":"Current.Import","phase":"L3","unit":"A","value":"0.2"}]}],"commandOcpp":"MeterValues"} 2022-03-21 16:43:18.514 - info: ocpp.0 (12131) Received MeterValues from "/61689674063277" 2022-03-21 16:43:25.355 - debug: ocpp.0 (12131) {"commandOcpp":"Heartbeat"} 2022-03-21 16:43:25.356 - debug: ocpp.0 (12131) Received heartbeat from "/61689674063277" 2022-03-21 16:43:28.575 - debug: ocpp.0 (12131) {"connectorId":1,"transactionId":1,"meterValue":[{"timestamp":"2022-03-21T15:43:27.333Z","sampledValue":[{"measurand":"Energy.Active.Import.Register","unit":"Wh","value":"2103200"},{"measurand":"Power.Active.Import","unit":"kW","value":"9.1"},{"measurand":"Temperature","unit":"Celsius","value":"35"},{"measurand":"Voltage","phase":"L1-N","unit":"V","value":"236.2"},{"measurand":"Voltage","phase":"L2-N","unit":"V","value":"235.8"},{"measurand":"Voltage","phase":"L3-N","unit":"V","value":"236.0"},{"measurand":"Current.Import","phase":"L1","unit":"A","value":"12.8"},{"measurand":"Current.Import","phase":"L2","unit":"A","value":"12.9"},{"measurand":"Current.Import","phase":"L3","unit":"A","value":"12.9"}]}],"commandOcpp":"MeterValues"} 2022-03-21 16:43:28.577 - info: ocpp.0 (12131) Received MeterValues from "/61689674063277" 2022-03-21 16:43:38.564 - debug: ocpp.0 (12131) {"connectorId":1,"transactionId":1,"meterValue":[{"timestamp":"2022-03-21T15:43:38.333Z","sampledValue":[{"measurand":"Energy.Active.Import.Register","unit":"Wh","value":"2103300"},{"measurand":"Power.Active.Import","unit":"kW","value":"11.4"},{"measurand":"Temperature","unit":"Celsius","value":"35"},{"measurand":"Voltage","phase":"L1-N","unit":"V","value":"235.6"},{"measurand":"Voltage","phase":"L2-N","unit":"V","value":"235.1"},{"measurand":"Voltage","phase":"L3-N","unit":"V","value":"235.8"},{"measurand":"Current.Import","phase":"L1","unit":"A","value":"16.1"},{"measurand":"Current.Import","phase":"L2","unit":"A","value":"16.2"},{"measurand":"Current.Import","phase":"L3","unit":"A","value":"16.2"}]}],"commandOcpp":"MeterValues"} 2022-03-21 16:43:38.565 - info: ocpp.0 (12131) Received MeterValues from "/61689674063277" 2022-03-21 16:43:44.563 - debug: ocpp.0 (12131) Sending SetChargingProfile for /61689674063277 2022-03-21 16:43:48.532 - debug: ocpp.0 (12131) {"connectorId":1,"transactionId":1,"meterValue":[{"timestamp":"2022-03-21T15:43:48.333Z","sampledValue":[{"measurand":"Energy.Active.Import.Register","unit":"Wh","value":"2103300"},{"measurand":"Power.Active.Import","unit":"kW","value":"11.4"},{"measurand":"Temperature","unit":"Celsius","value":"35"},{"measurand":"Voltage","phase":"L1-N","unit":"V","value":"234.7"},{"measurand":"Voltage","phase":"L2-N","unit":"V","value":"235.4"},{"measurand":"Voltage","phase":"L3-N","unit":"V","value":"235.8"},{"measurand":"Current.Import","phase":"L1","unit":"A","value":"16.2"},{"measurand":"Current.Import","phase":"L2","unit":"A","value":"16.3"},{"measurand":"Current.Import","phase":"L3","unit":"A","value":"16.2"}]}],"commandOcpp":"MeterValues"}
-
@yymsc finde für die leider kein Dokument welches den Umfang der ocpp Implementierung beschreibt.
-
@foxriver76 said in Alpha Testing: OCPP Wallbox Adapter:
@yymsc finde für die leider kein Dokument welches den Umfang der ocpp Implementierung beschreibt.
alles klar, sowas hatte ich fast befürchtet... Trotzdem vielen Dank für die schnelle Antwort !!!
-
Ich habe eben eine 0.4.0 veröffentlicht, diese unterstützt nun Authentifizierung. Sprich wenn in den Adapteroptionen Auth aktiviert wird und ein Passwort/Username vergeben wird und ein Client abweichende Credentials bereitstellt, wird die Verbindung abgelehnt.
-
@schwimbi Hey ich hab auch eine Terra AC, wie hast du alles genau gemacht ?
komme kein Schritt weiter. -
@foxriver76 Zunächst einmal Hochachtung für dein Engagement und diesen Adapter!
Ich verwende zwei Wallboxen Pulsar Plus mit konfiguriertem Power Sharing (Verbindung per CAN).
Testweise habe ich für eine Wallbox eine Instanz OCPP eingerichtet. Nun ist die Wallbox gesperrt (LEDs und auch in der App gelb -> gesperrt). Im Objektbaum wird availability=true, status=Available und transactionActive=true angezeigt.
Ändere ich im Objektbaum transactionActive zunächst auf false und dann wieder auf true, so ändert sich status auf Preparing und die Sperre ist aufgehoben (LEDs und auch in der App grün-> bereit).
Allerdings wird nach 2 Minuten status wieder auf Available gesetzt und die Station ist wieder gesperrt:
2022-05-11 09:32:05.215 - debug: ocpp.0 (23470) Sending RemoteStopTransaction for /Admin 2022-05-11 09:32:16.891 - debug: ocpp.0 (23470) Sending RemoteStartTransaction for /Admin: {"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":32}]}}} 2022-05-11 09:32:18.160 - debug: ocpp.0 (23470) {"info":"","vendorId":"com.wallbox","vendorErrorCode":"","connectorId":1,"errorCode":"NoError","status":"Preparing","timestamp":"2022-05-11T07:32:17Z","commandOcpp":"StatusNotification"} 2022-05-11 09:32:18.161 - info: ocpp.0 (23470) Received Status Notification from "/Admin": Preparing 2022-05-11 09:32:48.419 - debug: ocpp.0 (23470) {"commandOcpp":"Heartbeat"} 2022-05-11 09:32:48.421 - debug: ocpp.0 (23470) Received heartbeat from "/Admin" 2022-05-11 09:33:43.581 - debug: ocpp.0 (23470) {"commandOcpp":"Heartbeat"} 2022-05-11 09:33:43.584 - debug: ocpp.0 (23470) Received heartbeat from "/Admin" 2022-05-11 09:34:20.221 - debug: ocpp.0 (23470) {"info":"","vendorId":"com.wallbox","vendorErrorCode":"","connectorId":1,"errorCode":"NoError","status":"Available","timestamp":"2022-05-11T07:34:19Z","commandOcpp":"StatusNotification"} 2022-05-11 09:34:20.224 - info: ocpp.0 (23470) Received Status Notification from "/Admin": Available
Siehst du eine Möglichkeit, das zu verhindern?
-
@thoko sagte in Alpha Testing: OCPP Wallbox Adapter:
Allerdings wird nach 2 Minuten status wieder auf Available gesetzt und die Station ist wieder gesperrt:
Bei mir ist dieses Verhalten nur wenn aktuell kein Auto angestöpselt ist, passiert das bei dir bei einem aktiven Ladevorgang?
-
@foxriver76 Das werde ich gleich mal ausprobieren. Stay tuned
-
@foxriver76 Wenn ich den Ladestecker einstecke, ändert sich status auf Preparing, aber die Wallbox bleibt blockiert. Erst wenn ich transactionActive erst auf von true auf false und dann wieder auf true setze, ändert sich status über SuspendedEV auf Charging (LEDs und auch in der App grün-> laden).
Ohne OCPP musste ich eben nur den Ladestecker einstecken und konnte direkt laden.
Sehr cool ist aber, dass ich alle 5 Minuten die aktuell geladenen (oder bezogenen?) Wh geliefert bekomme. In der App wird mir das ja erst nach dem Tageswechsel dargestellt.
-
@foxriver76 Hier noch der Log-Auszug:
2022-05-11 10:36:21.451 - debug: ocpp.0 (23470) {"info":"","vendorId":"com.wallbox","vendorErrorCode":"","connectorId":1,"errorCode":"NoError","status":"Preparing","timestamp":"2022-05-11T08:36:21Z","commandOcpp":"StatusNotification"} 2022-05-11 10:36:21.452 - info: ocpp.0 (23470) Received Status Notification from "/Admin": Preparing [heartbeat] 2022-05-11 10:38:37.317 - debug: ocpp.0 (23470) Sending RemoteStopTransaction for /Admin 2022-05-11 10:38:55.321 - debug: ocpp.0 (23470) Sending RemoteStartTransaction for /Admin: {"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":32}]}}} [heartbeat] 2022-05-11 10:38:56.680 - debug: ocpp.0 (23470) {"meterStop":0,"timestamp":"2022-05-11T08:38:56Z","idTag":"1","transactionData":[],"reason":"Other","transactionId":0,"commandOcpp":"StopTransaction"} 2022-05-11 10:38:56.684 - info: ocpp.0 (23470) Received stop transaction from "/Admin" 2022-05-11 10:38:56.837 - debug: ocpp.0 (23470) {"connectorId":1,"meterStart":0,"idTag":"1","timestamp":"2022-05-11T08:38:56Z","commandOcpp":"StartTransaction"} 2022-05-11 10:38:56.838 - info: ocpp.0 (23470) Received Start transaction from "/Admin" 2022-05-11 10:38:57.216 - debug: ocpp.0 (23470) {"info":"","vendorId":"com.wallbox","vendorErrorCode":"","connectorId":1,"errorCode":"NoError","status":"SuspendedEV","timestamp":"2022-05-11T08:38:56Z","commandOcpp":"StatusNotification"} 2022-05-11 10:38:57.217 - info: ocpp.0 (23470) Received Status Notification from "/Admin": SuspendedEV 2022-05-11 10:39:00.061 - debug: ocpp.0 (23470) {"info":"","vendorId":"com.wallbox","vendorErrorCode":"","connectorId":1,"errorCode":"NoError","status":"Charging","timestamp":"2022-05-11T08:38:59Z","commandOcpp":"StatusNotification"} 2022-05-11 10:39:00.064 - info: ocpp.0 (23470) Received Status Notification from "/Admin": Charging [heartbeat] 2022-05-11 10:42:14.940 - debug: ocpp.0 (23470) {"meterValue":[{"timestamp":"2022-05-11T08:42:13Z","sampledValue":[{"format":"Raw","location":"Outlet","context":"Sample.Periodic","measurand":"Energy.Active.Import.Register","unit":"Wh","value":"393"}]}],"connectorId":1,"transactionId":1,"commandOcpp":"MeterValues"} 2022-05-11 10:42:14.942 - info: ocpp.0 (23470) Received MeterValues from "/Admin" [heartbeat] 2022-05-11 10:47:14.693 - debug: ocpp.0 (23470) {"meterValue":[{"timestamp":"2022-05-11T08:47:13Z","sampledValue":[{"format":"Raw","location":"Outlet","context":"Sample.Periodic","measurand":"Energy.Active.Import.Register","unit":"Wh","value":"1020"}]}],"connectorId":1,"transactionId":1,"commandOcpp":"MeterValues"} 2022-05-11 10:47:14.695 - info: ocpp.0 (23470) Received MeterValues from "/Admin"
-
@thoko said in Alpha Testing: OCPP Wallbox Adapter:
(LEDs und auch in der App grün-> laden)
Natürlich blau, nicht grün.
-
Ja, mit
availability
kannst du die Box quasi in den richtigen Lock Zustand setzen, das mache ich z. B. nicht. Wenn die grundsätzlichtrue
ist, kannst du alleine übertransactionActive
steuern. -
Hallo Foxriver, vielen Dank vorab für den tollen Adapter. Bin schon oft auf der Suche gewesen meine beiden ABB Terra (mit RFID) Wallboxen irgendwie zu regeln. Dachte eigentlich das ABB mal hier was auf TCP/IP realisiert und ich die OpenWB Software verwende. Es sieht aber danach aus das hier keine Anstregungen unternommen werden.
Allgemein bin ich echt begeistert was sich alles so mit IO Broker realisieren lässt. Fuchse mich da auch immer mehr und mehr rein. Es macht sehr viel Spaß. Ich bin da aber ehrlich gesagt noch nicht so weit und aktuell nur Anfänger. Ein paar Programmierungen nach Anleitung sind da schon möglich aber dann hört es schon auf.
Der OCPP Adapter läuft schon bei mir. Die Wallbox(en) reagieren auch schon entsprechend. Nur der Befehl über transactionAction läuft noch nicht so ganz rund so das ich die Wallbox einfach an und wieder ausschalte. Wenn ich den transactionAction Befehl setzte, wird die Ladung als finish deglariert und gut ist. Ein neuer Start geht nur über den RFID Startbefehl an der Wallbox selbst (Oder ich stelle es einfach auf ohne Authentifizierung in der APP) und es wird wieder geladen und aufsummiert nachdem ich den Stecker vom Auto wieder angeschlossen habe .
Die variable Amperevorgabe geht immer. Hier ist mir aufgefallen das ich einfach die Ampervorgabe <6A stellen kann und der Ladevorgang pausiert wird. Nach Vorgabe >6A geht es wieder weiter und es wird auch fleißig wieder weitergezählt. Also hier könnte man bestimmt einfach ein Skript schreiben um die PV Überschussladung hinzukriegen. Ich denke dies bekomme ich irgendwann auch wohl mal hin nachdem ich die restlichen 111 Tutorials mir angesehen habeIn meinem Fall wäre es nun denke ich auch einfacher, wenn mann die ABB Wallboxen via MQTT und der OpenWB Software kombiniert. In der OpenWB sind die Funktionen schon echt gut ausgereift. Also IOBroker mit dem OCPP Server und Anbindung an die OpenWB via MQTT. Hat dies schon einer gemacht? Wenn ja wie?
Beste Grüße
-
Hier findet man eine gute OCPP Dokumentation, vielleicht hilft es ja jemandem...
Ist in diesem Fall der Bender controller.https://office.elinc.de/dokumentation#occp_parameter_zuordnung
-
Hi!
Ich habe auch eine Terra Box von ABB und wollte diese jetzt mit iobroker verbinden. Leider benötige ich aber in Terra Config ein Zertifikat:
"1.Format supported:'.pfx','.cer','.pem'
2.Encoding format supported:Basic64"Was habt ihr da hoch geladen? Ich habe mit openssl verschiedene Zertifikate generiert, leider klappte aber nichts. Danach kann ich ja erst den tollen Adapter ausprobieren.
Edit: Hat sich erledigt, falls noch mal jemand sucht. Das Protokoll muss auf ws stehen und nicht auf wss.
-
Nun habe ich die Wallbox verbunden und es sieht alles gut aus.
Eine Frage habe ich, kann ich denn mehrer Autos unterscheiden?
Ich habe verstanden, dass du alle Werte die es gibt weg schreibst. Oder gibt es noch Werte die noch nicht weg geschrieben werden?Dann müsste ich mir die mal anzeigen lassen....
-
@baeckerman83 sagte in Alpha Testing: OCPP Wallbox Adapter:
Eine Frage habe ich, kann ich denn mehrer Autos unterscheiden?
Nein, der Charger bekommt im Normalfall keine Daten von deinem Auto. Für viele neuere Autos gibt es allerdings auch Adapter, villt. hilft das weiter.
-
@foxriver76 Danke für deine schnelle Antwort. Das ist schade. Hatte gehofft, das wird ne ID ausgetauscht. Dann hätte man auch was bauen können statt RFID Chip über diese ID freischalten. Aber gut, dann weiß ich nur wieviel meine Autos geladen haben.
Ich habe noch eine Fragen.
Ich wolle jetzt den Energie Stand auslesen, und zwar per NodeRed. Damit ich ihn immer Speichern kann wenn der Status wieder auf "Available" springt. Leider bekomm ich aber statt den Value aber: ""Object for state ocpp.1..Wally.meterValues.Energy_Active_Import_Register do not exist""Kann Energy_Active_Import_Register denn nicht einfach ausgelesen werden? In der Objekt Liste ist der Wert gesetzt und ich kann ihn auch sehen.
Edit: Ich glaube mein Problem ist das /, aber wie bekomme ich das Weg aus der ID: "ocpp.1./Wally.meterValues.Energy_Active_Import_Register"
-
@baeckerman83 hm passiert das im JavaScript Adapter? Der Slash ist eigentlich erlaubt und sollte nicht ersetzt werden.