AutoMonitor - Messwerte vom Auto über OBD (Verbrauch, Diagnosewerte etc) in FHEM

Begonnen von Johannes, 05 November 2014, 19:17:06

Vorheriges Thema - Nächstes Thema

peterk_de

Bei mir bewegt sich jetzt endlich was ;-) Das war ein steiniger Weg und ich bin auch noch nicht 100% am Ziel:

Die Knackpunkte sind/waren Stromversorgung, Kühlung und Stabiles Netz.

Vor längerem hatte ich es mit einem Raspberry, einer S.USV zur Stromversorgung und dazu einem USB-UMTS-sticks und einem USB-GPS-Empfänger versucht. Hier habe ich aber bis zum Schluss keine stabile Internetverbindung mit hinbekommen und es letztenendes aufgegeben. Stromversorgung (Hochfahren, wenn 12V-Netz an) und Kühlung (40mm Lüfter, gesteuert über die Raspberry-GPIOs) sowie GPS liefen aber gut. Problematisch war für mich hier auch der Diebstahlschutz (irgendwo auf die SD-karte muss ja die SIM-PIN, damit das Teil bootet ...)

Ich habe mir daher für 40 Euro (!) bei Ebay ein Samsung Galaxy S7 Edge mit Spider-App, aber ansonsten komplett funktionierendem Display erstanden. Dieses Modell hatte ich wegen des angeblich aufwendigen Kühlsystems und der vielen verbauten Sensoren ausgesucht. Zugleich wollte ich es möglichst dauerhaft (und nicht nur bei Zündung an) laufen lassen, ohne die Autobatterie leerzunuckeln.

Und das funktioniert so: Das Handy kommt an eine 20000mAh-Powerbank. Die Powerbank selbst kann über USB-PD mit 45W aufgeladen werden (man braucht natürlich dann auch einen USB-PD-fähigen 12V-USB-Charger, gibt es aber auch für schmales Geld). Wenn ich jetzt fahre, wird die Powerbank sehr schnell wieder voll, wenn das Auto steht, nuckelt sie das Handy mit ca. 0.8 Watt leer. das haut für mein KFZ-Nutzungsprofil hin. Kritisch ist nur, dass sich viele Powerbanks bei zu geringem Stromfluss einfach abschalten - das von mir verwendete Modell macht das aber bislang mit eingestöpseltem Handy tapfer.

Außer wenn das Handy zu viel Hitze abbekommt und sich herunterfährt, und das passiert bei einem sonnigen Parkplatz leider durchaus. Das ist bislang mein einzig verbliebenes Problem, was es noch zu lösen gilt, ohne viel Strom zu verblasen. Denn auch ein Lüfter hilft in einem auf 50 grad aufgeheiztem Innenraum nicht wirklich und Peltier-Elemente saugen etwas zu viel Strom ...

Was die Software angeht, bin ich nach dem Testen diverser gps-Tracking-Apps jetzt komplett auf Automagic umgeschwenkt. hier kann ich nämlich das Übetragungsintervall selbst entscheiden: Messe ich über das Handy-Accelerometer eine Bewegung, wird im 5s-Rhytmus zu FHEM übetragen, sonst (
Zumindest die GPS-Koordinaten) eigentlich gar nicht und ich kann mir diverse schöne readings bauen
(Auto Fährt / steht, Helligkeit / Temperatur / Luftdruck im auto etc.)

Und vor allem: Kann ich so kontinuierlich übertragen, ob meine diversen G-Tags (Bluetooth-Keyfinder) im Auto liegen. Das ist für mich aktuell das Killerfeature schlechthin und funktioniert stabil. Auch mehrere spaßige ,,Warnmeldungen" habe ich schon implementiert (Autoschlüssel-G-Tag nicht im Auto + Motion detektiert —> Pushnachricht; Autopapiere nicht im Auto + Auto bewegt sich -> Pushnachricht; Und jetzt die beste: Irgendein G-Tag (z.B. von Rucksack) im Auto, aber kein Autoschlüssel und dann auf einmal Rucksack nicht mehr im Auto —> Pushnachricht ;-))

Aktuelle Baustelle ist jetzt eigentlich nur noch die OBD-integration (primär für den Tankinhalt in % und den Gesamt-KM-Stand) und das Problem mit der Kühlung von dem Handy ... ich berichte in loser folge über meine Fortschritte ;-)

FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

visionsurfer

Hallo,

ich bin am überlegen mir so einen OBD 2 Stecker von ryd bei Amazon zu bestellen.
Kann man diesen irgendwie in FHEM einbinden um ein paar Werte von seinem Auto ins FHEM zu bekommen ?

Wie ist da der Stand der Dinge ?

Grüße,
Visionsurfer

peterk_de

Hier kann ich bislang nur berichten, was NICHT funktioniert (vielleicht auch hilfreich). Ich habe aktuell einen icar2 OBD2 Adapter mit WLAN. Der funktioniert prinzipiell wie beworben, hat aber für meinen Zweck zwei Showstopper verbaut:

- WLAN statt Bluetooth. Man (=ich) bekommt ein Android-Device nicht wirklich dazu, sich mit dem Teil (das selbst als Hotspot fungiert) zu verbinden und gleichzeitig HTTP-Requests aber über LTE abzusetzen. Ich dachte ursprünglich, per WLAN wäre das Teil einfacher ,,hackbar", aber da habe ich mich getäuscht - eben wegen der dann bestehenden Internet-Verbindungsproblematik unter Android.

- Einen Anschaltknopf: Das Ding geht oft zwar von allein an, wenn man die Zündung anschaltet, aber beileibe nicht immer. Dann muss man da erst den Anschalt-Knopf drauf drücken. Das ist natürlich ein absolutes NoGo.

Als nächstes probiere ich dann ein Bluetooth-Teil von Scantool. Kostet zwar das 5fache, aber soll wohl mit am besten laufen, hat keinen Power-Knopf und guten App-Support.

Das logging will ich dann mit der Torque App (die kann Realtime Logging via HTTP - ideal!) und einen kleinen PHP-Script machen, dass den Kram dann zu FHEM rüberreicht (so wie ich das auch schon bei Automagic tue.)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

det.

Ich habe seit ca. 40.000km so ein Ding von Pace im Auto. Das hat die Daten in einer Cloud, die sind über eine IOS App und über eine Website abrufbar, von dort könnte man die bei Bedarf über HTTPMOD in Fhem einbinden. Das  System war in der Anfangsphase  recht holprig, macht es jetzt mMn aber recht ordentlich.
Bitte ausdrücklich nicht als Werbung verstehen, nur als mögliche Systemanregung. Auch werde ich ,,gutgemeinte " Hinweise zur Sinnhaftigkeit meiner Autodaten in einer Cloud nicht kommentieren...

LG
det.

peterk_de

So, nun läuft das hier wie es soll, (fast) alle geplanten Readings sind auf dem Flur-Wandtablet, mal sehen wie lange ^^

Ich habe nun einen ScanTool OBDlink MX+ am Start. Der hat einen eingebauten Autobatterie-Spannungssensor und schaltet sich bei konstanter Spannung (=keine Aktivität im Auto) nach einer Weile ab und bei Spannungsschwankungen (es reicht bei mir die Zentralverrigelung) wieder an und reconnected dann auch sauber mit der App (Torque für Android).

Torque habe ich dann so konfiguriert, dass es "Live Logging" alle 5 Sekunden zu einem PHP-Script auf meinem Webserver macht, welches die Messwerte wiederum zu FHEM weiterreicht. Auch das klappt. Durch die automatische Abschaltung des ODB-Dongles kriege ich während der Fahrt sehr dicht Messwerte und bei Stillstand nach einer Weile keine mehr aus dem CAN-Bus, so dass die Autobatterie nicht in die Knie geht.

Sicherheitshalber beende ich Torque nach 30 Minuten Stillstand (per Automagic und Accelerometer vom Handy), weil ich irgendwo las, dass sonst der Dongle nicht schlafen geht, das scheint aber gar nicht nötig zu sein ....

Jetzt fehlt eigentlich nur noch ein Dauertest und ... viel schlimmer, eine Kühlung für das Handy in die heißen Mittagsstunden im Sommer ... das wird knifflig ^^. Und ich muss noch ein paar weitere PIDs für mein Auto rausfinden, ich will noch eine eventuelle Wischwasserwarnung und den Status der Autotüren (abgeschlossen / offen) auf dem Tablet haben. Liegt alles auf dem Bus aber die Hersteller machen da eine Gewese sondersgleichen drum ...
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

carlos

Hi,
Interessant, hast du dazu ein eigenes php script entwickelt oder z.B. dieses https://github.com/econpy/torque genommen.
Wie reichst du die Daten an FHEM weiter?
Könntest du das Script zur Verfügung stellen?
Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

peterk_de

Jo klar ... allerdings ist das sehr unschön / provisorisch und eigentlich nur "für den internen Gebrauch" ;) Das Tool auf Github war mir aber zu sperrig, deshalb hab ich das deutlich reduziert und z.B. auch nur die PIDs, die ich brauche, hart codiert.

Die Verbindung zu FHEM könnte (sollte) man deutlich schöner / effizienter machen. Am besten per Telnet. Aaaaber wie das halt so ist wenn man schnell Ergebnisse will ;)

Wichtig auch: Das Skript sollte unbedingt auf einen Webserver mit TLS an und ordentlichem HTTPS-Zertifikat (--> Letsencrypt).

Außerdem musst du mindestens FHEM-IP, Dummy-Device und Torque-ID anpassen. Wenn du - was sehr wahrscheinlich ist - in der entsprechenden FHEM-Instanz CSRF-Tokens verwendest, müsstest du das noch in die Subfunktion fhemCmd einbasteln (gabs einige Threads zu).

Die PIDs von mir hab ich mal dringelassen, die kannst du ja in der Torque-App frei konfigurieren. GPS kommt seitens Torque immer mit, brauch ich aber nicht (das läuft bei mir separat über Automagic) - wenn du das willst brauchst du nur das entsprechende "continue" entfernen.

<?php

//error_reporting(E_ALL);
//ini_set('display_errors', 1);

$server_path "http://192.168.1.3:8083/fhem";

$deviceName "auto.torque"// Dummy-Devicename in FHEM

$fhemCmdLine "";

if (
strcmp($_GET['id'], 'aabbccddeeff0011223344556677') !== 0) { // Eigene Torque-ID, siehe App

    
header('WWW-Authenticate: Basic realm="Auth"');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
'HTTP/1.0 401 Unauthorized';
    
    
$fhemCmdLine "setreading $deviceName obd_torque_authStatus authError";
    
fhemCmd($fhemCmdLine);
    exit;

} else {

  
$fhemCmdLine "setreading $deviceName obd_torque_authStatus authOK;";
  
fhemCmd($fhemCmdLine);
  
}



// Format des Requests durch Torque:
// https://xy.de?eml=xxxxxxxxxxxxxxxx@xxxxxxx.de&v=8&session=1111111111111&id=111f11f1ff111111ff11111f11111f11&time=1486157475464&kff1005=8.328674867738133&kff1006=49.55773920280324&kff1001=1.7127182&kff1007=0.0&kff1270=991.43164&kff1223=-0.00826598&kff1220=-0.10055465

$fhemCmdLine "setreading $deviceName obd_torque_heartbeat an;";


if (
sizeof($_GET) > 0) {

    foreach (
$_GET as $key => $value) {

       if (
preg_match("/^k.*/"$key)) {
        
          
$pid substr($key,1);
          
$reading "unknown_".$pid;

  if ($pid == '222813') {
             
$reading 'reifen_vl';
             
$value round($value 14.5042);
             
          } elseif (
$pid == '222815') {
             
$reading 'reifen_hl';
             
$value round($value 14.5042);
             
          } elseif (
$pid == '222814') {
             
$reading 'reifen_vr';
             
$value round($value 14.5042);
             
          } elseif (
$pid == '222816') {
             
$reading 'reifen_hr';
             
$value round($value 14.5042);
             
          } elseif (
$pid == '21') {
             
$reading 'km_seit_fehlerlampe';
             
          } elseif (
$pid == '31') {
             
$reading 'km_seit_fehlerreset';
             
          } elseif (
$pid == 'd') {
             
$reading 'speed';
             
$value round($value);
             
          } elseif (
$pid == '3c') {
             
$reading 'cat_temp';
             
$value round($value);
             
          } elseif (
$pid == '1f') {
             
$reading 'motor_running_time';
             
$value round($value);
             
          } elseif (
$pid == 'ff1207') {
             
$reading 'verbrauch_momentan';
             
$value round($value2);
             
           } elseif (
$pid == '05') {
             
$reading 'temp_kuehlwasser';
             
$value round($value);
             
          } elseif (
$pid == '4a') {
             
$reading 'pct_gaspedal';
             
$value round($value1);

          } elseif (
$pid == 'ff1238') {
             
$reading 'carbattery_voltage';
             
$value round($value1);

          } elseif (
$pid == '2f') {
             
$reading 'pct_tank';
             
$value round($value);

          } elseif (
$pid == 'c') {
             
$reading 'motor_rpm';
             
$value round($value);
                          
          } elseif (
$pid == '46') {
             
$reading 'temp_aussen';  
             
$value round($value1);  
                                  
          } elseif (
$pid == 'ff1005') {
             continue; 
// Kein Reading hierfür erstellen
             
$reading 'longitude';  
             
$value round($value6);    
                                
          } elseif (
$pid == 'ff1006') {
             continue; 
// Kein Reading hierfür erstellen
             
$reading 'android_gps_latitude';  
             
$value round($value6);      
                                
          } elseif (
$pid == 'ff1001') {
             continue; 
// Kein Reading hierfür erstellen
             
$reading 'android_gps_speed';  
             
$value round($value6);                           
                                
          } elseif (
$pid == 'ff1007') {
             continue; 
// Kein Reading hierfür erstellen
             
$reading 'unknown';  
             
$value round($value1);  
          }
  
  $reading 'obd_'.$reading;

  
  $fhemCmdLine .= "setreading $deviceName $reading $value;";
  
  
  
}
  
}
        
}


fhemCmd($fhemCmdLine);


// Rückmeldung für Torque App:
print 'OK!';




// Helper functions:

function fhemCmd($cmd
{
  global 
$server_path;
  
  
$url $server_path."?cmd=".urlencode($cmd);
  
  
$ch curl_init();
  
curl_setopt($chCURLOPT_URL$url);
  
curl_setopt($chCURLOPT_HEADER0);
  
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
  
$ans curl_exec($ch);  
  
curl_close($ch);
}


?>
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

peterk_de

Das war ne harte Nuss ... Aber ich habe nun endlich auch die letzten PIDs rausbekommen. Mit meinem alten Wifi-OBD2-Dongle, einer herstellerspezifischen Android-Diagnose-App (Forscan lite), die die nötigen PIDs alle kannte, aber nicht in der App anzeigte, 2 Liter verschwendetem Wischwasser und einem kostenlosen Packet-Sniffer für Android (https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture&hl=de) war es dann letztendes aber doch nicht so schwer ;-)

Die Lektüre des wirklich guten ELM327-Datasheets ist für alle, die Daten aus Ihrer Karre mit so einem Dongle ziehen wollen, auch sehr empfehlenswert: https://www.elmelectronics.com/wp-content/uploads/2017/01/ELM327DS.pdf

Für die Nachwelt und Google: Die PID für den Wischwasser-Warnstatus für den Ford Focus MK3 Post-Facelift ist 2261C0, Rückgabewert 00 ist "Warnung aus"; 08 ist "Warnung aktiv". Die OBD-Header sind die selben wie für das TPMS-System und müssen gesetzt werden (läuft auch über das BCM-Modul, hab ich grad nicht im Kopf)

Alles läuft super stabil - Projekt Autoanbindung an FHEM bis auf die Kühlung des Handys abgeschlossen ^^
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

visionsurfer

Schon geil, was du gemacht hast. Ich würde unsere Mercedes V Klasse auch gerne in Fhem einbinden. Nur hört sich das leider recht kompliziert an. Ich hatte gehofft ich kann so einen obd Dongle anschließen und gut ist? Scheint leider nicht der Fall zu sein ?

Prof. Dr. Peter Henning

Ich häng mich hier mal rein - habe nämlich vor 2 Jahren meinen OBD-Dongle wieder eingemottet, weil er die Batterie leergesuckelt hatte.

LG

pah

Benni

Klingt jedenfalls interessant!  8)

Bisher tracke ich lediglich die Anwesenheit meines Autos über einen Ultraschallsensor, der mir nebenebei auch noch den Schließzustand des Garagentors übermittelt.

Wäre aber schon cool auch noch Fahrzeugdaten zu haben.  :)


peterk_de

@pah Das tun wohl so einige von diesen Dongles. Die Stromsparschaltung braucht halt 2-3 Bauteile für ein paar Cent extra. Außerdem ist in den Dongles mit ELM327-Clone (= alle für um die 20 Euro, egal was auf dem Gehäuse steht) völlig unklar, was der enthaltene Chip überhaupt kann und welche Bugs da noch in der Firmware drin sind, die im schlimmsten Fall z.B. den Sleep-Mode der PIC verhindern ...

Die OBDlink Scantool-Dongles lösen das Problem mit einer "Ripple-Detection". Sie gehen nach einer konfigurierbaren Zeit schlafen und wachen wieder auf, wenn die Bordnetz-Spannung schwankt - bei mir reicht das Aufschließen per Fernbedienung. Funktioniert sauber und wachte bislang auch noch nicht von allein auf. Stromverbrauch ist dann im Sleep Mode bei 2mA laut Datenblatt. Man kann das Schlafengehen übrigens wohl auch abstellen, das macht aber keinen Sinn, da die ganzen Steuermodule vom Auto nach einer Zeit ja eh ausgehen.

@visionsurfer: Das war wirklich viel Gebastel. Softwareseitig eigentlich gar nicht so sehr, aber das ganze "drum herum". Aber ich denke es lohnt sich, sich damit zu beschäftigen, da in Summe dann sehr viel mehr geht als mit den fertigen Kauf-Lösungen.

Weiteres Update meinerseits: Ich habe das Handy jetzt erstmal zwecks besserer Kühlung in einer einfachen Handyhalterung hinten an der Kopfstütze des Fahrersitzes befestigt. Da sieht man es aufgrund getönter Scheiben zumindest nicht sofort von außen und es hat dort sehr guten GPS-Empfang. Vorher lag es in einem Fach in der Mittelkonsole, aber die ist bei meinem Auto ein wahrer Backofen.

Positiver Nebeneffekt: Da jetzt die Kamera frei ist, kann mir Automagic immer, wenn das Auto geparkt wurde, ein Foto schicken. Und natürlich ebenso, wenn der Autoschlüssel-G-Tag nicht erkannt wurde, sich das Auto aber bewegt (es geklaut / abgeschleppt wurde) - dann bekomme ich alle 5s ein Bild. Der Nutzen davon ist zugegebenermaßen sehr begrenzt (Diebe werden als erstes das Handy klauen und bei der Suche des Autos auf nem großen Parkplatz hilft es sicher auch nur begrenzt), aber wenn da doch eh so eine gute Cam in dem Handy "gratis" mit drin ist ... ;-)

FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

visionsurfer

Grundsätzlich scheue ich mich nicht. Ich bin aber nicht der totale Bastler.
Wenn du soweit alles stehen hast, wäre halt super wenn du eine Art Mini Tutorial schreiben kannst?
Welche Geräte braucht man? Welche App? Welche andere Hard- und Software?
Wie kann man es quasi auf andere Fahrzeuge kopieren ?
Dann würde ich auch mal versuchen.

Grüße,
Visionsurfer

peterk_de

OK hier mal eine Zusammenfassung meines Ansatzes:

Smartphone-Autotracker++ - Teil 1: Hardware

Die Grundidee ist es, ein altes Android-Handy dauerhaft im Auto zu installieren, welches zu FHEM "nach Hause" über Mobilfunk nach Hause Daten schickt.

Gewünschte und umgesetzte Features sortiert nach meiner persönlichen Priorität:


  • Kontinuierliche Übermittlung der Auto-Geokoordinaten, auch wenn das Auto steht
  • "lepresenced" für das Auto, d.h. Übermittlung der An/Abwesenheit von Bluetooth-Tags, auch wenn das Auto steht
  • Übermittlung "sinnvoller" Daten aus dem CAN-Bus des Autos, insb. auch herstellerspezifische (z.B. Status von Tankfüllung / Reifendruck / Wischwasser / Gesamt-Kilometerzahl) bei der Fahrt
  • Diebstahlmelder / Stiller Alarm (über Erschütterung des Autos, Bluetooth-Tags am Autoschlüssel und möglichst einer simplen Mobilfunk-Jamming-Detection)
  • Erhebung einiger weiterer "nice to have"-Daten über das Auto (z.B. Innentemperatur, simple "Dashcam", ...)

Randbedingungen:

  • Keine große Belastung der Autobatterie, bei Strommangel soll lieber das Autotracking nicht funktionieren
  • Keinerlei Nutzerinteraktion im Auto nötig
  • Anschaffungskosten < ca. 200 Euro
  • Keine Cloud + Möglichst viel selbst einstellbar
  • Berücksichtigung, dass alles was verbaut wird, möglicherweise auch aus dem Auto geklaut werden könnte (d.h. Verwendung einer PIN-geschützen SIM-Karte im Auto, Sperrcode für Handy etc.)

Auswahl des Smartphones

Es sollte ein leistungsfähiges, weit verbreitetes Smartphone sein. Tipp: Für diesen Zweck Kosten-Nutzen-mäßig am besten ist ein 2-3 Jahre altes Topmodell (viele Sensoren!) mit gesprungenem, aber noch funktionsfähigen Display. Ich habe mich für folgendes Modell entschieden:


  • 40 Euro - Samsung Galaxy S7 Edge mit vorinstallierter "Spider-App" in Gold - eBay Kleinanzeigen

Wenn ihr auf eine komplexe Stromversorgung (wie ich sie letztenendes vorgenommen habe) verzichten wollt, achtet darauf, ein Gerät zu nehmen, dass man problemlos rooten kann und von dem bekannt ist, wie ihr es so konfiguriert, dass es bei Anschluss des Ladegerätes von allein bootet. Dann könnt ihr es einfach in einen Zigarettenanzünder stecken, der sich bei ausgeschalteter Zündung abschaltet und es fährt dann mit dem Start der Zündung von allein hoch. Nachteil: Ihr bekommt keine Daten vom Auto solang es steht und die SIM-Karte darf keine PIN verpasst bekommen, d.h. Vertrags-(Zweit-)karten sind definitiv schonmal raus.

Stromversorgung

Das Handy dauerhaft über die Autobatterie zu laden empfiehlt sich nicht, es sei denn, ihr pendelt täglich sehr weite Strecken. In meinen Versuchen hat das Handy dauerhaft zwischen 0,8 und 1,2 Watt gezogen. Das ist vor allem im Winter und je nach Autobatterie zu viel, um das Auto für längere Zeit zu parken.

Auch Autobatterie-Dauerplus und ein Spannungswächter wie dieser hier https://www.amazon.de/gp/product/B071R2XSTZ/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1 empfehlen sich nach meiner Erfahrung nicht für einen zuverlässigen Betrieb. Denn den Ladezustand der Autobatterie kann man, kurzgesagt, nicht nur an ihrer Spannung festmachen. Der und damit die im Batteriewächter einzuprogrammierende Abschaltspannung hängt nämlich auch von der Außentemperatur und dem Alter der Autobatterie ab. Ich habe den Wächter ausprobiert und als zu unzuverlässig verworfen.

Ich verwende nun aus Kostengründen eine schnellladefähige (USB-PD), große USB-Powerbank inkl. kräftigem 12V-USB-Wandler. Das ganze kommt in einen Zigarettenanzünder, der sich mit der Zündung anschaltet:


Das bedeutet, dass ich mit ca. 2 Stunden Autofahrt (inkl. "Nachlaufzeit" des Zigarettenazünders, der bleibt bei mir noch ca. 15 min nach Abstellen des Autos an) knapp 3 Tage Laufzeit für das Handy habe (Laden der Powerbank mit 45W, entladen über das laufende Handy mit ca. 1W). Wenn die Powerbank ausgeht (=leer ist), wird das Handy nicht mehr geladen, und ich kann mir eine Warnung zuschicken lassen, da ja jetzt erstmal noch der Handyakku entladen wird.

Bei der Powerbank ist weiterhin zu beachten, dass das laufende Handy genug Strom zieht, ohne dass sich die Powerbank abschaltet. Leider steht diese Schwelle an kaum einer Powerbank dran und erst recht lässt sich dieses Auto-Off nicht abschalten. Hier kann man aber notfalls mit einem Zwischenstecker nachhelfen und den Strombedarf künstlich um ein paar mA erhöhen:


Oder man greift gleich zur ungebastelten Luxus-Lösung, mit der dann je nach Geldbeutel auch wochenlange Standzeiten drin sind: https://www.akkukaufhaus.de/akkus/fuer-golf/6096/unterbrechungsfreie-stromversorgung-12v-usv-mit-lifepo4-akku-inkl.-12v/12v-ladegeraet Hier muss aber ggf. noch in ein stärkeres Ladegerät investiert werden, das mitgelieferte hat wohl nur um die 30 Watt.

OBD2-Dongle

Wer billig kauft, kauft zweimal - so ging es mir auch hier: Bluetooth OBD2-Tracker um die 20 Euro könnt ihr streichen, da sich diese normalerweise nicht automatisch mit dem Handy reconnecten (oder die Autobatterie kontinuierlich leernuckeln). WLAN-OBD2-Dongle funktionieren ebenfalls grundsätzlich nicht, denn die laufen eigentlich immer im Hotspot-Mode und unter Android ist dann das Internet blockiert bzw. es ist sehr häßlich, parallel eine Internetverbindung über Mobilfunk herzustellen. Meine Empfehlung daher:


  • ca. 75 Euro - Scantool OBDlink LX

Ich selbst habe den OBDLink MX+ und der läuft super. Schaltet sich sauber in den Standby-Modus und reconnected sauber mit dem Handy. Ich empfehle trotzdem die preiswertere LX-Version für dieses Projekt, da der MX+ (vielleicht bis auf die höhere Performance, hier habe ich aber keinen Vergleich) in dem Szenario keine Vorteile bringt, die den kräftigen Mehrpreis rechtfertigen würden. Das kann ich gern noch näher ausführen bei Interesse, dazu müsste ich aber weit ausholen. Meine Empfehlung wäre, für das gesparte Geld stattdessen lieber zusätzlich noch ein 20 Euro WLAN-Dongle zu kaufen - z.B.:


Hiermit könnt ihr dann nämlich, wenn es für euer Auto eine herstellerspezifische App gibt, sehr bequem zusätzlich Datenpunkte (=PIDs) sniffen. Ich habe mit dem Teil z.B. meinen gewünschten Wischwasserstand herausbekommen ;-) Ihr braucht kurzgesagt nur die herstellerspezifische OBD-App (z.B. forscan für Ford) mit einem Standard-Paketsniffer (z.B. https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture&hl=de ) zu belauschen, schon habt ihr die PIDs im Klartext.

Kühlung

Bei diesem Thema bin ich noch etwas ratlos. Innentemperaturen von > 60 Grad im Auto führen zur Abschaltung bzw. Drosselung des Handys und damit letzendlich auch zur Abschaltung der Powerbank. Bis jetzt ist das erst einmal vorgekommen (da lag das Telefon aber noch in einem kleinen Fach, das direkt von der Sonne aufgeheizt wurde), aber für den Hochsommer habe ich hier noch keine gute Lösung gefunden. Das Problem: Strom darf es praktisch nicht verbrauchen und es gibt im Innenraum keine Temperatursenke, wo die Wärme (mit Kühlkörper / Lüfter) hinbefördert werden könnte ... und im Fußraum ist der GPS-Empfang mies.

Aktuell habe ich das Handy jetzt erstmal an einer Kopfstütze der Vordersitze befestigt, hier scheint die Mittagssonne zumindest nicht direkt drauf. Mal gucken wie es aussieht, wenn es richtig heiß wird.


So. Soweit zur nötigen Hardware. Teil 2 - Software kommt dann irgendwann später einmal ;-)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

visionsurfer

Geil. Tausend Dank. Ich möchte das gerne "nachbauen", weil ich auch mein Auto (Mercedes V Klasse) in mein FHEM bekommen will.
Super für deine ausführliche Beschreibung.

Ich werde die Sachen mal nachkaufen. Die Investition hält sich ja in Grenzen.

Ich hoffe, dass ich dann nur auch wie du an die Daten kommen, weil ich ja ein anderes Auto habe.

Grüße,
Visionsurfer