[Modul] Tesla

Hallo Kai,
ich war es nicht…

Aber zu deiner 2. Frage: es fehlen noch Variable

TeslaCharging:
Key: minutes_to_full_charge

TeslaGuiSettings:
Key: show_range_units

TeslaVehicle

TeslaVehicleConfig:
Key: ece_restrictions - Value: 1
Key: use_range_badging - Value: 1

Kann mir jemand sagen, wie man den Timestamp in ein lesbares Format bringt? Es scheint sich nicht um einen UNIX-Timestamp zu handeln.

Gruß, Peter

Moin Kai,

wieso kann man nicht die Instanz „TeslaVehicleControl“ mit FetchData aktualisieren ? Bei allen anderen Instanzen klappt es ja.

Tesla_FetchData (21433);
Fatal error:  Uncaught Exception: Instance does not implement this function in /var/lib/symcon/scripts/__generated.inc.php:2490
Stack trace:
#0 /var/lib/symcon/scripts/21037.ips.php(3): Tesla_FetchData(21433)
#1 {main}
  thrown in /var/lib/symcon/scripts/__generated.inc.php on line 2490

Oder komme ich irgendwie anders an den Status des Autos wenn er „schläft“ ohne ihn aufwecken zu müssen ?
Ich weiß jetzt nicht wie die API genau funktioniert, aber man könnte ja ansonsten wenn FetchData von den anderen Instanzen nichts her gibt weil das Auto schläft die Variable „State“ unter Vehicle Control auf „schläft“ setzen.

Gruß
Christian

Sorry Peter, ich glaube ich hab Blödsinn erzählt. Das Aufwecken funktioniert viel einfacher in dem du die Systemvariable nutzt.
Das was ich geschrieben hatte funktioniert bei mir gar nicht. :rolleyes:

Folgendes benutze ich nun zum aufwecken:

Tesla_WakeUP (INSTANZ ID von Vehicle Control)

1 „Gefällt mir“

ja, mache ich inzwischen auch so.

@Kai,
die fehlende Abfragemöglichkeit auf „Status“ fehlt mir auch.

Gruß, Peter

Den Status kann man glaube ich gar nicht abfragen, ohne das Auto zu wecken.
Was willst du denn bei TeslaVehicleControl aktualisieren? Mit der Instanz kannst du ja nur das Auto fernsteuern.

Grüße,
Kai

Stimmt, die Instanz abzufragen macht keinen Sinn wenn Status keine Rückmeldung gibt. Das wäre nämlich die einzige Varible dort die interessant wäre. Dann wäre es aber trotzdem eine Hilfe, wenn das Modul die Variable Status von Online auf „schläft“ setzt, wenn nach einer Abfrage einer Instanz sich keine Variablen aktualisieren weil das Auto schläft. Denn so steht die Variable immer auf „ONLINE“. Das würde mir bei meiner Ladesteuerung etwas helfen.

Hier mal ein Beispiel aus dem Teslalogger der bei mir auch im Docker läuft. Dort hat man in einem Grafana Dashboard auch eine schöne Übersicht über die Stati, wo auch „schlafen“ enthalten ist.

Grüße

Hallo,
habe bei der Instanz TeslaVehicleControl auch ein Zeitlimit eingetragen.
Der Status hat sich von online auf standby geändert.
Das sollte dann auch bei einer manuellen Aktualisierung passieren.
Werde mal weiter test/beobachten.

Gruß, Peter

Wäre dann ja praktisch wenn man in der Instanz „Vehicle Control“ einen zweiten Intervall ohne ein „WakeUp“ im Hintergrund angeben könnte. So könnte man alle 10 min z.B. abfragen ob er online ist oder sich immer noch im Standby befindet.

so geht es:

$result = Tesla_State(28709);

$result enthält „online“ oder „asleep“
Tesla wird nicht geweckt!

Gruß, Peter

Moin Moin,

es kommt in letzter Zeit häufiger vor, dass das „Fahrzeug“ aus dem Modul verschwindet und dann natürlich nichts mehr geht.
Muss erst in die Instanzkonfig und das Auto wieder auswählen. Kann man das im Modul eventuell automatisieren ?

Wenn Fahrzeug verschwunden, automatisch wieder hinzufügen ?

Grüße

Muss man mal schauen, wieso das Fahrzeug verloren geht.
Kannst du mal versuchen etwas rauszufinden?

Grüße,
Kai

Das liegt definitiv nicht am Modul. Ich hab schon gegoogled, aber nichts gefunden. Wenn es im Modul verschwindet, bekomme ich auch in der App auf dem Smartphone beim öffnen eine Meldung, dass das Auto nicht mehr vorhanden ist. Nach dem wegdrücken der Meldung meldet er sich aber normal an und alles ist wieder gut.
Nicht nachvollziehbar, warum das auftritt. Vielleicht passiert das wenn Tesla im Hintergrund was an ihren Systemen schraubt.

Eine Prüfung alle X Stunden, ob das Fahrzeug noch vorhanden ist im Modul wäre ja schon cool.

Ich weiß nicht genau, aber vielleicht kann man sich bei anderen ja etwas im Code abgucken :confused: Beim Teslalogger muss ich nichts unternehmen wenn das Problem auftritt.

Schönen restlichen Ostermontag wünsche ich !

Könnte das an einem abgelaufenen Token der Tesla API liegen?

Ich habe mich mal dran versucht ein Script zu schreiben welches abhängig davon was das Fahrzeug grad tut die Werte abzurufen.
Also Charging und Climate wenn es lädt, Climate, Drive und Vehicle während der Fahrt.
Manches wenn er parkt, aber Sentry Mode an ist. Aber bloss aufhören, wenn sentry mode nicht an ist und laden abgeschlossen, weil dann soll er schlafen gehen. Und nach dem Fahren soll er natürlich auch schlafen gehen wenn niemand mehr im Auto sitzt. Aber natürlich nicht wenn nach dem Fahren geladen wird.
Es ist sowas von unübersichtlich geworden, dass ich das ganze nochmal komplett von vorne machen will…
Gibts da jemanden, der Ähnliches vor hat?

Achja, ich bekomme seit kurzem immer wieder timeouts:
Curl-Fehler: Connection timed out after 30001 milliseconds in <b>/var/lib/symcon/modules/.store/info.schnittcher.ips.tesla/IPS-TeslaClimate/module.php</b> on line <b>77

Obwohl das Auto erreichbar ist.
Und dazu passend dann:
Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /var/lib/symcon/modules/.store/info.schnittcher.ips.tesla/IPS-TeslaSplitter/module.php:323

Durch den Aufruf von State() bzw isOnline()

Bin ich damit alleine?

Hallo fibs,
habe die Aktualisierung für Charging in meiner Umgebung realisiert. Ist aber erstmal nur „aus der Hüfte geschossen“. Ich muss das auch nochmal neu aufsetzen, will aber noch abwarten, bis meine Elektroinstallation umgestellt ist.
Kannst ja mal erste Ergebnisse hier veröffentlichen bzw. neuen Thread aufmachen, wenn das nicht zum Modul gehört.
Im Modul fehlen noch ein paar Variable.
Bei allem, was man noch so drumherum programmiert ist immer darauf zu achten, dass der Tesla auch mal schlafen muss:)

Gruß, Peter

Ich nutze das Modul nur zum aufwecken und PV Überschuss laden… Dafür hab ich mir diverse Abhängigkeiten in meinen Scripten eingebaut, damit das Auto auch nur geweckt wird wenn es sein muss. Aber finde es schön, dass es hier noch Gleigesinnte gibt, die ähnliches basteln :wink:

Bei mir gibt es einiges zu beachten.

  • Hausakku 14 kwh
  • Heizstab für Brauchwasser 3kw
  • Tesla 75 kwh
    • die ganzen Hausverbraucher…

Und meine PV Anlage macht nur maximal 6 kw… eher 5,5 und ich speise nichts ein. Rein auf Eigenverbrauch getrimmt. Daher muss die Steuerung alles gut im Griff haben. Ich fahre jetzt schon aus Langeweile durch die Gegend oder gönne mir alle 2 Tage nen Eis bei Macces damit ich den Tesla leerer bekomme. Denn wenn der voll ist (80%…90%) dann weiß ich bei dem Wetter aktuell nicht wohin mit dem ganzen Strom. Ich glaub ich stell schon mal den Pool für die Kids auf und schließe ne Heizung an :smiley:

Servus Peter,
mir würde eigentlich zunächst das „wecken“ reichen.

Klappt das bei Dir?

Danke

Hallo jber62,

es gibt zwei Möglichkeiten TESLA zu wecken:

  1. über die Schaltfläche in TeslaVehicleControl (wenn du im Web schalten möchtest)
    oder
  2. mit dem Befehl Tesla_WakeUP(28709); (28709 ist die Instanz TeslaVehicleControl

Ich habe das in einem Testprogramm zur Ladekontrolle mal so gebaut:


$result = Tesla_State(28709);   // Rückgabewert = "online" oder "asleep"
//echo $result;
IF($result == "asleep") 
{
    $result = Tesla_WakeUP(28709);
    sleep(5);
    $result = Tesla_State(28709);
    $result = Tesla_FetchData(53766);
    $result = Tesla_FetchData(47308);
}


Gruß, Peter

@KaiS

mir fehlt in der Instanz TeslaVehicleControl die Status-Variable für den Sentry-Mode.
Im Script kann ich mit
Tesla_SetSentryMode($id_tvc,false);
den Wächter-Modus ein oder ausschalten.

Kannst du das im nächsten Release berücksichtigen?

Wenn ich richtig beobachte, werden die Instanzen bei Erreichen des vorgegebenen Intervalls nur aktualisiert, wenn der Tesla wach ist.
In meinen Testscripten gehe ich weiterhin davon aus, dass der Tesla duch ein fetchData nicht geweckt wird. Das ermöglicht mir trotz häufigem Abfragen den Tesla schlafen zu schicken.
Unter diesem Hintergrund macht es wenig Sinn ein Intervall in den Instanzen einzugeben. Gibt es hier die Möglichkeit duch Eingabe „0“ den Intervall zu unterdrücken?

Gruß, Peter

Ich schaue mir das bei Gelegenheit mal an.
Wird der Tesla wirklich nicht geweckt, wenn du die FetchData Funktion aufrufst?
Bzw. wenn man zu oft hintereinander abfragt, dann geht der Tesla glaube ich nicht von alleine in den Standby Modus.

Grüße,
Kai