Nachdem ich ja bereits ein paar Varianten gezeigt hatte, um z.B. Homelink zu benutzen um die Anwesenheit des Teslas zu erkennen, bin ich nun einen Schritt weitergegangen. Ich wollte endlich eine Umfassende Integration, mit automatischer Freischaltung und auch die Anzeige der Fahrzeugdaten in der Loxone App bzw. am Wanddisplay.
Ich hatte mich also mit der Thematik etwas beschäftigt, wie man an die Daten kommen kann. Ich hatte mich recht schnell für IOBroker entschieden. IOBroker ist ein Tool für das es eine Vielzahl Adapter gibt, um alle möglichen Geräte zu integrieren. Ich wollte nicht nur mein Model 3, sondern auch den smarten Stromzähler (ein Modell von Discovery) und ein paar weitere Dinge Integrieren. Den smarten Stromzähler, weil der Hausanschluss recht knapp bemessen ist.
Zunächst habe ich also eine Raspberry Pi 4 bestellt.Er bietet die ideale Grundlage, um auch noch weitere Aktionen zu übernehmen.
Die Installation von IOBroker geht schnell. Per ssh einloggen, und dannzunächst node.js installieren:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs
danach Biobroker:
curl -sL https://iobroker.net/install.sh | bash -
Schon kurz danach kann man dann auf die Webseite zugreifen und die notwendigen Adapter installieren. D
er Tesla-Adapter aber manuell von https://github.com/dbweb-ch/ioBroker.tesla-motors/ genommen werden. Dazu unter Adapter oben auf die Katze drücken, und als Quelle https://github.com/dbweb-ch/ioBroker.tesla-motors/ angeben.
Nach Eingabe der Tesla-Accountdaten werden die Datenpunkte angelegt, und man kann diese direkt unter Objekte sehen:
Für die Kommunikation mit Loxone gibt es nun 2 Möglichkeiten. Zum Austausch numerischer Werte kann man einfach in Loxone einen HTTP-Eingang anlegen, und von diesem direkt Werte Abfragen. Hierzu muss lediglich noch der Adapter „Simple RESTful API“ installiert werden. Will man nun z.B. den Kilometerstand in Loxone anzeigen, so sucht kann man einfach das Objekt „ODOMETER“ nehmen, und den HTTP-Eingang mit der URL „http://192.168.178.141:8087/getPlainValue/tesla-motors.0.vehicle.odometer“ belegen. Dann noch den zugehörigen HTTP-Befehl anlagen:
Die 2. Möglichkeit eigene sich für Texte. Hierzu einen HTTP-Texteingang in Loxone anlegen, und in IOBroker den JavaSkript Adapter installieren. Hier kann dann sehr einfach via Skript ein Wert an Loxone gesendet werden:
var result; on({id: 'tesla-motors.0.vehicle.odometer', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; try { var odo = JSON.parse(getState("tesla-motors.0.vehicle.odometer").val); require("request")(('http://user:pass@192.168.178.x/dev/sps/io/VCI81/' + String(getState("tesla-motors.0.vehicle.odometer").val)).on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } });
Das gibt nun völlig neue Integrationsmöglichkeiten. Meine Umsetzung war nun zunächst das freischalten der Ladestation nur dann, wenn Tessi auch wirklich gerade in der Einfahrt parkt. Zusätzlich kann ich die Ladeleistung drastisch verringern, wenn die Belastung des Hausnetzes zu groß wird z.B. beim duschen. Zum Thema Steuerung der Ladeleistung des TWC hatte ich ja letztes Jahr bereits einen Artikel gemacht. Hier hat sich auch einiges getan, so daß ich in den nachten Tagen hoffentlich den Neuen TWC, der per WLAN gesteuert werden testen werde.