derzeit suche ich nach einer Möglichkeit dafür zu sorgen, dass mein Tesla wenn ich einsteige immer schön vorgeheizt ist. Allerdings ist es so, dass ich ein kleines Kind habe und deshalb nicht immer zur gleichen Zeit zur Arbeit los fahre. Was allerdings konstant ist, ist die Zeit zwischen Aufwachen und losfahren, das sind immer ziemlich genau 75 Minuten.
Derzeit versuche ich immer daran zu denken das Aufheizen per Tesla-App zu starten. Allerdings vergesse ich das häufiger. Außerdem brauche ich bestimmt 2 Minuten bis die App startet, sich zum Auto verbindet und dann das Klima einschalten auch wirklich klappt (-> braucht manchmal zwei Anläufe).
Meine Idee ist die folgende:
Direkt nach dem Aufwachen schaue ich immer auf mein Handy, ich bewege es also. Mein Wunsch ist: Wenn werktags zwischen 05:50 und 07:30 das Handy zum ersten mal bewegt wird, dann soll der Tesla 55 Minuten danach mit dem Heizen beginnen (idealerweise aber nur wenn er am Stromnetz hängt)
Hat jemand schon einmal so etwas realisiert oder hat eine Idee wie es geht?
Mein Ansatz aktuell: Die Handy-Bewegungserkennung mittels „Tasker“ machen (Android-App). Die App kann dann z.B. einen Webservice-Call absetzen oder eine App starten. Allerdings habe ich keine Ahnung was ich damit starten sollte damit es los geht.
Als totaler Programmier-Honk sag ich mal: Mit dem OAuth Token deines Tesla Accounts kannst du laut Remote S App ein Skript schreiben, um die Klimaanlage zu aktivieren. Jetzt brauchst du nur noch einen IFTTT Dienst, der bei Aktivierung eines bestimmten Triggers das Skript auf deinem Server startet, um die Klimaanlage zu aktivieren. Ein richtiger Hacker würde vermutlich einen Amazon Dash Button umprogrammieren und unter den Knopf des Weckers klemmen, der das Weckerklingeln deaktiviert.
Auf dem Handy Tasker der auf das Ereignis „Stromversorgung abgezogen“ wartet. Tritt dieses Montags-Freitags zwischen 05:50 und 07:30 auf, so wird ein Web-Aufruf gemacht.
Der zugehörige Webserver läuft meiner lokalen Synology Disk Station. Sobald da eine bestimmte Url aufgerufen wird führt er ein Python Script aus.
Das Pythonscript nutzt [url]https://github.com/gglockner/teslajson[/url] um zu schauen ob der Chargeport offen ist (dann gehe ich mal davon aus dass der Tesla am Stromnetz hängt). Falls das so ist schaltet er die Klima an.
Mal sehen ob es morgen funktioniert
Auf Dauer wäre aber eine saubere Lösung mit weniger Komponenten sinnvoll.
Teste doch mal das Autom. klimatisieren, vielleicht ist selbst die Beta version jetzt ausgereifter als ich sie letztes Jahr testete. DAmals passierte zwar was, aber oft zur falschen Zeit.
Für mich wäre was Ähnliches interessant:
Das Laden sollte unabhängig davon wie der aktuelle Ladezustand ist, so starten dass es bis zu einem bestimmten Zeitpunkt abgeschlossen ist.
Ebenfalls soll das Klimatisieren in Abhängigkeit von der Außentemperatur rechtzeitig starten so dass das Auto und Batterie warm ist.
Es gibt eine aktivierbare Funktion „intelligentes Vorklimatisieren“ .
Ich weiss allerdings nicht was die macht, habe sie zwar aktiviert, aber irgendwie passiert nichts.
Kann man die irgendwie nützen?
Die Funktion „intelligentes Vorklimatisieren“ benötigt ein erkennbares Muster in der Fahrzeugnutzung. Bei mehr oder weniger ungeplanten bzw sogar zufälligen Fahrten hat die auch keine Chance bzw verbrennt auch noch unnötig Akku zu Zeiten, wo dann doch gar nicht gefahren wird.
Also ich habe für mein iPhone eine App gefunden, ENERGI, mit der kann ich die Klimaanlage für Tag/Woche und Uhrzeit vorprogrammieren.
Ich stehe zu unterschiedlichen Zeiten auf, und habe meinen Tesla darauf programmiert, der heizt jetzt den Winter über zu unterschiedlichen Uhrzeiten das Auto vor.
Die App macht dann einen HTTP-Aufruf (bei mir an ein lokal laufenden Webserver)
Webserver der dann mein „Klima ein“ Python-Script aufruft. Er startet sich auf Port 8002.
#!/usr/bin/env python
import SimpleHTTPServer
import SocketServer
import os
PORT = 8002
class MyRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
if self.path == '/thvac':
print("Running hvac_on")
os.system("cd /volume1/scan/tesla && ./hvac_on")
# os.system("cd /volume1/scan/tesla && ./test")
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
# Send the html message
self.wfile.write("Success")
Handler = MyRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
„Klima ein“ Python script - führt das Kommando nur dann aus wenn der Ladeport auch offen ist (-> bedeutet für mich: Auto steckt am Strom)
Das Script benutzt teslajson - die teslajson-Datei muss im gleichen Verzeichnis liegen.
#!/usr/bin/env python
import teslajson
def connect():
c = teslajson.Connection('email_addresse_bei_my_tesla', 'passwort_bei_my_tesla')
v = c.vehicles[0]
v.wake_up()
return v
def get_charge_state(v):
return v.data_request('charge_state')
v = connect()
state = get_charge_state(v)
if state['charge_port_door_open']:
print("Charge port door is open - will start climate control!")
res = v.command('auto_conditioning_start')
if 'response' in res and res['response']['result']:
print("Success!")
else:
print("Failure: {}".format(res))
Das ist alles ist natürlich böse zusammengehackt - für mich funktioniert es jedoch.
Falls ich Zeit habe ergänze ich das es noch um eine Temperaturabfrage und schalte die Klima nur dann ein wenn die Innentemperatur unter 15°C ist.