Ich hab meine EVNotify-Lösung jetzt verbessert. Mein blaues Dongle hat ja immer brav funktioniert, aber ich hab die Lösung am Handy jetzt deutlich eleganter laufen. Statt meinem alten OnePlus One mit LineageOS 16 habe ich mein noch älteres Nexus 4 mit LineageOS 17.1 (inkl. root per Magisk/MagiskManager) versehen. Das Nexus 4 hat nämlich den Vorteil, dass man per fastboot konfigurieren kann, dass es Android bootet, wenn es im ausgeschalteten Zustand Strom bekommt. (Normalerweise gehen fast alle Handys nur in einen "Lademodus" und zeigen eine Ladeanimation an, fahren aber das Android nicht hoch, solange du nicht die Powertaste drückst.) Dazu habe ich noch mit "Automate" eine passende Automatisierung erstellt, die EVNotify startet und es auch wenn nötig reaktiviert.
Das Handy liegt jetzt in der Mittelkonsole und ist dort am USB-Power angesteckt. Bei ausgeschaltetem Auto ist das Handy zunächst auch aus. Schalte ich den Ioniq ein, dann bekommt das Nexus 4 Strom und bootet Android. Damit wird Automate und EVNotify gestartet. Das connected sich zum Dongle und fängt an, Daten zu übertragen. Wichtig ist in EVNotify PERSISTENT_NOTIFICATION und BACKGROUND_MODE einzuschalten, weil es unter Android 10 (=LineageOS 17.1) sonst nach kurzer Zeit beendet wird.
Wird der Ioniq abgeschaltet, wird die Stromversorgung zum USB-Anschluss ebenfalls abgeschaltet. Meine "Automate"-Skripts fahren das Handy runter (=abschalten), wenn für mehr als 10 Minuten kein Strom da ist. Damit beginnt beim nächsten Einschalten des Ioniqs das Spiel von vorne.
Zusätzlich starten die Skripts EVNotify auch nochmal extra, wenn der Strom innerhalb der 10 Minuten wieder kommt, und tippen in EVNotify ein paar Mal "Settings" und "Dashboard", damit EVNotify ggfs. aufwacht und sich nochmals zum Dongle verbindet.
Jetzt will ich nur noch ergänzen, dass die Skripts auch einen Ladevorgang des Ioniqs erkennen - da ist nämlich auch das USB-Port ohne Strom, wenn man beim Laden den Ioniq ausschaltet. Das Handy soll ja während eines aktiven Ladevorgangs noch nicht heruntergefahren werden. Ich hab dazu 2 Ideen:
1) Irgendwie im UI von EVNotify erkennen, dass gerade ein Ladevorgang stattfindet. Da ist ja ein Energiesymbol aktiv und der Ladestrom ist >0. Muss aber erst rausfinden, welche ID diese Elemente haben und wie ich das mittels Automate-Inspect prüfen könnte. Oder hat irgendjemand noch Ideen, wie man das direkt am Handy erkennen könnte?
2) Ein bisschen über Umwege: per Automate-HTTP-Request von
https://app.evnotify.de/extended den "charging"-State auslesen. Das hab ich soweit schon geskriptet, muss es nur beim nächsten Ladevorgang mal testen. Das baucht halt Internet-Verbindung und lädt genau das wieder runter, was EVNotify ohnehin schon wusste und vorher hochgeladen hat. Irgendwie umständlich.
Bin für weitere Anregungen, Ideen und Vorschläge dankbar.