NEWS
Alpha Testing: OCPP Wallbox Adapter
-
@baeckerman83
Hi, ich habe eben eine 0.9.0 veröffentlicht. Bitte unbedingt den Channel 0 löschen und neu anlegen lassen oder einfach alle WB States löschen und neu anlegen lassen.Der Kanal 0 wird jetzt korrekt als
main
gehandelt und ich habe einige Sachen eingebaut, ack flags für diverse States und das Ändern der Konfiguration + ein hoffentlich etwas besseres reconnect handling in manchen Fällen.Evtl. kannst du über die configuration States nun auch, die Phasen an und abschalten falls die WB das unterstützt.
Der Kanal 0 ist wahrscheinlich grundsätzlich uninteressant, die richtigen Connectoren fangen bei 1 an und manchmal liefert die WB Infos für den "Main" Kanal, welcher im Protokoll als Connector ID 0 behandelt wird.
Z. B. für mehrere Connectoren die availability lässt sich über den Main Kanal steuern:
Required. The id of the
connector for which
availability needs to
change. Id '0' (zero) is
used if the availability of
the Charge Point and all
its connectors needs to
change.Oder
meterValues
Required. This contains
a number (>0)
designating a connector
of the Charge Point.‘0’
(zero) is used to
designate the main
powermeter.Und status:
Required. The id of the
connector for which the
status is reported. Id '0'
(zero) is used if the
status is for the Charge
Point main controller. -
@foxriver76
Ich habe die v0.9.1 installiert. Lief sauber durch, alles ist grün.Ich teste das die Tage mal und melde mich bei Auffälligkeiten.
Danke
-
@foxriver76 Ohje, muss man das unbedingt machen?
Was passiert mit den historischen Daten? -
@frank11 Du kannst auch nur die entfernten Datenpunkte manuell löschen. Zumindest wird im
main
connector also0
nurstatus
, dermeterValues
Kanal sowieavailability
bestehen bleiben. Falls du noch auf derstable
Version bist, ist die Struktur sowieso noch nicht nach den Konnektoren aufgeteilt.Allgemein: Ich empfehle grundsätzlich bei History einen alias Namen im Einstellungstab zu vergeben, so kannst du später sehr einfach die gleiche Datenreihe fortschreiben auch wenn ein Gerät mal ersetzt wird.
-
@foxriver76 Ich bin experimentierfreudig, also im Beta-Channel!
Aber gut. Ich habe überall Aliase definiert.
Danke! -
Moin @foxriver76 , sehr cool das die Entwicklung des Adapters weiter geht.
Anbei ein Auzug von der Configuration der ABB Terra AC.
Der Adapter legt leider immer noch den Connector 0 an. Diese Daten werden aber nicht aktualisiert.
Beim Connector 1 werden die Daten aktualisiert.
Der Punkt
numberPhases
kann nicht stimmen da mein Auto nur mit 2 Phasen lädt.
Der PunktidTag
wird bei der ABB Terra AC leider nicht aktualisiert im Log steht der idTag aber drin.Hier ist noch ein Auszug aus dem Protokoll.
ocpp.0 2023-01-16 20:53:54.987 debug Recevied configuration from /TACW1142021G1020: {"configurationKey":[{"key":"GetConfigurationMaxKeys","readonly":true,"value":"20"},{"key":"HeartbeatInterval","readonly":false,"value":"55"},{"key":"MeterValueSampleInterval","readonly":false,"value":"30"},{"key":"AuthorizationKey","readonly":false},{"key":"LocalAuthorizeOffline","readonly":false,"value":"true"},{"key":"LocalPreAuthorize","readonly":false,"value":"false"},{"key":"LocalAuthListEnabled","readonly":false,"value":"true"},{"key":"LocalAuthListMaxLength","readonly":true,"value":"16"},{"key":"SendLocalListMaxLength","readonly":true,"value":"8"},{"key":"SupportedFeatureProfiles","readonly":true,"value":"Core,FirmwareManagement,LocalAuthListManagement,SmartCharging,RemoteTrigger"},{"key":"ChargeProfileMaxStackLevel","readonly":true,"value":"3"},{"key":"ChargingScheduleAllowedChargingRateUnit","readonly":true,"value":"Current,Power"},{"key":"ChargingScheduleMaxPeriods","readonly":true,"value":"25"},{"key":"MaxChargingProfilesInstalled","readonly":true,"value":"16"},{"key":"NumberOfConnectors","readonly":true,"value":"1"},{"key":"AllowOfflineTxForUnknownId","readonly":false,"value":"false"},{"key":"AuthorizeRemoteTxRequests","readonly":false,"value":"false"},{"key":"ConnectionTimeOut","readonly":false,"value":"120"},{"key":"WebSocketPingInterval","readonly":false,"value":"60"},{"key":"StopTransactionOnInvalidId","readonly":false,"value":"true"},{"key":"MaxEnergyOnInvalidId","readonly":false,"value":"1000"},{"key":"MeterValuesAlignedData","readonly":false,"value":"Energy.Active.Import.Register"},{"key":"MeterValuesAlignedDataMaxLength","readonly":true,"value":"4"},{"key":"ClockAlignedDataInterval","readonly":false,"value":"0"},{"key":"MeterValuesSampledData","readonly":false,"value":"Current.Import,Current.Offered,Energy.Active.Import.Register,Power.Active.Import,Voltage"},{"key":"MeterValuesSampledDataMaxLength","readonly":true,"value":"22"},{"key":"ResetRetries","readonly":false,"value":"0"},{"key":"TransactionMessageAttempts","readonly":false,"value":"10"},{"key":"TransactionMessageRetryInterval","readonly":false,"value":"10"}]} ocpp.0 2023-01-16 20:53:54.484 info Sending GetConfiguration to "/TACW1142021G1020" ocpp.0 2023-01-16 20:53:54.483 info Received MeterValues from "/TACW1142021G1020.1" ocpp.0 2023-01-16 20:53:54.482 debug {"connectorId":1,"meterValue":[{"timestamp":"2023-01-16T19:53:52.000Z","sampledValue":[{"value":"234.40","context":"Trigger","format":"Raw","measurand":"Voltage","phase":"L1-N","unit":"V"},{"value":"0.0","context":"Trigger","format":"Raw","measurand":"Current.Import","phase":"L1","unit":"A"},{"value":"2194","context":"Trigger","format":"Raw","measurand":"Power.Active.Import","phase":"L1","unit":"W"},{"value":"234.60","context":"Trigger","format":"Raw","measurand":"Voltage","phase":"L2-N","unit":"V"},{"value":"0.0","context":"Trigger","format":"Raw","measurand":"Current.Import","phase":"L2","unit":"A"},{"value":"2065","context":"Trigger","format":"Raw","measurand":"Power.Active.Import","phase":"L2","unit":"W"},{"value":"232.10","context":"Trigger","format":"Raw","measurand":"Voltage","phase":"L3-N","unit":"V"},{"value":"0.0","context":"Trigger","format":"Raw","measurand":"Current.Import","phase":"L3","unit":"A"},{"value":"0","context":"Trigger","format":"Raw","measurand":"Power.Active.Import","phase":"L3","unit":"W"},{"value":"175","context":"Trigger","format":"Raw","measurand":"Energy.Active.Import.Register","unit":"Wh"},{"value":"0","context":"Trigger","format":"Raw","measurand":"Current.Offered","unit":"A"},{"value":"0.0","context":"Trigger","format":"Raw","measurand":"Current.Import","unit":"A"},{"value":"4259","context":"Trigger","format":"Raw","measurand":"Power.Active.Import","unit":"W"}]}],"commandOcpp":"MeterValues"} ocpp.0 2023-01-16 20:53:53.982 info Received MeterValues from "/TACW1142021G1020.0" ocpp.0 2023-01-16 20:53:53.982 debug {"connectorId":0,"meterValue":[{"timestamp":"2023-01-16T19:53:52.000Z","sampledValue":[{"value":"234.40","context":"Trigger","format":"Raw","measurand":"Voltage","phase":"L1-N","unit":"V"},{"value":"0.0","context":"Trigger","format":"Raw","measurand":"Current.Import","phase":"L1","unit":"A"},{"value":"2194","context":"Trigger","format":"Raw","measurand":"Power.Active.Import","phase":"L1","unit":"W"},{"value":"234.60","context":"Trigger","format":"Raw","measurand":"Voltage","phase":"L2-N","unit":"V"},{"value":"0.0","context":"Trigger","format":"Raw","measurand":"Current.Import","phase":"L2","unit":"A"},{"value":"2065","context":"Trigger","format":"Raw","measurand":"Power.Active.Import","phase":"L2","unit":"W"},{"value":"232.10","context":"Trigger","format":"Raw","measurand":"Voltage","phase":"L3-N","unit":"V"},{"value":"0.0","context":"Trigger","format":"Raw","measurand":"Current.Import","phase":"L3","unit":"A"},{"value":"0","context":"Trigger","format":"Raw","measurand":"Power.Active.Import","phase":"L3","unit":"W"},{"value":"175","context":"Trigger","format":"Raw","measurand":"Energy.Active.Import.Register","unit":"Wh"},{"value":"0","context":"Trigger","format":"Raw","measurand":"Current.Offered","unit":"A"},{"value":"0.0","context":"Trigger","format":"Raw","measurand":"Current.Import","unit":"A"},{"value":"4259","context":"Trigger","format":"Raw","measurand":"Power.Active.Import","unit":"W"}]}],"commandOcpp":"MeterValues"} ocpp.0 2023-01-16 20:53:52.978 info Requesting MeterValues from "/TACW1142021G1020" ocpp.0 2023-01-16 20:53:52.478 info Received boot notification from "/TACW1142021G1020" ocpp.0 2023-01-16 20:53:52.477 debug {"chargePointModel":"CDT_TACW11::NET_ETH","chargePointVendor":"ABB","chargeBoxSerialNumber":"TACW1142021G1020","firmwareVersion":"TAC3Z9119006710273::V1.6.5","meterType":"V1","commandOcpp":"BootNotification"} RFID-CHIP ocpp.0 2023-01-16 21:05:32.366 debug {"meterStop":0,"idTag":"XXXXXXXXXXXXXXX","timestamp":"2023-01-16T20:05:27.000Z","transactionId":1,"reason":"Local","commandOcpp":"StopTransaction"} ocpp.0 2023-01-16 21:05:31.867 info Received Status Notification from "/TACW1142021G1020.1": Finishing ocpp.0 2023-01-16 21:05:31.866 debug {"connectorId":1,"errorCode":"NoError","info":"null","status":"Finishing","vendorErrorCode":"0x0000","commandOcpp":"StatusNotification"} ocpp.0 2023-01-16 21:05:23.860 info Received Status Notification from "/TACW1142021G1020.1": SuspendedEVSE ocpp.0 2023-01-16 21:05:23.860 debug {"connectorId":1,"errorCode":"NoError","info":"null","status":"SuspendedEVSE","vendorErrorCode":"0x0000","commandOcpp":"StatusNotification"} ocpp.0 2023-01-16 21:05:23.360 info Received Start transaction from "/TACW1142021G1020.1" ocpp.0 2023-01-16 21:05:23.360 debug {"connectorId":1,"idTag":"XXXXXXXXXXXXX","meterStart":0,"timestamp":"2023-01-16T20:05:21.000Z","commandOcpp":"StartTransaction"} ocpp.0 2023-01-16 21:05:22.860 info Received Status Notification from "/TACW1142021G1020.1": Charging ocpp.0 2023-01-16 21:05:22.860 debug {"connectorId":1,"errorCode":"NoError","info":"null","status":"Charging","vendorErrorCode":"0x0000","commandOcpp":"StatusNotification"} ocpp.0 2023-01-16 21:05:22.360 info Received Status Notification from "/TACW1142021G1020.1": SuspendedEV ocpp.0 2023-01-16 21:05:22.360 debug {"connectorId":1,"errorCode":"NoError","info":"null","status":"SuspendedEV","vendorErrorCode":"0x0000","commandOcpp":"StatusNotification"} ocpp.0 2023-01-16 21:05:21.860 info Received Authorization Request from "/TACW1142021G1020" ocpp.0 2023-01-16 21:05:21.860 debug {"idTag":"XXXXXXXXXXX","commandOcpp":"Authorize"}
-
@fl4sh-0 JA der Connector 0 wird weiterhin angelegt, allerdings mit deutlich reduzierten States. Diese States haben lt. OCPP Standard eine besondere Bedeutung, z. B. lässt sich damit der Status aller Connectoren auf ein mal ändern und es werden auch Daten auf diese Connector ID teilweise gesendet.
ìdTag
kann vom Nutzer definiert werden und wird mit in diestartTransaction
gepackt, war mal ein Feature Request, ob das tatsächlich von WBs benötigt wird weiß ich nicht. Wohl nur wenn eine Local Auth Liste genutzt wird die nur bestimmteidTags
zulässt. Ich kann gerne einbauen, dass der tatsächlicheidTag
ausgelesen wird, falls das für dich wichtig ist. Ich prüfe dann nur mal ob sich das beißt in einem State zum schreiben und lesen des Tags.numberPhases
gleiches Spiel, sollte also möglich sein z. B. 1 zu setzen und er lädt einphasig (falls WB unterstützt) sprich was die WB daraus macht ist eine andere Frage. -
@fL4sH-0 anbei lt. OCPP Connector 0 Logik
@foxriver76 sagte in Alpha Testing: OCPP Wallbox Adapter:
Z. B. für mehrere Connectoren die availability lässt sich über den Main Kanal steuern:
Required. The id of the
connector for which
availability needs to
change. Id '0' (zero) is
used if the availability of
the Charge Point and all
its connectors needs to
change.Oder meterValues
Required. This contains
a number (>0)
designating a connector
of the Charge Point.‘0’
(zero) is used to
designate the main
powermeter.Und status:
Required. The id of the
connector for which the
status is reported. Id '0'
(zero) is used if the
status is for the Charge
Point main controller. -
@foxriver76 Ah ok, dann sind
idTag
undnumberPhase
keine Werte die aus der Wallbox kommen sondern Einstellmöglichkeit für die Wallbox. Danke für die Erläuterung.Die Möglichkeit den aktuellen ID-Tag in den State zu schreiben wäre schon ganz cool. Man könnte darauf prüfen und vordefinierte Ladungen über ein Script auslösen oder man könnte darüber differenzierte Statistiken für verschiedene Nutzer oder Autos anlegen.
-
Hi, ersteinmal vielen Dank für den Adapter. Ich habe einen Go E Charger. Bei diesem werden die Inhalte im Bereich MeterValues nicht angezeigt. Objektbaum habe ich gelöscht.
Gibt es dafür einen Grund?
Anbei das Bild
-
@soeni ist der Configuration Channel da, falls ja zeig den mal bitte
-
@foxriver76 nein, leider nicht. Es sind exakt die gezeigten Objekte da.
-
@soeni welche Adapter Version? Und zeig bitte log wenn sie die WB verbindet.
-
Das ist ja alles sehr geil. Das will ich auch, auch weil mein Daheimlader nur mit evcc.io und powerfox opti reden möchte.
Und schreiben sie
"Die DaheimLader Wallbox besitzt keine software-basierte Phasenumschaltung (unsere Belastungstests haben gezeigt, dass die Nutzung einer software-basierte Umschaltung mittelfristig den Schutz der Wallbox (einziges mechanisches Bauteil) sehr stark strapaziert und die Lebenserwartung einer Wallbox deutlich reduziert ).
Wir empfehlen daher die Nutzung von physikalischen Lasttrennschaltern (z.B. 3 x ABB SHD201/16). Hiermit kann der Lastbereich beim PV Überschussladen passend zur PV Anlage eingestellt werden:
einphasiger Betrieb: 1 x 6A / 1,37kW - 1 x 16A / 3,65kW
zweiphasiger Betrieb: 2 x 6A / 2,74kW - 2 x 16A / 7,3 kW
dreiphasiger Betrieb: 3 x 6A / 4,1kW - 3 x 16A / 11kW "Das heißt, ich bin auf dreiphasig 3 x 6A - 3 x 16(32)A eingeschränkt, richtig?
Mein iX kann eh nur 11kW.Komischerweise zeigt ocpp 32A und 22kW obwohl die WB eigentlich auf 11kW gedrosselt sein soll.
Sie kann 22kW.Welche Werte muss oder kann ich einstellen? Ampere oder kW?
-
@frank11 Alle Werte ohne Schloss können verändert werden. Die offiziellen OCPP Konfigurationswerte findet man in https://www.oasis-open.org/committees/download.php/58944/ocpp-1.6.pdf am besten mit Strg + F nach den Key suchen aus der Configuration,
ChargeRate
ist dort nicht standardisiert.Was steht bei dir in
SupportedFeatureProfiles
? Ist dortSmartCharging
mit aufgeführt? -
Core,Local Auth List Management,Reservation,Smart Charging,Remote Trigger
Ich würde gerne mal was bei dir einwerfen! Paypal? Habe keinen git-Account.
-
@frank11 Dann hast du evtl. einen Punkt
chargingScheduleAllowedChargingRateUnit
, in diesem steht drin, was unterstützt ist zum Anpassen der Ladeleistung.Current
(Ampere) oderPower
(Watt). Dann solltest du im Connector (Channel 1) auchchargeLimitType
entsprechend einstellen und kannst dann hoffentlich mitchargeLimit
die Ladeleistung verändern.Bzgl. Spende freue ich mich selbstverständlich sehr: https://www.paypal.me/foxriver76
-
@foxriver76 said in Alpha Testing: OCPP Wallbox Adapter:
chargingScheduleAllowedChargingRateUnit
Leider nicht.
Oben im Screenshot war die komplette Liste. -
Standards
Lt. OCPP Standard sollte der Config Punkt bereitgestellt werden, wennSmart Charging
unterstützt wird. Wirkt bei der etwas mau, dafür dass 5 Profile unterstützt sind.@foxriver76 sagte in Alpha Testing: OCPP Wallbox Adapter:
Dann solltest du im Connector (Channel 1) auch chargeLimitType entsprechend einstellen und kannst dann hoffentlich mit chargeLimit die Ladeleistung verändern.
Hast du das trotzdem mal probiert @frank11?
-
@foxriver76
Korrekt, jetzt sehe ich den Datenpunkt:Bin noch ioBroker-Anfänger, ich musste erstmal schauen, wie ich neue Werte anlegen kann
Jetzt kann ich mir praktisch im ioBroker Seiten erstellen, mit denen ich das testen kann bevor es automatisiert wird, richtig?