NEWS
Test Tesla-Motors v1.0.0
-
@tombox sieht ziemlich gut aus.
Ein paar Sachen habe ich aufgrund meiner Erfahrung mit Teslaschnittstelle und Teslausern im Code gesehen:- Du lässt Updates maximal alle 60 Sekunden zu. Für jemanden der seinen Weg mit dem Tesla aufzeichnen will, ist das zu wenig oft. Einige User wollten das so niedrig wie möglich. Ich denke Ideal wären hier Einstellungen wie: "Refresh time while moving", "Refresh time stillstand") oder sowas.
- Du rufst die Updates mit "interval" auf. Teslas können je nach Empfang manchmal sehr lange brauchen, bis sie antworten, mit Interval riskierst du ein "bubble up" an Events wenn die Abfrage länger dauert als der Interval, was komisches verhalten und hohen Speicherverbrauch zu Folge haben kann. Besser wäre mit setTimeout zu arbeiten.
- beim wake_up wartest du statisch 15 Sekunden, das kann manchmal länger dauern, und falls das Auto nicht erreichbar ist, wird es gar nicht klappen. Ich habe auch öfters gesehen, dass das Aufwachen erst nach einigen Versuchen geklappt hat, deswegen habe ich dort etwas mehr "Logik" eingebaut, siehe: https://github.com/dbweb-ch/ioBroker.tesla-motors/blob/8fd1d74f8d818822e1100a998f38e05627550d71/main.js#L643
- Ich hab deine Logik vom Refresh-Token nicht ganz verstanden, aber sie scheint mir no nicht ganz korrekt. Du musst das Token refreshen, bevor es abläuft (z.B. nach 30 der 45 Tagen), oder mindestens 1 Tag vor Ablauf. Du solltest das Token aber auch nicht zu häufig refreshen, das mag Tesla nicht und es kann gut sein, dass man damit auf die "blacklist" gesetzt wird.
- Du machst statisch 10 Sekunden nach jedem Befehl einen refresh der Daten. Das kann zu früh oder zu spät sein, und kann aber auch gleichzeitig mit dem interval-refresh zusammenfallen. Besser wäre, auf den erfolgreichen Befehl zu warten und dann ein Refresh zu machen.
- checkWaitForSleepState() -> du prüft dort auf Veränderung von bestimmten States. Das macht nur teilweise sinn, und wird teilweise fehlschlagen. z.B. ändert sich die battery_range immer mal wieder auch im Stillstand wenn das auto schlafen soll.
Eher müsstest du auf die einzelnen States eingehen, so oder ähnlich wie ich das hier gemacht habe: https://github.com/dbweb-ch/ioBroker.tesla-motors/blob/8fd1d74f8d818822e1100a998f38e05627550d71/main.js#L133
bei chargeState ist das auf Userwunsch so implementiert, damit das Laden sauber überwacht werden kann, er aber bei nichtladen und anschgeschlossen trotzdem mal schlafen kann.
Das wäre was ich jetzt so im Code gesehen habe, noch ohne zu testen.
Gute Arbeit soweit!
-
@dbweb
Das Minimum war bei 30sek aber habe es auf 10 Sekunden reduziert. Aber so eine niedrige Anzahl kann leicht zur Sperrung führen. Die zwei Intervalle kann ich machen wenn ich nochmal lust habe.Bei sehr niedrigen Intervallen kann das passieren ja. Aber so ein request bricht ja nach 20 Sekunden eh ab.
Ich wecke jetzt bis der status online ist
Bisher habe ich immer ein neuen ownerToken geholt wenn der auth Token refresht werden muss. Also alle 8h. Eigenartig das man für AuthToken gesperrt werden kann. Ich hole jetzt ein ownerToken bei 0.75 der expiration time
Ich warte jetzt auf die Übermittlung des Befehls aber das heißt nicht das er ausgeführt ist das kann man denke ich nicht feststellen.
Ich habe battery_range auf battery_level geändert. Was spricht dagegen dass wenn sich keiner dieser states ändert auf den sleep zu warten. Wenn geladen wird dann muss sich ja innerhalb von 15min der battery_level ändern.
-
@tombox
Sperrung wegen zu häufiger Abfrage habe ich bisher noch nicht gesehen. Die TeslaApp von Tesla selbst fragt bei fahrendem Fahrzeug sehr oft ab, man sieht die Bewegung fast "live", also denke ich im Bereich von 1s.
Bisher war das Auth-Token 45 Tage gültig, nicht nur 8h.
Was spricht dagegen dass wenn sich keiner dieser states ändert auf den sleep zu warten.
Umgekehrt, nicht zu schlafen, nur weil sich battery_level ändert wäre schlecht. Die Batterie entlädt sich immer etwas und "bewegt" sich daher ständig. Hab mal nen Pull-Request gemacht.Ansonsten können wir hier jetzt wohl mal auf Rückmeldung der User warten.
-
@dbweb Ich denke nicht das die App die daten über Rest pullt, das würde die API nicht aushalten.
Ich denke die App wird die Daten streamen. Das macht auf jeden Fall mehr sinn als die Api zu bombardieren
https://github.com/dirkvm/teslams/blob/9467f7264961ecc1a609af25a68df3b57c9eb521/examples/streamws.js#L245Auth Token 8h. OwnerToken 45Tage
Habe den PR übernommen. Aber die battery_level schwankt alle 15min? -
@tombox Hallo, danke für den Adapter!! Ich sehe den Adaptern den Instanzen nur wenn ich ihn über den alten Installiere. Wenn ich den alten deinstalliert und dann den neuen installiere sehe ich keine Instanz trotz dessen die Version in der Adapter Übersicht als Installiert angezeigt wird und die Objekte sind auch vorhanden.
-
@keksn Du musst dann unter Adapter gehen nach tesla suchen und dann auf +
um eine Instanz zu erzeugen
-
oh Gott Anfängerfehler..Danke LG
-
@tombox ah die streamapi hatte ich überlesen, ja das macht durchaus mehr sinn, können wir ja mal als "feature" für die Zukunft planen, klingt ja auch nicht sehr kompliziert zum implementieren.
weis nicht genau was du mit "authToken" und "OwnerToken" meinst, bisher kenne ich das "access_token" welches bei jedem Request mitgeschickt wird und 45 Tage gültig ist, und das "refresh_token" welches verwendet wird, um ein neues Access-Token zu holen. Evtl. haben wir aneinander vorbei geredet.
-
@tomboxwelches Objekt ist jetzt "UnlockChargePort" ?
-
@keksn zum steuern
tesla-motors.0.xxx.remote.charge_port_door_open -
-
@dbweb eine Zwischenfrage: der Aktualisierungsinterval wird ja je nach Zustand des Fahrzeugs geändert. Kann man auch sagen welche Daten aktualisert weden oder werden immer alle aktualisiert?
Beispiel: beim Laden ist interessant charge_power relativ schnell zu aktualisieren, wohingegen eine Änderung der GPS-Daten und Fahrgeschwindigkeit keinen Sinn machen. Andersrum bei der Fahrt interessiert nicht charge_power. -
@lobomau Ich persönlich denke das man den aktualisierungsinterval nicht abhängig vom Zustand nutzen sollte.
Wer live daten will kann die stream daten nutzen.
Ich denke mal das baue ich heute abend schnell ein -
@tombox ja, ok. Ich hatte zwar kurz den Begriff "stream daten" aufgenommen. Wenn das damit irgendwie geht, warum nicht.
Ich werde danach auch mal deine/eure neue Version installieren und testen -
@dbweb Ich habe mal streaming eingebaut lässt sich über die optionen aktiveren und es wird in streamData gespeichert.
Anscheinend gibt es noch kein weg die verbindung aufrecht zu halten.
Vielleicht passiert das nur wenn das auto fährt.
deswegen habe ich die aggressive reconnect eingefügt da verbindet er immer wieder ansonsten mit jedem intervalIm debug mode kann man sehen was für Nachrichten kommen und auch wie oft disconnect kommt während einer Fahrt
-
@dbweb ich habe das streaming eingebaut aber die app selber nutzt ihn nicht sondern hämmert wirklich jede 1 sekunde auf die API ein und holt sich nur den drive_state habe dafür ein zweiten interval eingebaut
-
@tombox ok, habs mal getestet, der Stream läuft, wenn auch etwas sehr "instabil":
tesla-motors.0 2021-08-30 08:31:13.114 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:31:01.717 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:31:01.716 debug WS open tesla-motors.0 2021-08-30 08:30:59.456 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:30:48.000 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:30:36.488 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:30:24.796 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:30:13.336 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:30:01.832 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:30:01.831 debug WS open tesla-motors.0 2021-08-30 08:29:59.640 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:29:47.894 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:29:36.495 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:29:24.823 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:29:13.275 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:29:01.713 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:29:01.711 debug WS open tesla-motors.0 2021-08-30 08:28:58.879 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:28:47.500 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:28:36.091 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:28:24.612 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:28:13.218 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:28:01.730 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:28:01.728 debug WS open tesla-motors.0 2021-08-30 08:27:59.690 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:27:48.219 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:27:36.667 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:27:25.186 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:27:13.742 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:27:02.323 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:27:02.320 debug WS open tesla-motors.0 2021-08-30 08:26:59.669 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:26:47.733 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:26:36.322 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:26:24.797 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:26:13.057 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:26:01.695 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:26:01.694 debug WS open tesla-motors.0 2021-08-30 08:25:58.944 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:25:47.478 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:25:36.171 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:25:24.578 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:25:13.196 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:25:01.708 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:25:01.706 debug WS open tesla-motors.0 2021-08-30 08:25:00.460 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:24:50.459 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304689069,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:24:48.785 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:24:38.785 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304677406,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:24:37.015 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:24:27.013 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304665695,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:24:25.427 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:24:15.427 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304653933,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:24:13.418 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:24:03.417 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304642023,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:24:01.796 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:24:01.795 debug WS open tesla-motors.0 2021-08-30 08:23:51.581 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304630151,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:23:49.794 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:23:39.793 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304618357,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:23:37.109 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:23:27.105 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304605728,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:23:25.341 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:23:15.341 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304594024,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:23:13.668 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:23:03.670 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304582232,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:23:01.745 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:23:01.743 debug WS open tesla-motors.0 2021-08-30 08:22:16.320 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:22:04.633 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:22:04.631 debug WS open tesla-motors.0 2021-08-30 08:21:59.128 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:21:47.735 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:21:36.411 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:21:25.017 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:21:13.286 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:21:01.707 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:21:01.705 debug WS open tesla-motors.0 2021-08-30 08:20:59.464 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:20:48.054 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:20:36.531 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:20:25.027 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:20:13.466 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:20:01.775 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:20:01.773 debug WS open tesla-motors.0 2021-08-30 08:19:59.806 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:19:47.423 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:19:36.005 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:19:24.588 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:19:13.206 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:19:01.747 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:19:01.746 debug WS open tesla-motors.0 2021-08-30 08:19:00.466 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:18:50.465 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304329128,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:18:48.546 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:18:38.550 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304317130,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:18:36.322 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:18:26.317 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304304986,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:18:24.732 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:18:14.733 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304293360,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:18:13.133 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:18:01.691 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:18:01.688 debug WS open tesla-motors.0 2021-08-30 08:18:00.944 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:17:50.944 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304269002,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:17:48.621 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:17:38.620 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304257282,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:17:36.701 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:17:26.700 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304245321,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:17:25.104 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:17:15.102 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304233758,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:17:13.520 debug WS received:{"msg_type":"data:error","tag":"1111184237","value":"disconnected","error_type":"vehicle_disconnected"} tesla-motors.0 2021-08-30 08:17:03.518 debug WS received:{"msg_type":"data:update","tag":"1111184237","value":"1630304222159,,23917.5,57,455,36,46.014256,7.111145,0,,166,179,34"} tesla-motors.0 2021-08-30 08:17:01.817 debug WS received:{"msg_type":"control:hello","connection_timeout":0} tesla-motors.0 2021-08-30 08:17:01.811 debug WS open
Werde am Mittag mal beobachten was rauskommt, wenn das Auto fährt.
Was mir noch auffällt: Je nach Einstellung im Auto hatte ich in meinem Adapter alle Werte von Meilen nach Km umgerechnet, dafür muss man aber natürlich auf die einzelnen States eingehen. Sollen wir das ab V1 lassen und die Leute selbst umrechnen lassen?
-
@dbweb Ja habe ich auch gesehen wenn das auto nicht fährt dann disconnected das fahrzeug nach 30sek. Wenn es Fährt dann erst nach ca 5min
-
Ich habe mal noch etwas nachgelesen und getestet.
Die WS-Api könnte man auch dazu brauchen, den Schlafprozess zu optimieren.
Ich habe die WS-API bei mir mal als "immer aktiv" eingebaut.
Was ich festgestellt habe:
Aufwecken: Das Auto schläft, ich wecke es auf indem ich die TeslaApp öffne. Sobald das auto wach war, habe ich sofort ein "update" über WS erhalten.
D.h. man könnte einbauen, dass falls das Auto schläft, bei einem WS-Received sofort ein checkState läuft, ein Aufwachen würde man somit sofort bemerken und nicht erst nach dem eingestellten Interval. Wenn das Stabil läuft, könnte man beim schlafen sogar ganz auf die RestApi verzichten und nur noch per WS überwachen.
Einschlafen: Ich habe das auto einschlafen lassen, dabei aber die WS-Api aktiviert gelassen.
Das Auto ging nach 10 Minuten schlafen. WS hat das Auto nicht am schlafen gehindert, hat aber noch bis 30 Sekunden vorm Schlafen updates geliefert.
D.h. man müsste nicht mehr 30 Minuten warten bis "Waiting for sleep" beginnt, sondern könnte schon viel früher damit beginnen, dank der WS-Api würde man ein Losfahren trotzdem bemerken (shift_state) und das einschlafen abbrechen.
während das Auto schläft kriegt man vom WS auch keine Updates, ich kriege nur 1x pro Minute beim Wiederaufbau der Verbindung ein "control:hello" zurück.
Fahren:
Ich habe das Auto mal rasch umparkiert. Sobald man fährt, liefert WS sehr viel häufiger Daten. Die ersten 4 Datensätze kamen innerhalb von 12ms (gemäss log), danach im Schnitt 2x pro Sekunde. Sobald das auto wieder auf "P" umgestellt war kam ein "disconnected" und danach war der Stream wieder langsam, also auf ca. 10 Sekunden.Ich lasse die WS-Api jetzt mal einen Tag aktiv, mal schauen wie sie reagiert, wenn das Auto bewegt wird. Interessant dürfte auch noch sein wie sich das ganze verhält, wenn das Auto nicht erreichbar ist.
Kleines Detail noch vom WS-Stream:
State value to set for "tesla-motors.0.1234567891234567.streamData.speed" has to be type "string" but received type "number"
-
@dbweb Das ist ja wirklich interessant. Wenn es nicht erreichbar ist versucht er trotzdem wieder zu verbinden.
Mann könnte für alle nicht disconnect fehler vielleicht ein timeout einbauen.
Das wichtige ist auch ob es sich auf den Akkustand auswirkt also wenn er im wach zustand diese daten liefern muss.Lösche mal den ordner streamdata ob dann die type warning weg ist und dann noch die letzte aktuelle version installieren