Tesla Wandanschluss Gen 3

Dieser Adapter liest API-Informationen von einem Tesla Wall Connector Gen 3

Aktueller Release
1.3.3
Entwickler
NoBl
Lizenz
MIT

Tesla Wall Connector Gen 3 Adapter für ioBroker

Liest Live-Daten eines Tesla Wall Connector Gen 3 im lokalen Netzwerk aus. Alle Datenpunkte sind schreibgeschützt (die API der Wallbox unterstützt keinen Schreibzugriff).

Konfiguration

Einstellungen

Main Settings

FeldBeschreibung
Tesla Wall Connector Gen 3IP-Adresse oder Hostname der Wallbox (z. B. 192.168.1.50 oder wallbox.local). Nur die reine Adresse eingeben — kein Schema (http://), kein Port, kein Pfad, keine Zugangsdaten, kein IPv6 in eckigen Klammern. Ein leeres Feld oder 0.0.0.0 wird als nicht konfiguriert behandelt und verhindert die Abfrage.
AbfrageintervallWie oft der Adapter Daten von der Wallbox liest, in Sekunden. Standard: 10. Bereich: 1 - 3600.
Request-TimeoutMaximale Wartezeit auf eine Antwort der Wallbox, in Millisekunden. Standard: 5000. Bereich: 1000 - 10000.
WiederholungsversucheWie oft nach einem fehlgeschlagenen Abruf erneut versucht wird. Der Wert bedeutet Wiederholungen nach dem initialen Fehlversuch. 0 = keine Wiederholungen, 999 = unbegrenzt. Standard: 10.
Polling-WiederholungsfaktorVergrößert den Abstand zwischen Wiederholungen. Der n-te Versuch erfolgt nach Intervall x Faktor x n Sekunden. Beispiel mit Standardwerten: 1. Wiederholung nach 20 s, 2. nach 40 s. Wird nach einem erfolgreichen Abruf zurückgesetzt. Standard: 2. Bereich: 1 - 10.
Split-Phase-LeistungsberechnungFür nordamerikanische Split-Phase-Installationen aktivieren. Verwendet grid_v x vehicle_current_a anstelle der phasenweisen V x A Summe. Standard: deaktiviert (Dreiphasen-Berechnung).

Nach dem Speichern startet der Adapter neu und beginnt sofort mit der Abfrage.

Datenpunkte

Alle Datenpunkte sind schreibgeschützt. Der Adapter fragt die Wallbox-API ab und erstellt für jeden zurückgegebenen Wert einen Datenpunkt.

info

DatenpunktTypBeschreibung
info.connectionbooleantrue wenn der Adapter die Wallbox erreichen kann und gültige Antworten erhält.

vitals

Live-Betriebsdaten, bei jedem Abfrageintervall aktualisiert.

DatenpunktTypBeschreibung
evse_statenumberLadezustand (siehe Tabelle unten)
vehicle_connectedbooleanOb ein Fahrzeug angeschlossen ist
vehicle_current_anumberVom Fahrzeug gezogener Strom (A)
session_energy_whnumberIn der aktuellen Sitzung gelieferte Energie (Wh)
power_wnumberLadeleistung (W), vom Adapter berechnet. Dreiphasen-Modus: Summe aus V x A pro Phase. Split-Phase-Modus: grid_v x vehicle_current_a.
session_snumberDauer der aktuellen Ladesitzung (s)
contactor_closedbooleanOb das Laderelais geschlossen ist
grid_vnumberNetzspannung (V)
grid_hznumberNetzfrequenz (Hz)
voltageA_v, voltageB_v, voltageC_vnumberSpannung pro Phase (V)
currentA_a, currentB_a, currentC_a, currentN_anumberStrom pro Phase (A)
pcba_temp_c, mcu_temp_c, handle_temp_cnumberTemperaturwerte (°C)
relay_coil_vnumberRelais-Spulenspannung (V)
relay_k1_vnumberRelais K1 Spannung (V)
relay_k2_vnumberRelais K2 Spannung (V)
prox_vnumberProximity-Pilot-Spannung (V)
pilot_high_vnumberControl-Pilot High Spannung (V)
pilot_low_vnumberControl-Pilot Low Spannung (V)
input_thermopile_uvnumberThermopile-Sensorwert
config_statusnumberKonfigurationsstatus
uptime_snumberBetriebszeit der Wallbox (s)
current_alertsstring (JSON)Aktive Alarme als JSON-Array (z. B. "[]"). Numerische Kind-Datenpunkte (.0, .1, ...) werden aus Kompatibilitätsgründen beibehalten und bei Verkleinerung des Arrays automatisch bereinigt.
evse_not_ready_reasonsstring (JSON)Gründe für Nicht-Bereitschaft als JSON-Array. Kind-Datenpunkte wie bei current_alerts.

EVSE-State-Codes:

CodeBedeutung
0Wallbox startet
1Idle
2Fahrzeug angeschlossen, aber nicht ladebereit
4Fahrzeug angeschlossen und ladebereit
6Fahrzeug angeschlossen, Handshake läuft
8Laden beendet oder unterbrochen
9Ladebereit, wartet auf Fahrzeug
10Laden mit reduzierter Leistung (< 3 Phasen je 16 Ampere)
11Laden mit voller Leistung (3 Phasen, je 16 A)

Die States 3, 5, 7 und 12 sind undokumentiert. Falls Sie deren Bedeutung kennen, sind Pull-Requests willkommen!

lifetime

Kumulative Statistiken über die Lebensdauer der Wallbox. Wird maximal alle 60 Sekunden abgefragt.

DatenpunktTypBeschreibung
energy_whnumberGesamte gelieferte Energie (Wh)
charge_startsnumberAnzahl gestarteter Ladevorgänge
charging_time_snumberGesamte Ladezeit (s)
uptime_snumberGesamte Betriebszeit (s)
contactor_cyclesnumberAnzahl der Relais-Schaltzyklen
connector_cyclesnumberAnzahl der Ein-/Aussteck-Zyklen
alert_countnumberGesamtanzahl der Alarme

version

Firmware- und Hardware-Identifikation. Wird beim Start, nach Wiederverbindung und maximal einmal pro Stunde abgefragt.

DatenpunktTypBeschreibung
firmware_versionstringFirmware-Version
serial_numberstringSeriennummer
part_numberstringTeilenummer

Weitere Datenpunkte wie git_branch, web_service und IEEE 1547 CRC-Prüfsummen können je nach Firmware-Version vorhanden sein.

wifi_status

WLAN-Verbindungsdaten. Wird maximal alle 60 Sekunden abgefragt.

DatenpunktTypBeschreibung
wifi_connectedbooleanOb die Wallbox mit dem WLAN verbunden ist
internetbooleanOb die Wallbox Internetzugang hat
wifi_ssidstringVerbundene SSID
wifi_infra_ipstringIP-Adresse im WLAN
wifi_macstringMAC-Adresse
wifi_signal_strengthnumberSignalstärke (einheitenloser Qualitätswert, höher = besser)
wifi_rssinumberRSSI-Wert (dBm)
wifi_snrnumberSignal-Rausch-Verhältnis (dB)

Der Adapter erstellt dynamisch Datenpunkte für alle von der API zurückgegebenen Werte. Je nach Firmware-Version kann Ihre Wallbox weitere, hier nicht aufgeführte Datenpunkte liefern.

Abfrageverhalten

Der Adapter verteilt die Anfragen zeitlich, um den eingebetteten Webserver der Wallbox nicht zu überlasten:

EndpunktHäufigkeit
vitalsBei jedem Abfrageintervall
lifetimeMaximal alle 60 Sekunden
wifi_statusMaximal alle 60 Sekunden
versionBeim Start, nach Wiederverbindung und maximal einmal pro Stunde

Anfragen werden nacheinander (sequentiell) gesendet. Wenn ein einzelner Endpunkt fehlschlägt, werden die anderen Endpunkte trotzdem normal verarbeitet. Fehlgeschlagene Endpunkte werden beim nächsten fälligen Zyklus erneut abgefragt.

Der Adapter repariert automatisch bekannte Tesla-Firmware-JSON-Fehler (bare nan-Werte, fehlende schließende Klammer) vor dem Parsen der Antworten.

Haftungsausschluss

Alle Produkt- und Firmennamen oder Logos sind Marken™ oder eingetragene® Marken der jeweiligen Inhaber. Ihre Verwendung impliziert keine Zugehörigkeit zu oder Billigung durch diese oder deren Tochtergesellschaften! Dieses persönliche Projekt wird in der Freizeit gepflegt und verfolgt kein geschäftliches Ziel.

Die Standardeinstellungen sollten für den normalen Betrieb sicher sein. Ein zu kurzes Abfrageintervall kann den eingebetteten Webserver des Wall Connectors überlasten. Falls die Wallbox nicht mehr reagiert, erhöhen Sie das Intervall oder stoppen Sie den Adapter.

Keine Garantie und keine Haftung. Dieser Adapter ist ein Freizeitprojekt, bereitgestellt unter der MIT-Lizenz. Er liest Daten eines Tesla Wall Connectors über eine lokale, nicht dokumentierte API aus. Der Autor übernimmt keinerlei Haftung für Folgen der Nutzung und kann keine Aussage darüber treffen, ob die Nutzung Ihre Garantie- oder Supportvereinbarungen mit Tesla oder Ihrem Installateur beeinflusst. Wenn das für Sie nicht akzeptabel ist, verwenden Sie diesen Adapter bitte nicht.

Changelog

1.3.3 (2026-09-12)

  • Added Node.js 26 to test matrix
  • Dependency updates

1.3.2 (2026-09-04)

  • Dependency updates

1.3.1 (2026-08-14)

  • Dependency updates

1.3.0 (2026-08-04)

  • Added North American split-phase power calculation mode (splitPhase setting)
  • Added recovery for malformed wallbox responses (bare nan, Infinity, and truncated data)
  • Added address validation: clearer error messages for misconfigured wallbox addresses
  • Added 2 MiB response size limit
  • Fixed connection status flapping when the wallbox was partially reachable
  • Fixed charging power (power_w) sometimes showing a stale value after charging stops — now always 0 when not charging
  • Fixed handling of additional malformed sensor readings from certain firmware versions
  • Fixed unavailable sensor readings showing as empty instead of 0
  • Fixed state types sometimes changing unexpectedly, including after adapter restart
  • Fixed alerts and not-ready reasons not updating correctly when the list changes
  • Fixed all data refreshing immediately after connection loss recovery
  • Fixed retry count being off by one compared to the configured value
  • Fixed rare state updates still happening briefly after adapter shutdown
  • Fixed timeout help text showing wrong maximum (now correctly shows 10000 ms)
  • Fixed wallbox requests failing on systems with an HTTP proxy configured
  • Corrected WiFi signal strength metadata
  • Fixed database errors no longer triggering unnecessary reconnection attempts
  • Reduced load on wallbox: version data polled hourly, WiFi and lifetime data every 60 seconds
  • Expanded and corrected documentation

1.2.0 (2026-07-20)

  • (copilot) Adapter requires node.js >= 22 now
  • Added IEEE 1547 CRC state attributes
  • Fixed adapter checker warnings (jsonConfig, pollingTimeout)
  • Replaced plain setTimeout with adapter-managed timers
  • Added calculated charging power state (vitals.power_w)
  • Added specific ioBroker roles for all states
  • Simplified state attribute definitions
  • Fixed startup recovery: adapter now retries if wallbox is unreachable at start
  • Capped retry delay at 1 hour
  • Fixed state attribute typos and placeholder names
  • Updated documentation

License

MIT License

Copyright (c) 2024-2026 Norbert Bluemle github@bluemle.org

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.