Auslesen der BMW-Daten mit FHEM (225xe)

  • Hallo Meister.
    kannst du mir die Bedeutung dieser zeilen erklären?


    Code
    my ($Array,$Name,$Field,$Name) = @_;
    if (($Name eq "") or !defined($Name))
    {
    $Name = 'name';


    bin schon ein wenig weiter, zumindest der Abschnitt lifeTimeList musste auskommentiert werden, der überschrieb mir die anderen Werte, weil es das beim i3 nicht gibt.

  • das war n schneller, ungetesteter versuch für nen optionalen Parameter "Name". Wenn er leer ist oder undefiniert, dann trag "Name" ein.
    Alles wie gesagt nur n flotter Test. :)
    Wenn Du die Funktion immer mit einem ","name"); aufrufen würdest, bräuchte man es nicht

    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

  • Hiho, hab heut mal wieder Zeit gefunden mich etwas intensiver mit FHEM zu beschäftigen und hab dabei festgestellt das mein Log mit diesen Meldungen überschwemmt wird.
    Was möchte es mir sagen? :o

  • hm... bei der message müsste "---" stehen, wenn es keinen wert gibt. dann sollte auch kein fehler kommen.


    ich schau über die feiertage mal rein

    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 Rumbel,


    tolle Arbeit, nach einigem Basteln läuft es bei mir rudimentär. :)

    Auch neu:
    ihr könnt in FHEM einmalig {BMW_RequestBMWDescription();;} aufrufen (in der Leiste oben, mit { und 2x ;
    dann werden einmalig die Fahrzeugdaten abgerufen. Vielleicht verwende ich das später, um Fahrzeugabhängige Daten (i3, 225xe, ..., Schiebedach, ...) abzurufen.


    Achtung: Das läuft auf einen "not authorized"-Fehler, wenn man vorher nicht einmal kurz "BMWUpdateCyclic", ggf. auch per Timer gestartet hat.


    Es fehlt wohl eine Authentifizierung wie in "myBMWUtils_RequestBearer", oder?


    BMW_RequestBMWDescription() lief bei mir auf einen Fehler in Zeile 1118 ($content =~ s/[\[\]]*//g;).
    Ich glaube das lag daran, dass bei mir auch innerhalb von $content eckige Klammern vorkommen (...supportedChargingModes":["AC_LOW","DC"]…)
    In der Annahme dass nur die Klammern am Anfang und Ende entfernt werden sollen habe ich das ersetzt durch $content =~ s/^\[//g; $content =~ s/\]$//g;
    Damit lief es bei mir durch.


    Kann ich bestätigen, Fix von cge tut bei mir!


    hallo i3driver,


    freut mich, wenn es klappt.


    bei so vielen i3 sollte ich das modul doch irgendwann anpassen (oder auf github stellen damit ihr es selbst anpassen könnt :-P)

    Hiermit oute ich mich dann auch als i3-Fahrer (mit Rex). ;)


    Ich schlage vor, den Wert von BMW_basicType zu speichern und im Code bei fahrzeugspezifischen Parametern/Funktionen zu verwenden.


    Ich gebe Dir gerne meine JSONs rüber, wenn Du magst.


    Falls Du eine Unterstützung zu GitHub brauchst (finde ich wichtig für die Weiterentwicklung), helfe ich gern. Für die Basisfunktionen auch nicht sehr schwer zu lernen. :)


    Grüße


    CONSULitAS

  • Hallo

    Keine Scheu, einfach fragen, wenn was fehlt

    @Rumbel
    Bin ja aktuell fleißig am messen und das ist für mich derzeit recht anstrengend.
    Ich lade das Fahrzeug meistens Abends und lese am nächsten Morgen vor der Arbeit die SOC Daten via Web Version von Connected Drive aus.
    Dann lasse ich die Heizung noch laufen und prüfe den Verbrauch aus dem Akku via SOC.
    Mein nächster Versuch wäre 2 mal 30 Minuten heizen um den Energieverbrauch für die Heizung nach der Aufheizphase einschätzen zu könnnen.


    Jetzt habe ich die Frage ob Du mit der Integration der SOC Werte weiter gekommen bist?
    Das regelmäßige Abrufen würde mir das Leben schon um einiges erleichtern :)


    Wenn man zusätzlich das Abrufen des SOC auf Tastendruck einrichten könnte (ähnlich BMW_remote) wäre das genial.


    Eventuell könnte man auch den Logzeitraum verkürzen wenn das Auto am aufladen ist, oder die Heizung aktiviert wurde.
    So könnte man den Verlauf beim laden oder heizen loggen??


    Sorry wenn ich mit der Tür ins Haus falle, aber ich dachte frage mal nach :)


    Eigentlich müßte man BMW in Dingolfingen / Landshut einmal heimsuchen und mit Fragen löchern....

  • seit 1.2.2019 16:00 keine abfrage mehr möglich.

    Bei mir gehts.
    Muss mal schauen, ob noch alle Daten aktuell sind, die letzte erfolgreiche Verbindung war aber vor wenigen Minuten und die Fahrt von gestern Abend ist auch drin.


    Jetzt habe ich die Frage ob Du mit der Integration der SOC Werte weiter gekommen bist?
    Das regelmäßige Abrufen würde mir das Leben schon um einiges erleichtern

    Hm... sporadisch / Manuell könnte man ergänzen.
    In Form von: 1x Drücken, 30x jeweils minütlich auslesen oder so.


    Ich muss schauen, wie ich es zeitlich schaffe

    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 oute mich mal als Neuling in Sachen FHEM :saint:


    Konnte FHEM erfolgreich auf Windows installieren und die Startseite aufrufen.
    Dann habe ich die folgenden Befehle eingegeben


    define BMWIF_user dummy
    attr BMWIF_user room hidden
    define BMWIF_pw dummy
    attr BMWIF_pw room hidden
    define BMWIF_vim dummy
    attr BMWIF_vim room hidden


    und die Werte für User, PW und VIM gesetzt.


    Die Dateien 99_myBMWUtils.pm und 99_myBMWUtilsPersonal.pm sowie BMW_FHEM habe ich im FHEM-Verzeichnis abgelegt ….


    Nun meine Frage, was muss ich als nächstes machen?
    Den FHEM-Server neu starten damit er die Dateien erkennt?


    Oder die Dateien irgendwie ausführen? Davor irgendwo Werte ändern?


    Bin für jede Hilfe dankbar.