Auslesen der BMW-Daten mit FHEM (225xe)

  • Wenn das mit dem Bearer nicht klappt, geht gar nix.
    Das ist quasi die Anmeldung bei BMW.


    Der genannte Fehler kommt wo anders. Da steht noch nichts in deinen Mileage (Streckenzähler drin) und ich prüfe wohl nicht auf 0 und Teile dann dadurch.


    Vielleicht hilft es, in die Variable BMW_mileage mal eine 1 rein zu schreiben (set BMW_mileage 1)


    Alternativ (oder ergänzend) hier der Hotfix:
    Ersetze die Zeile <b>$letzterVerbrauch = ($LiterSeitVoll/$Strecke)*100;</b> durch folgendes

    Code
    if ($Strecke <= 1)
    {
    $Strecke = 1;
    }
    $letzterVerbrauch = ($LiterSeitVoll/$Strecke)*100;

    BMW 225xe Sport Line Atlantikgrau seit 14.11.2017 :D
    BMW X1 Bj. '16 weiß/DRK mit getarnter Sondersignalanlage (5-10 Tage/Monat Dienst)
    Audi A4 Avant bj 2006 bis 11.2017 / Fiat Tipo Bj '97 bis 2007 /Honda Civic Bj. '87 bis 2003

  • Hallo.
    Ich stehe gerade am Schlauch, was muss ich wirklich tun um ein 2. Fahrzeug in Connected drive abzufragen?


    Ich habe zumindest User,PW u. VIN angelegt, mit neuem dummy, und auch die restl. werte angepasst. aber wie starte ich die abfrage zu neuem konto?

  • Huiuiui,


    nein, da stehst du nicht auf dem Schlauch, das ist einfach so nicht implementiert.
    Das System geht nur von einem Fahrzeug aus.


    Du musst theoretisch:


    1) Alle Variablen in FHEM verdoppeln (Fahrzeug "_1" und "_2" zum Beispiel)
    2) Alle Abfragen um einen Index ergänzen, der zwischen 1 und 2 unterscheidet


    Das ist so nicht auf die Schnelle möglich.

    BMW 225xe Sport Line Atlantikgrau seit 14.11.2017 :D
    BMW X1 Bj. '16 weiß/DRK mit getarnter Sondersignalanlage (5-10 Tage/Monat Dienst)
    Audi A4 Avant bj 2006 bis 11.2017 / Fiat Tipo Bj '97 bis 2007 /Honda Civic Bj. '87 bis 2003

  • ja, das wollte ich schon vorschlagen. das wird am einfachsten sein, leider

    BMW 225xe Sport Line Atlantikgrau seit 14.11.2017 :D
    BMW X1 Bj. '16 weiß/DRK mit getarnter Sondersignalanlage (5-10 Tage/Monat Dienst)
    Audi A4 Avant bj 2006 bis 11.2017 / Fiat Tipo Bj '97 bis 2007 /Honda Civic Bj. '87 bis 2003

  • Hallo zusammen und danke schonmal für das Tolle Plugin!


    Inzwischen ist ja doch etwas Zeit ins Land gegangen und ich wollte mal nachfragen ob sich dein Plugin noch weiter entwickelt hat. Ich habe es bei mir inzwischen, nach einigen Fehlschlägen, auch am Laufen, allerdings werden bei mir nur ein Teil der Werte angezeigt. Fahre selbst einen 225XE.
    Zu den nicht abgefragten zählen unter anderem die Gruppen Batterie, Doors, LastTrip, Location. Dabei wird mir unter NEU die aktuelle Bateriekapazität, Ladedauer und der Standort korrekt angezeigt. Hat BMW da ggf. änderungen vorgenommen die man anpassen müsste, oder liegt es an meiner ggf. etwas vermurksten Installation bzw. einem fehlendem Plugin? Vielleicht habt ihr ja eine Idee wo ich anfangen könnte zu suchen.


    Des weiteren wurde ein Raum Alle_Lichter angelegt, dessen Funktion ich noch nicht zuordnen kann, weil eine Karte da ist, aber leider mit Standort in Afrika.


    Im Log habe ich folgende Einträge.


    Code
    2019.09.14 08:32:03 1: ERROR evaluating {BMW_Test();}: Undefined subroutine &main::myBMWUtils_Setup called at ./FHEM/99_myBMWUtils.pm line 
    600.2019.09.14 08:32:03 3: BMWUpdateCyclic: Undefined subroutine &main::myBMWUtils_Setup called at ./FHEM/99_myBMWUtils.pm line 600.



    sowie:


    Code
    2019-09-13_23:59:00 BMW_Segment_LastTrip_ratio_electric_driven_distance addLog: invalid reading << addLog
    2019-09-13_23:59:00 BMW_average_fuel_consumption_total addLog: invalid reading << addLog
    2019-09-14_00:01:00 BMW_Segment_LastTrip_ratio_electric_driven_distance addLog: invalid reading << addLog
    2019-09-14_00:01:00 BMW_average_fuel_consumption_total addLog: invalid reading << addLog
  • Meiner ist Baujahr 09/2018


    Lustigerweise kommen im Laufe der Woche nun immer mehr Daten dazu. Vielleicht ist es doch nur ein Problem mit dem Datenserver vom BMW???
    Ich werde einfach mal ein Auge drauf haben und mich im Notfall noch mal melden.

  • Bin absoluter FHEM-Neuling, hab es aber nach einigen Fehlschlägen doch zum laufen bekommen.
    Mein erster Fehler war, es unter Windows zu versuchen, da schient es nicht zu funktionieren weil der JSON-Parser fehlt.


    In einer VM mit Raspian konnte ich es dann soweit zum laufen bringen, dass die Werte von BMW geholt werden.
    Allerdings bekomme ich nur Daten angezeigt, die NEU, access und at stehen, alles andere wird mit 0 oder ??? angezeigt.


    Hier mal die letzten Zeilen des Logfiles:


    2019.10.06 13:01:06 3: define BMW_remaining_fuel dummy : BMW_remaining_fuel already defined, delete it first
    2019.10.06 13:01:06 1: ERROR evaluating {BMW_Test();}: Illegal division by zero at ./FHEM/99_myBMWUtils.pm line 89.
    2019.10.06 13:01:06 3: BMWUpdateCyclic: Illegal division by zero at ./FHEM/99_myBMWUtils.pm line 89.
    2019.10.06 13:06:06 3: define BMW_remaining_fuel dummy : BMW_remaining_fuel already defined, delete it first
    2019.10.06 13:06:06 1: ERROR evaluating {BMW_Test();}: Illegal division by zero at ./FHEM/99_myBMWUtils.pm line 89.
    2019.10.06 13:06:06 3: BMWUpdateCyclic: Illegal division by zero at ./FHEM/99_myBMWUtils.pm line 89.
    2019.10.06 13:11:06 3: define BMW_remaining_fuel dummy : BMW_remaining_fuel already defined, delete it first
    2019.10.06 13:11:06 1: ERROR evaluating {BMW_Test();}: Illegal division by zero at ./FHEM/99_myBMWUtils.pm line 89.
    2019.10.06 13:11:06 3: BMWUpdateCyclic: Illegal division by zero at ./FHEM/99_myBMWUtils.pm line 89.
    2019.10.06 13:16:06 3: define BMW_remaining_fuel dummy : BMW_remaining_fuel already defined, delete it first
    2019.10.06 13:16:06 1: ERROR evaluating {BMW_Test();}: Illegal division by zero at ./FHEM/99_myBMWUtils.pm line 89.
    2019.10.06 13:16:06 3: BMWUpdateCyclic: Illegal division by zero at ./FHEM/99_myBMWUtils.pm line 89.



    Muss ich irgendwelche Eingaben noch manuell vornehmen?
    Bin seit dem einrichten nur eine kurze Strecke gefahren, bis zur Tankstelle und zurück.


    Zeile 89 sagt $letzterVerbrauch = ($LiterSeitVoll/$Strecke)*100;


    Vielleicht muss ich einfach noch ein paar km fahren damit der Fehler weg geht.


    Oder habe ich mit der BMW_FHEM etwas falsch gemacht? In welches Verzeichnis muss ich die ablegen bei Raspian?


    Hab den Inhalt einfach bei der fhem.cfg angehängt, hat soweit funktioniert, aber ist das richtig?



    Vermutlich nicht, sonst würde der Eintrag
    2019.10.06 13:16:06 3: define BMW_remaining_fuel dummy : BMW_remaining_fuel already defined, delete it first
    ja nicht im Log stehen.


    FHEM NOT OK.PNGFHEM OK.PNG