Tesla Wallbox Gen 3

Im Grund sind 10A Ladeleistung zwar für einen BMW 225xe mit einem kleinen 7kWh-Akku ausreichend, um ihn in ca. 3-4 Stunden wieder voll zu laden. Mit 16A würde sich die Zeit auf vielleicht 2h drücken lassen. Aber ich bin sicher, dass zukünftig ein Elektrofahrzeug mit mehr Speicher ansteht und da aktuell das KFW440 Programm den Kauf und Installation von Wallboxen bis 900€ fördert, habe ich mich natürlich umgeschaut und bin bei der Telsa Wallbox Gen 3 gelandet, die seit ca. Sep 2021 auch frei verkäuflich ist. Vorher musste man ein Tesla-Besitzer sein.

Warum von Tesla?

Ich habe mich einige Monate lange über Wallboxen, Technik, Förderfähigkeit Lieferzeiten u.a. informiert. Leider ist die Aufbereitung der KFW440 im Web alles andere als hilfreich. Eine einfache CSV-Datei oder Excel-Liste wäre sicher besser gewesen. Insbesondere in der Frage der Fördervoraussetzungen sind ernüchternd. Denn es gibt kein Standard, was denn "Remote steuerbar" bedeutet. Einige Geräte haben einfach einen Schaltkontakt oder analoge RS485-Modbus-Schnitstellen. Andere nutzen LAN oder WLAN um eine RESTAPI, EEBus oder Modbus-TCP anzubieten oder ihrerseits mit einem Cloud-Service (OCPP-Protokoll) zu kommunizieren. All diese Erweiterungen machen die Wallbox teurer aber ich denke nicht, dass je eine der Schnittstellen durch den Netzbetreiber je angesteuert werden wird. Zudem möchte ich nicht, dass meine Wallbox mit einer Hersteller-Cloud spricht, über die ich dann auch erst den RFID-Zugang verwalten kann.

Bei der Einrichtung gibt es die nächsten Unterschiede. Hat früher ein "Mäuseklavier" (DIP-Schalter) gereicht, muss es mit WLAN einen weg geben, die Box zu verbinden. Interessant, wie viele Boxen eine Konfiguration über eine Smartphone-App mit "Herstellerkonto" vorgeben. Ob es die App auch in 10 Jahren noch gibt? Eine Wallbox hat doch andere Lebenszyklen als Betriebssysteme. Tesla nutz eine Webseite, die mit jedem Browser die grundlegenden Einstellungen erlaubt. Das Ding muss einfach funktionieren und die Gen 3 scheint die meisten Voraussetzungen zu erfüllen, auf die es mir ankommt:

  • integrierten FI-A und DC-Schutz
    d.h. ich brauche keinen teuren FI-B oder FI-EV in der Hausverteilung sondern nur die Leitungsschutzschalter (3x16A Sicherung) und einen FI-A
  • WLAN zur Kommunikation mit Einrichtung ohne App oder Herstellerkopplung
    Nicht jeder hat ein CAT5-Kabel für LAN der RS485 o.ä. in der Garage. Ein WLAN-AP kann einfacher in der Nähe versteckt werden.
  • Lokale API per HTTP/REST
    Damit kann ich die Daten per PRTG lesen. Leider kann ich die Box damit nicht steuern. Ich hoffe mal, dass die API nicht später durch ein Firmware-Update mal abgeschaltet wird.
  • Preislich interessant mit 599€ am unteren Preissegment
    Eigentlich ist das schon sehr günstig. Die meisten anderen Wallboxen sind teurer oder schlechter ausgestattet.
  • 11kWh per Einstellung gedrosselt.
    Technisch kann sie auch 22kWh aber dann muss der Hausanschluss das hergeben. Mehrere Wallboxen können sogar von Hause aus ein Lastmanagement machen, wenn Sie sich per WLAN direkt sehen. Leider nur dann.
  • 7,3m langes Kabel. Erstaunlich, wie viele Wallboxen mit 5m oder sogar weniger kommen.
    Allerdings ist es etwas "dicker", da die Box auch 22kW kann.
  • Integrierter Energiezähler
    Die Box ermittelt nicht nur die Momentan-Ladung sondern summiert auch auf und stellt die Werte bis zur nächsten Ladung wieder bereit. Leider ist der Zähler wohl nicht MID-zertifiziert und reicht nicht für Dienstwagenabrechnung. Zudem sind die Werte nicht immer stimmig, wie ich weiter unten beschreibe.
  • RFID-Leser, allerdings noch ohne Funktion.
    Leider kann man die Box noch nicht über dieses Modul steuern. Theoretisch könnte mir also jemand "Strom klauen". Ich bin aber sicher, dass das auffallen wird.
  • Lieferbar, versprochen 2-4 Wochen, Realität: Versand am nächsten Tag aus Einhoven, NL, Zustellung innerhalb einer Woche

Die Installation selbst muss natürlich ein zertifizierter Elektroinstallateur durchführen. Technisch muss im Hausanschlusskasten eine 3x16A Sicherung (C statt B) zum Schutz der Leitung gegen Überlastung und ein FI-A installiert werden. Der einzige Wermutstropfen ist eine noch fehlende Freischaltung eines Ladevorgangs per Schlüsselschalter, RFID o.ä., d.h. die Wallbox sollte so nicht unbemerkt frei zugänglich sein. Mit 11kW und 30ct/kWh könnte ein Fremdlader einen Schaden von ca. 3€/Stunde erzeugen.

Ob meine Einschätzungen und letztlich die Entscheidung korrekt war, werde ich dann in einigen Jahren wissen.

Hinweis: Achten Sie darauf, dass sie eine GEN3-Box mit der Nummer 1529455-02-D kaufen und nicht die frühere Version mit der Nummer 1050071-01-K.

Anschluss und Konfiguration

Mit 380V/400V ist nicht zu spaßen und daher sollte die Wallbox immer durch einen Elektriker angeschlossen werden. Für die KFW440-Förderung muss der Elektriker sowieso die fachgerechte Installation bestätigen. Nachdem die Montageplatte installiert und angeschlossen wurde, kann die eigentliche Wallbox fest aufgedrückt werden. Dazu braucht man schon etwas Kraft, damit die vier Kontaktmesser in die Halterung rutschen.

Der Anschluss mit den "+" (rot) und "-" (weiß) gekennzeichneten Kontakte ist eine  RS485 / ModBus Schnittstelle, die aber zumindest Anfang 2022 noch nicht von der Software unterstützt wird.

Sobald "Strom" drauf ist, sollte die Wallbox "grün blinken" und damit auf die Ersteinrichtung warten. Mit einem PC oder Smartphone sollten Sie dann ein neues WLAN "TeslaWallConnector_xxxxxx" finden. Die Zugangsdaten sind in als Ausdruck in der Anleitung und auf der Innenseite der Wallbox zu finden.

Die Konfiguration über den lokalen WLAN-Accesspoint wird nach 5 Minuten abgeschaltet und kann durch einen Druck über 5 Sekunden auf die Taste am Stecker wieder aktiviert werden. Zur Verbindung brauchen Sie natürlich immer noch den WPA-Schlüssel aus der Anleitung oder dem Aufkleber im inneren der Wallbox

Hinweis: Die Einbindung in mein LAN funktionierte nur über 2.4GHz und auch nur, wenn WPA2 das einzige Authentifizierungsverfahren war. WPA2/WPA3-Mixed oder WPA3 alleine funktioniert nicht. Da aber auch andere IoT-Geräte damit mal Probleme haben, nutze ich für IoT eh eine eigene WLAN-SSID mit VLAN und WPA2 Only.

Der Zugriff ist dann einfach per Browser möglich. Tesla hat keine besondere App für die Wallbox, was ich lobenswert finde. Einen Browser sollte zwar auch es in vielen Jahren noch geben. Bei Apps und Smartphone wäre ich mir da nicht so sicher. Über die Startseite http://192.168.92.1 kommen Sie auf die Einrichtungsseite zur Konfiguration. Hier eine Homepage, von der aus sie auch WLAN, SoftwareUpdates, Ausgangsstrom, Zugriffssteuerung und Leistungsverteilung einrichten können.

Wenn Sie das rechte Bild sehen, dann ist die Box schon einige Zeit aktiv und muss erst wieder in den Einrichtungszustand versetzt werden.

Tesla Wall Connector Wallbox Gen 3 Inside Teardown
https://www.youtube.com/watch?v=qsrTextE7ac

Firmware

Ich habe noch keinen Hersteller einer Wallbox gesehen, der seine Firmware als Source bereitgestellt hat. Aber Tesla hat Ende Sep 2021 auf seiner Webseite zumindest eine Firmware zum "normalen Download" angeboten.

Damit ist die Firmware selbst zwar noch nicht offen aber ein Blick in die Binärdatei zeigt einige interessante Strings und Hinweise auf mögliche APIs. So scheint die Box bei einer Verbindung mit dem Internet mit drei Diensten zu kommunizieren. Ich hoffe mal, dass Tesla bei einer Installation in Europa auch die europäischen Datacenter nutzt.

hermes-stream-prd.sn.tesla.services
hermes-prd.sn.tesla.services
hermes-stream-prd.energy.tesla.cn
maestro-prd.sn.tesla.services
wc-maestro-prd.sn.tesla.services

Das gilt es später mal zu prüfen. Wobei ich erst einmal gar nicht vor habe, die Box nach Außen zu lassen. Über eine reine Textsuche finden wir noch mehr in der Firmware:

  • NTP-Server 0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org
    Für die Prüfung von Zertifikaten muss das System natürlich eine korrekte Uhrzeit haben
  • lib/marvell-wmsdk/sdk/src/incl/platform/os/freertos/wm_os.h
    Anscheinend ist die CPU von Marvell und das Betriebssystem ein freertos
  • wifi/src/uds/tp_link_config.c
    Das finde ich nun wieder interessant, dass hier TP-Link auftaucht. Ist der WLAN-Anschluss vielleicht einfach ein USB-Stecker? Vielleicht lässt sich auch ein 10/100-Ethernet/USB-Dongle nutzen
  • Hinweise auf ein Command Line Interface (CLI)
    So wird das Kommando "iwpriv" (https://en.wikipedia.org/wiki/Wireless_tools_for_Linux#iwpriv) mit Optionen beschrieben.
  • Hinweise aus 2,4 und 5 GHz WLAN und WPA3
    In der offiziellen Beschreibung wird nur das 2,4 GHz-Band aufgeführt. Im Code sehe ich aber auch Hinweise zu 5 GHz und sogar WPA3.
  • Zertifikate
    In der Firmware selbst sind einige Zertifikate ohne sichtbaren privaten Key hinterlegt. Ich vermute mal, dass Sie damit die TLS-Verbindung verifizieren, denn genauso finde ich Fehlermeldungen, wenn dies nicht möglich ist. Folgende Zertifikate waren einfach zu finden.

    Spätestens 2036 muss es also ein Firmware-Update mit einer neuen RootCA geben. Wobei die Box vermutlich auch Update weiter läuft aber dann keine Verbindung mehr zu Tesla aufbauen dürfte.

Die Firmware kann natürlich auch "ohne" Internet offline aktualisiert werden. Die Tesla Wallbox hat dazu eine eigenes WLAN, welches durch den Druck auf die Taste am Stecker oder nach dem Einschalten aktiviert wird. Wer sich dann verbindet, kann über das "interne Netzwerk" (http://192.168.92.1/)" die Wallbox konfigurieren. URLs sind:

Das bringt mich natürlich auf die Idee, bei eine Tesla Wallbox in einem Hotel einfach mal den Knopf zu drücken.

Tesla kann durch neuere Versionen die Funktion natürlich jederzeit verändern. Insbesondere die API kann sich ändern, da seitens des KFW440 Programs auch nichts vorgeschrieben wird.

Firmware Update

Meine Wallbox war sicher nicht die erste Version und kam mit der Firmware 21.2.4A(0). Auf der Download-Seite gab es aber schon die 21.29.1. Ich versuche hier eine Versionierung der Firmware-Stände, auch wenn sie sicher nicht komplett ist, da bei Tesla es wohl keine "Release Notes" gibt. Allerdings werden solche Updates wohl über den Newsletter verteilt

Leider habe ich noch kein Newsletter-Archiv gefunden.

"Eigentlich" sollte die Wallbox bei einer funktionierenden Internetverbindung alleine die Updates durchführen. Wenn Sie aber ihre Box, wie bei mir, nicht ins Internet lassen, dann gibt es einen manuellen Weg. Wenn das manuelle Update nicht klappt, dann hilft manchmal ein "Factoryreset" über "http://192.168.92.1/service".

Version Beschreibung

1.4.2-0

Wurde an verschiedenen Stellen mal erwähnt.

1.4.4(0)

Steuerung, welche Fahrzeige (TeslaOnly, Any) geladen werden können

21.2.4A(0)

Dies war die initiale Version auf meiner im September 2021 gelieferten Wallbox. Schon damals gab es aber schon die 21.29.1. Da war die Wallbox wohl schon etwas länger im Lager gelegen. Das ist aber kein Problem und das Update geht ja schnell.

21.8.5

Anscheinend erste Funktionen zur Leistungssteuern

21.18.1

Einstellung einer Leistungssteuerung (nur englisch) möglich

21.29.1

Einstellung der Leistungssteuerung nun auch in Deutsch möglich.

Tesla Wallconnector V3: Einstellungen & Interface, Software 21.29.1
https://www.youtube.com/watch?v=gpDP6c7-Nzw

21.36.4
Nur US?

Die wichtigste Funktion ist wohl die zusätzliche Beschränkung der Fahrzeuge auf 'Authorized Teslas Only'

21.36.5

1. Dez 2021

21.36.6

14. Dez 2021

  • Angeblich Ladestrom-Sharing mit bis zu 6 Stationen

22.3.3

25. Apr 2022

22.7.0

18. Apr 2022

22.23.0

13. Jun 2022. Meine Wallboxen haben sich am 28.7. die neue Firmware geladen. Auf der Webseite wurde aber immer noch die alte Version zum Download angeboten.
Invoke-RestMethod http://192.168.180.7/api/1/version und Invoke-RestMethod http://192.168.180.3/api/1/version lieferten beide noch.

22.23.0+gb7356e54a091bc

22.33.0

23. Okt 2022 Es gibt leider kein Changelog.

22.33.1

4. Nov 2022.  Meldung eines Lesers der am 4.11.2022 diese Firmware bekommen hat. Es gibt leider kein Changelog.

Irgendwann Mitte November hat meine Box auch diese Firmware bekommen. Seit dem braucht es 2-3 Steckvorgänge, bis das Auto lädt.

Ein Ticket bei Tesla hat dazu ergeben:

This is a common issue that has been raised with our engineering team who are currently working on a solution.

22.41.1

Verfügbar laut https://wallmonitor.app/app/firmware

22.41.2

Seit 5. Jan 2023 auf meiner Wallbox und seit dem geht auch wieder das Aufladen des BMX225xe problemlos

22.45.3

10 Mrz 2023

22.45.4

18 Apr 2023

23.8.2

Anscheinend seit 21 Mar 2023 verfügbar. Sie soll RS485-Support und vermutlich Loadmanagement über RS485 ermöglichen. Seitdem bekomme ich auch einen "RS485 Fault Error code:49" via REST gemeldet.

23.8.3

18 Apr 2023

23.24.3.

Aug 2023

https://tff-forum.de/t/software-tesla-wall-connector-gen3/115905

Haben Sie schon eine neuere Firmware?, dann würde ich mich über eine kurze Information freuen.

Ich bin mal gespannt, ab wann z.B. die RFID-Funktion nutzbar wird und vielleicht auch über das "Haus-LAN" eine netter Status-Webseite angeboten wird oder sogar eine REST-API mit Steuerungsoption der Ladeleistung, wie KFW eigentlich fordert. Die Wallbox kann sich selbst über Internet aktualisieren. Für ein manuelles Update der Wallbox durchlaufen sie folgende Schritte:

  1. Die Datei herunterladen
  2. Die Wallbox in den Setup-Mode versetzen
    z.B. 5 Sek den Stecker-Taster drücken
  3. Sich mit dem Tesla-WALN verbinden
    Die Box startet für einige Minuten einen WLAN-Accesspoint. Die erforderlichen Zugangsdaten stehen in der mitgelieferten Anleitung oder im Inneren der Box.
  4. Firmware über http://192.168.92.1/service einspielen
    Über die Webseite können Sie dann die vorher heruntergeladene Datei installieren.

Tesla Wallconnector V3 manuell aktualisieren
https://www.youtube.com/watch?v=joCWNc-7MPw&ab_channel=Teslamaniacs

Last Management

Mehrere Wallboxen der Gen3 können per WLAN ein Lastmanagement aufmachen. Dabei ist eine Wallbox der Master und die anderen als Slave. Der Master steuert die maximale Energie, die alle gemeinsam beziehen dürfen. Mehr weiß ich aber zu den Details da nicht, außer dass diese per WLAN direkt miteinander kommunizieren müssen. Sie nutzen leider nicht das bestehende WLAN mit Accesspoints. Da meine beiden Wallboxen sich leider nicht direkt sehen, kann ich die Funktion nicht testen.

Interessant wäre dies aber schon, wenn ich auch ohne Master über eine API das System aus der Ferne drosseln könnte, um z.B. Überschussladung mit Solarzellen zu steuern.

Für die früheren Gen2-Version habe ich folgende Artikel zur Steuerung über RS485 gefunden. Die Gen3 hat auch einen RS485-Anschlus, der aber aktuell (Stand Jan 2022) wohl noch nicht in der Software unterstützt wird. Es fehlen z.B. alle Einstellmöglichkeiten der Modbus-ID

Normale Webseite

Wenn ich die Wallbox per WLAN in mein Hausnetzwerk eingebunden habe, dann bekommt Sie eine IP-Adresse und ich kann Sie direkt per Browser oder Smartphone ansprechen. Der Zugriff ist allerdings auf den ersten Blick beschränkt.

Die HTML-Seite selbst ist unspektakulär. Allerdings bindet sie nicht nur das Bild und den Text ein, sondern auch ein Stylesheet und drei JavaScript-Dateien.

Ich bin schon etwas irritiert, warum die Default-Seite diese weiteren Quellen einbindet, obwohl sie dann keine Funktion davon aufruft. Ich finde nur interessante aber nicht weiter hilfreiche Strings und Funktionsbezeichnungen

<script>var HOST='';window.__din=fetch(HOST+'/tedapi/din').then(r=>r.text())</script>
WCAPI.GetLoadSharingNetworkState: 7: 
SCAN_BARCODE:{id:"label_button_scan_barcode",description:"Label for button that will scan a barcode using the camera.",defaultMessage:"
SCAN BARCODE"},SCAN_QRCODE:{id:"label_button_scan_qrcode",description:"Label for button that will scan a QR code using the camera."
description:"Indicates that a device could not be added to the power sharing network because of an invalid WiFi password."

Es scheint mir, dass die Datei aktiv in der "separaten Konfigurationsseite" genutzt wird und auf der allgemein zugänglichen Seite eigentlich nichts verloren hat.

Dann hoffe ich mal, dass die URLs zur Konfiguration der Wallbox nicht über die allgemeine Webseite erreichbar sind.

Die Main-Datei hat sogar eine Referenz auf ein Framework.

  • Bootstrap
    https://getbootstrap.com/
    Get started with Bootstrap, the world’s most popular framework for building responsive, mobile-first sites, with jsDelivr and a template starter page

RESTful API

Das KFW440-Programm fordert, dass die Wallboxen "steuerbar" sind aber interessanterweise haben die Beamten wohl vergessen, die API zu beschreiben. So gibt es wohl noch mehr APIs als Hersteller. Einige haben einen Webserver, andere sprechen mit der "Cloud des Herstellers" (z.B. ABB, VW etc.), wieder anderen nutzen OCPP während auch RS485 (Modbus-RTU) oder Ethernet mit Modbus-TCP zu finden sind. Ob das im Interesse des Gesetzgebers war? Ob das auch auf das Konto des Fach-Ministers Scheurer geht? Ich befürchte, dass auch hier die Schnittstellen nur den Preis erhöht haben aber letztlich nie zum Einsatz kommen.

Umso wichtiger sind mir einfache lokal erreichbare APIs. Diese kann ich dann z.B. zur Auswertung oder Überwachung nutzen. Ein Schritt weiter geht die Steuerung der Wallbox um z.B. das Laden mit Solarstrom zu optimieren. Aber auch hier ist das Potential eher überschaubar, wenn das Auto tagsüber unterwegs ist. Dann wäre es eigentlich eher eine Aufgabe des Auto, dass der Fahrer beim Aussteigen vorgibt, bis wann das Auto wieder voll sein muss. Dann könnte das Auto mit verminderter Leistung laden. Die meisten Eigenheime haben maximal 10kWp und erzeugen im besten Fall 6-7kW. Schon eine "Ruheladung" bis Dunkelheit von 2kW würde den Eigenverbrauch anheben.

Nicht alle Hersteller gehen offen mit ihren APIs um. Einige machen ein richtiges Geheimnis draus. Leider ist auch Tesla hier nicht offen und es gibt keine Zusicherung, dass die gefundenen APIs zukünftig auch funktionieren.

Folgende URLs sind in der Firmware zu finden. Ich habe nur einen einfachen GET darauf gemacht.

URL Beschreibung und Beispiel

http://<IP address>/api/1/vitals

PS C:\> Invoke-RestMethod http://192.168.137.22/api/1/vitals

contactor_closed    : False
vehicle_connected   : True
session_s           : 106
grid_v              : 224,5
grid_hz             : 49,839
vehicle_current_a   : 0,2
currentA_a          : 0,2
currentB_a          : 0
currentC_a          : 0,2
currentN_a          : 0,3
voltageA_v          : 8
voltageB_v          : 0
voltageC_v          : 0,9
relay_coil_v        : 11,9
pcba_temp_c         : 14,2
handle_temp_c       : 8,9
mcu_temp_c          : 20,9
uptime_s            : 516
input_thermopile_uv : -143
prox_v              : 0
pilot_high_v        : 8,7
pilot_low_v         : -11,8
session_energy_wh   : 0
config_status       : 5
evse_state          : 8
current_alerts      : {}

http://<IP address>/api/1/wifi_status

PS C:\> Invoke-RestMethod http://192.168.137.22/api/1/wifi_status

wifi_ssid            : SU9U
wifi_signal_strength : 28
wifi_rssi            : -76
wifi_snr             : 21
wifi_connected       : True
wifi_infra_ip        : 192.168.137.22
internet             : False
wifi_mac             : 98:ED:5C:93:41:19

http://<IP address>/api/1/lifetime

PS C:\> Invoke-RestMethod http://192.168.137.22/api/1/lifetime

contactor_cycles        : 33
contactor_cycles_loaded : 0
alert_count             : 39
thermal_foldbacks       : 0
avg_startup_temp        : 29,2
charge_starts           : 33
energy_wh               : 12400
connector_cycles        : 7
uptime_s                : 289786
charging_time_s         : 15204

http://<IP address>/api/1/version

PS C:\> Invoke-RestMethod http://192.168.137.22/api/1/version

firmware_version        part_number  serial_number
----------------        -----------  -------------
21.29.1+g4152353e50f744 1529455-02-D PGT21216001959

Dies sind sehr einfache REST-Aufrufe, die ich natürlich sehr einfach in eine andere Software übernehmen kann.

Diese API-Aufrufe funktionieren nicht über das "TeslaWallConnector_xxxxxx"-WLAN sondern nur über das eingebundene WLAN. Eine Authentifizierung ist hier nicht erforderlich.

Analyse

Natürlich wollte ich genauer wissen, was die Wallbox so anstellt. Nun ist es leider nicht so einfach, auf einem WLAN-Kontroller oder einer Fritz!Box gezielt die Pakete mitzuschneiden. Aber auch mit Windows 10 kann ich einen "Hotspot" aufmachen und meine LAN-Verbindung mit WLAN-Teilnehmern teilen. 

So gehen alle Pakete der Wallbox durch meinen PC als "NAT-Router" ins LAN. Das macht es dann schon einfach, die Pakete z.B. mit Wireshark mitzuschneiden. Leider akzeptiert die Wallbox keinen Proxy und alle Verbindungen nutzen HTTPS. Über eine Dauer von 25 Minuten habe ich nur wenige HTTPS-Versuche zu drei Servern von Tesla gesehen und einige UDP-Pakete, die aber ebenfalls erklärbar sind

In HTTPS kann ich nicht direkt reinschauen aber die UDP-Pakete habe ich mir genauer angeschaut. Es waren aber nur das erwartete DHCP-Protokoll (Port 67/68) und DNS-Anfragen im Abstand von ca. 2-5 Minuten nach "hermes-prd.sn.tesla.services", der auf Server bei Amazon AWS auflöst.

C:\>nslookup hermes-prd.sn.tesla.services

Name:    nlb-hermes-us-west-2-prd-209dc4544fe4aab4.elb.us-west-2.amazonaws.com
Addresses:  54.189.221.190
          54.149.35.223
          54.189.232.34
Aliases:  hermes-prd.sn.tesla.services

Ich habe in meinem Netzwerk dann den Namen einfach mal auf einen lokalen WebServer geleitet, auf dem ich ein selbstsigniertes Zertifikat für "hermes-prd.sn.tesla.services" installiert habe und gewartet. Aber irgendwo muss Tesla da eine Validierung eingebaut haben. Ich sehe den DNS-Query, meine Antwort aber dann kommt nicht mal ein Verbindungsversuch. Ob ihm die private IP-Adresse nicht gefällt? Dann gebe ich mir doch mal die hermes-prd.sn.tesla.services auf einem HyperV-Host. Aber auch das hat noch nichts gebracht. Ich tippe aber erst einmal auf ein Problem bei meiner Testumgebung.

Wallbox ohne Internet

Ich nutze die Wallbox nur zum Laden eines "Nicht Tesla". Insofern braucht meine Wallbox dann auch keine Verbindung zu Tesla um dort irgendwelche Daten bereitzustellen. Firmware-Updates kann ich bei Bedarf und Gelegenheit immer noch freigeben. Es ist ja "nur" ein Ladegerät. Die Wallbox ist daher in eine IoT-WLAN, welches nur sehr restriktiv nach extern darf. In der Regel greife ich von meinen Systemen auf ausgewählte IoT-Systeme zu und natürlich ist MQTT erlaubt. Die fehlende Internet-Verbindung sieht man auch auf der Statusseite, wenn  ich mich mit dem "TeslaWallConnector_XXXXXX"-WLAN verbunden habe. Das bedeutet aber nicht, dass ich kein WLAN habe sondern nur, dass es keine Internet-Verbindung gibt.

Der Zugriff per Browser über das Betriebs-WLAN und die Rest-API funktioniert weiterhin problemlos.

Tesla und PRTG

Damit eröffnet sich mir natürlich ein Weg. die Box über PRTG oder andere Lösungen zu überwachen. Der eingebaute PRTG JSON-Sensor kann direkt die Daten abrufen.

Danach muss ich natürlich die URL zur REST-API eingeben. In meinem Fall nutze ich die "Vitals" API unter "http://<IP address>/api/1/vitals" und gebe in PRTG dann die gewünschten Knoten als Kanal an. Wenn ich einfach "Grid_v" angebe, dann ermittelt der Sensor die Versorgungsspannung.

Allerdings habe ich damit nur genau einen Wert in einem Graph und wenn ich mehrere Werte erfassen möchte, dann sollte das nicht durch viele einzelne Sensoren erfolgen. Komplexere Abfragen mit mehreren Kanälen kann ich aber über den "PRTG Manual: REST Custom Sensor" einrichten.

Dazu brauche ich aber neben der URL auch ein "Template" welche die Werte auf Kanäle mappt. PRTG liefert zwar schon einige Vorlagen mit, aber natürlich kein Template für einen "TeslaWallConnector gebaut.

Template für Tesla Wall Connector Gen3
teslawallconector.template.txt
Bitte die Datei im Programmverzeichnis speichern. Bei mir ist das "C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\rest\teslawallconnector.template"

Das Template liest nicht alle Werte ein. Die Spannung der Pilot-Leitung habe ich mir gespart und auch die current_alerts habe ich noch nicht als Message eingepflegt.

Wenn ich dann einen neuen Rest-Sensor anlege, muss ich nur noch die Abfrage "/api/1/vitals" eingeben und das vorbereitete Template auswählen.

Nach kurzer Zeit sehe ich schon die ersten Werte:

Hier lädt ein Fahrzeug einphasig mit 13,7A, also ca. 3kWh/h, was für ein Plugin-Fahrzeug (PEHV) schon die Obergrenze ist. Wie "genau" die Messwerte sind, steht aber auf einem anderen Blatt. Nur weil per REST hier Nachkommastellen geliefert werden, sollte man da nicht blind drauf vertrauen. Wenn ich mir die Wert aber ohne Dezimalstellen anzeigen lasse, dann rundet PRTG anscheinend ab und aus 49,99 Hz werden dann 49Hz. Über einige Tage sieht man schon mehr:

Der rote EVSE-Status zeigt am besten an, wann kein Fahrzeug verbunden (1), am Laden (19) oder nur verbunden (8) ist. Indirekt kann dies aber auch an der Temperatur des Type-2-Steckers erkannt werden, welche bei der Ladung doch merklich ansteigt aber ansonsten die Außentemperatur liefert. Der hier angeschlossene PEHV (BMW 225xe Erfahrungsbericht) lädt an der Tesla Wallbox 1-phasig mit 13A in ca. 2,5h komplett nach und der Griff erwärmt sich dabei von 10 Grad C Außentemperatur auf 19 Grad C. Nicht kritisch aber merklich.

Hier dann noch mal das Ende einer Ladung mit vielen Linien

Die violette Linie zeigt den abnehmenden Ladestrom bei den letzten 10 Minuten. Die grüne Linie die Temperatur des Steckers. Interessant auch, dass durch das Laden die an der Wallbox gemessene Spannung um ca. 10 Volt von ca. 220V wieder auf 230V ansteigt was gefühlt recht viel ist. 10 Volt bei 13A sind ca. 130W Verlustleistung für die ca. 20-30m Zuleitung (Leider nur 5x2,5qmm aber laut Elektriker erlaubt)

Temperaturüberwachung

Die Wallbox hat vier per REST auslesbare Temperaturpunkte, die alle mit einem "_c" enden und in Celsius gemessen sind. Die Werte kommen mit Dezimalstellen, wobei ein "Komma" das Trennzeichen ist.

  • handle_temp_c
    Hier misst die Wallbox die Temperatur des Steckers am Fahrzeug. Wenn ich den Stecker länger in der Hand halte, steigt die Temperatur. Auch beim Laden ist gut zu sehen, dass die Temperatur durch den Strom und Kontaktwiderstand etwas ansteigt. Pfiffige Idee, hier einen Schutz gegen schlechte Kontakte einzubauen. Ich weiß nicht, wann die Wallbox die Ladung unterbricht oder drosselt und ob andere Wallboxen das auch machen
  • pcba_temp_c
    PCB steht eigentlich in der Elektronik für "Printed Circuit Board". Da hat Tesla wohl einen Fühler auf der Leiterplatte, um frühzeitig Fehler zu erkennen.
  • mcu_temp_c
    Wenn man "mcu" mit "Microcontrollerunit" übersetzt, dann ist das wohl die Temperatur des Steuerungsprozessor

Wenn die Wallbox nicht gerade ein Auto lädt, dann ist die Temperatur des Steckers recht zuverlässig die Lufttemperatur ums Auto bzw. der Wallbox. Es gibt aber einfachere und günstigere Möglichkeiten, die Außentemperatur zu messen.

evse_state und config_status

Über die Schnittstelle bekomme ich verschiedene Statusmeldungen.

  • vehicle_connected
    Damit kann ich erkennen, ob die Wallbox ein Auto erkannt hat. Das bedeutet nicht, dass auch geladen wird
  • contactor_closed
    Dieser Werte bedeutet, dass das Lastrelais geschaltet ist und das Fahrzeug versorgt wird. Es obliegt aber dem Auto, die Ladeleistung zu steuern.
  • config_status
    Ich nehme an, dass hier die Box verschiede Statuus der Konfiguration ausgibt, z.B. ob sie Verbindung zum Internet hat oder nicht. Vielleicht auch ausstehende Firmware-Updates. Leider habe ich keine Liste und kann nur die bei mir schon aufgetretenen Werte dokumentieren.
config_status Bedeutung

0

Fahrzeug wird geladen (1-phasig 13A)

5

Fahrzeug verbunden und voll (Verriegelung egal)

  • evse_state
    Auch zu diesem Status habe ich keine Details und dokumentiere hier nur die Zustände, die ich gesehen habe.
evse_state Bedeutung

0

Wallbox startet

1

Kein Fahrzeug angeschlossen

2

Angeschlossen und nicht bereit

3

Hier fehlen mir noch Informationen

4

Angeschlossen und bereit

5

Hier fehlen mir noch Informationen

6

Fahrzeug angeschlossen, Aushandlung

7

Hier fehlen mir noch Informationen

8

Fahrzeug angeschlossen und voll geladen (Verriegelung egal)

9

Zum Laden bereit, warten auf Fahrzeug

Diesen Status haben ich von einem Tesla-Besitzer, der eine Ladung im Tesla auf Zeit geplant aber diese noch nicht gestartet hat

10

Lädt Leistungsreduziert. Die Wallbox erkennt dass das Auto nicht mehr die komplette Leistung abruft. Bei meinen 1-phasigen PEHV ist das aber wohl der Regelfall.

11

Ladung mit 3 Phasen a 16 Ampere (bei mir 11kW)

12

Zwischen 2 und 8 habe ich manchmal den Status gesehen

Vielleicht finden Sie ja noch andere Werte und berichten mir. Es könnte durchaus sein, dass z.B. evse_state den LED-Status anzeigt.

Handbuch Wall Connector Gen 3
https://www.tesla.com/sites/default/files/support/charging/Gen_3_Wall_Connector_Manual_German.pdf
Seite 29/30 enthält die verschiedenen Fehlercodes

 Die genaue Bedeutung der Werte von "Config Status" und EVSE Status" sind mir noch nicht bekannt.

Der nächste Schritt ist dann die Information an die Personen, wenn sich ein Zustand ändert. So könnte ich den Status von "Vehicle Connected" überwachen, um beim Anstecken oder Abstecken informiert zu werden.

Weitere Benachrichtigungen kann ich natürlich auch noch definieren. So könnte ich ein beliebiges Programm ausführen, welches z.B. nach dem Abschluss einer Ladung die "nachgetankte" Energiemenge erfasst und speichert.

Es ist gut zu erkennen, wann ein Fahrzeug angesteckt wurde und die Ladung startet. Wenn das Fahrzeug "voll" ist, wechselt der Status des Relay auf "0". Über den "Difference"-Sensor kann ich auch die pro Zeiteinheit geladene Energie erfassen. Ebenso gut sind aber auch die Grenzen der Messwerte zu erfassen.

Allerdings kann dieser Sensor immer nur genau eine REST-URL erfassen. Wenn ich nun auch noch die WiFi-Kennzahlen (http://<IP address>/api/1/wifi_status) oder die Langzeitdaten (http://<IP address>/api/1/lifetime) erfassen will, braucht es weitere Templates und Sensoren.

. Ich werde später einmal die Werte der Wallbox mit dem MID-Zähler im Anschlusskasten vergleichen.

Energiebedarf und Messung

Da mein Fahrzeug als Firmenfahrzeug zählt und damit alle Ausgaben als "Betriebsausgaben" absetzbar sind, fallen darunter natürlich auch die "Treibstoffkosten". Die Wallbox misst auch die übertragene Energiemenge. Insofern wäre sogar eine Abrechnung denkbar. Allerdings ist kein MID-zertifizierter Zähler verbaut, so dass die Finanzämter diese Schätzung vermutlich nicht akzeptieren. Dennoch Grund genau die Daten genauer anzuschauen Ich habe drei Quellen:

  • sessions_energy_wh unter de "Vitals"-URL
    Die können Sie einfach über die URL als REST-API auslesen und wird bei jedem Ladevorgang wieder neu gestartet. Wobei es wohl eher bei jeder neuen Steckverbindung passiert, denn wenn ein Fahrzeug die Ladung unterbricht und ohne Kabeltrennung wieder fortsetzt, dann wird der Counter nicht zurück gesetzt.
(Invoke-RestMethod http://192.168.180.3/api/1/vitals).session_energy_wh
  • energy_wh unter lifetime
    Dieser Counter wird immer weiter geschrieben und sollte die Gesamtlademenge der Box erfassen. Sie ist auch einfach zu ermitteln
(Invoke-RestMethod http://192.168.180.7/api/1/lifetime).energy_wh
  • MID-Zähler im Schaltschrank
    Zur Sicherheit bei Steuerfragen habe ich einen geeichten, verplompten MID-Zähler durch den Elektriker verbauen lassen, der den Gesamtbedarf ermittelt.

Ich habe nun die Werte vor dem Laden und nach dem Laden erfasst und interessante Details gefunden

Wert Vorher Danach Differenz Bewertung

BMW Conect Anzeige

 

 

ca. 3kW

Im Auto selbst habe ich noch keine Anzeige zur zuletzt geladenen Energie gefunden aber in der "Connected Drive"-App zeit er einen circa-Wert an.

MID-Zähler (kWh)

443,41kWh

448,25kWh

4840Wh

Wenn ich mal davon ausgehe, dass der Zähler korrekt ist, dann habe ich 4,84kWh bezogen. Das ist so natürlich nicht im Auto gelandet, denn die Wallbox braucht selbst etwa 1-2W aber die Ladeverluste im Auto sind der Löwenanteil, die ich hier aber nicht sehen kann.

vitals/session_energy_wh

 

 

3149,3Wh

Die letzte Ladesession hat laut Wallbox ca. 3,1kWh geliefert. Das passt zwar schön zur Anzeige in der App aber ist viel weniger als der MID-Zähler meldet. In der Box selbst findet aber keine Umwandlung statt. Nur das Lastrelais braucht vielleicht etwas mehr Energie also die 1-2 Watt in Ruhe. Der Wert ist also sicher zu niedrig.

lifetime/energy_wh

2890500

2895581

5081Wh

Interessanterweise ergibt die Differenz des Lifetime-Zählers hier einen Wert, der schon eher an den MID-Zähler heran kommt. Er weicht um ca. 5% nach oben ab.

lifetime/connector_cycles 236

238

2

Der Stecker war ganz sicher nicht getrennt aber vielleicht zählt "Einstecken" und "Ausstecken" jeweils getrennt. Das muss ich später noch mal genauer untersuchen.

lifetime/contactor_cycles

358

362

4

Hier hat das Relay viermal den Status gewechselt. Auch hier vermute ich mal, dass jeder Wechsel zählt.

lifetime/contactor_cycles_loaded

68

69

1

Es war ein Ladevorgang. Das hatte ich so erwartet.

lifetime/charge_starts

358

362

4

Allerdings wurde er wohl vier mal gestartet? Ich erkläre mir das so, dass das Fahrzeug entweder die Ladung unterbrochen hat oder einmal voll geladen hat und immer mal wieder kleine Häppchen nachgeladen hat oder als die Automatik das Auto zur Abfahrt vorgeheizt hat.

Leider gibt es von Tesla keine weiteren Unterlagen zur genauen Bedeutung und Interpretation der Felder, so dass ich nur aus den Beobachtungen meine Schlüssel ableiten kann. Ich würde aber sagen, dass "vitals/session_energy_wh" primäre die aktuell geladene Energie nur sehr ungenau ermittelt, während die Differenz von Start- und Endwert von "lifetime/energy_wh" schon näher an den realen Daten sind.

Damit die Messungen aber für steuerliche Belange geeignet sind, sollten Sie einen eigenen MID-Zähler vorsehen, da es von Tesla keine Aussagen oder gar Zertifikate zur eingebauten Messeinheit gibt.

3rd Party Apps

Bei der Einrichtung habe ich noch gelobt, dass Tesla dazu einfach eine Webseite statt einer App bereitstellt und damit sicher lange zukunftssicher ist. Wenn die Box aber einmal in Betrieb ist, dann ist eine andere Webseite erreichbar, die aber keine Details liefert. Schade eigentlich, denn die Rest-API liefert die Daten ebenfalls anonym. Bislang kenne ich zwei Apps von Drittherstellern, die diese Lücke füllen und die Daten per REST abrufen und handytauglich präsentieren.

Weiterentwicklung

Mein Auto sagt mir schon über eine App, dass eine Ladung begonnen und beendet wurde, aber die Wallbox macht das natürlich nicht. Auch Tesla-Fahrer haben eine App für ihr Auto aber nicht für die Wallbox. Natürlich könnte Tesla so eine Funktion per App bereitstellen, da die Wallbox ja mit dem Tesla Backend kommuniziert und man als Inhaber der Wallbox sich z.B. über eine Registrierung und die Seriennummer der Wallbox verbinden könnte. Das gibt es aber aktuell (Okt 2021) noch nicht. Damit eröffnen sich natürlich ganz eigene Dinge.

  • Wallbox mit Haussteuerung
    Natürlich könnte auch eine der vielen Hausautomatisationsprojekte die Daten der Wallbox einlesen und über die entsprechend vorhandene App anzeigen, z.B. mit Node-RED als Mittler. Damit wäre auch eine Einbindung in MQTT/SYSLOG/Grafana etc. möglich.
  • Gateway zum Messenger (Siehe Tesla Wallbox Gen3 Agent)
    Tesla hat aktuell keine App und die URL der Box möchte ich auch auch nicht aus dem Internet erreichbar machen. Ich kenne zwar nur den Weg die Daten zu lesen aber nicht zu schreiben. Aber das bedeutet ja nicht, dass es nicht doch möglich wäre. Aber man könnte ja einen ESP8266/ESP32 nutzen, der die Daten zyklisch abfragt und irgendwo hin sendet, z.B. als Bot an Microsoft Teams, Telegram, Signal u.a.
    Wenn man den ESP mit einer LED und/oder LCD ausstattet, könnte er als "Remote Statusanzeige" dienen.
  • Eigenes (PRTG) Skript
    Vielleicht baue ich mir aber dennoch noch ein eigenes PowerShell-Script, welches z.B. die Moment erfasst, wenn eine Ladung zu Ende ist oder das Fahrzeug an/abgesteckt wird und diese Vorgänge in einem eigenen Protokoll speichert oder per SYSLOG bzw. SMTP versendet. Das kann sogar schneller kommen, denn Paessler hat den Sensor "REST Benutzerdefiniert" schon abgekündigt.

Insbesondere ein Logging der "relevanten Änderungen" als eine Art Tagebuch oder Datalogger finde ich interessant, da die Datenmenge gering und die Aussagekraft höher ist als eine minütliche Erfassung des immer gleichen Status.

Bislang reicht mir aber die Erfassung mit PRTG und für die eichrechtskonforme Erfassung des Verbrauchs habe ich im Sicherungskasten einen MID-Zähler.

Offene Fragen/Wünsche

Das wichtigste zuerst: Die Wallbox funktioniert aktuell ohne Probleme und lädt mein Fahrzeug. Damit ist die Pflicht erfüllt und durch die REST-API kann ich sie auch sehr einfach abfragen. Aber vielleicht findet ein Leser noch eine Antwort auf weitere Fragen:

  • Anschlüsse auf der Rückseite
    Welche Funktion haben die beiden Steckkontakte für Niederspannungskabel. Sind es vielleicht RS485-Schnittstellen oder ein Schalter zur Fernsteuerung?
  • RFID
    Die Box hat eine RFID-Schnittstelle, über die aber noch nichts bekannt ist. Eine einfache "Freischaltung" per RFID-Karte, z.B. eine EC-Karte wäre eine nette Funktion
  • Fernsteuerung
    Aktuell erlaubt die REST-Api nur das Lesen und selbst das ist alles "undokumentiert". Schön wäre schon, wenn man über die Konfiguration auch einen "Steuerung"-Mode einstellen kann. Zur Sicherheit würde ja ein "Drosseln" reichen.
  • Version-Historie/Changelog
    Ich warte mal, ob ich über den Newsletter nun auch Firmware-Updates gemeldet bekomme. Ansonsten wäre eine
  • Wallbox App
    Es gibt zwar eine Tesla-App für Autos aber nicht für die Wallbox alleine. Wobei schon eine Progressive Web App per HTTP/REST ja schon einfache Daten abrufen und senden könnte.
  • Übersetzungen
    Manchmal ist die Webseite "zweisprachig", weil einige Strings noch nicht übersetzt ist. Auch finde ich die Bezeichnung "Masse" statt "PE" oder "Erde" unglücklich, wie auf der Statusseite der Firmware 21.29.1 gut zu sehen ist.

Es bleibt also noch etwas zu tun.

Weitere Links