Auslesen der BMW-Daten mit FHEM (225xe)

  • na, dann hier das nächste BETA-Release V0.3


    Alle Daten und Angaben ohne Gewähr. :)







    Wie immer mit eingeschränktem Support und ohne Garantien.



    Die Anhänge zeigt es unten aktuell nicht an, daher hier nochmals die Links:
    99_myBMWUtils.pm.txt
    BMW_FHEM.txt



    Ich bitte um Rückmeldungen, falls was nicht klappt. Gerne auch wenn's klappt :D


    Habt ihr Feature-Wünsche? Ideen?


    Auf meiner Roadmap stehen folgende, kleinere Features:
    - Mehr Daten auslesen (sobald Verfügbar)


    Größere Features für die Zukunft
    - Darstellung grafisch als Flootplan? (evtl. mit schönerem Design?)
    - Ideen für besseres Updaten suchen
    - Evtl. doch mal als Modul umsetzen?


    Weitere Ideen?

    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

    2 Mal editiert, zuletzt von Rumbel ()

  • Folgendes kam per Konversation.


    Da auch andere das Problem haben könnten, hier mein Lösungsvorschlag bzw. die weitere Diskussion dazu öffentlich


    Thema "Alle Lichter" ja, sorry... mein Fehler.
    So heißt mein "Raum" in dem ich die Übersicht aller Lichter und Co pflege und dort hab ich die Karte geparkt ;)


    Zum Fehler an sich:
    Auf dem Raspberry muss nicht nur JSON und co installiert sein, sondern auch die Perl-Module dafür (erkennbar am .pm)


    Hier fehlt also das JSON::Parse modul.
    Ich kann mich selbst grad nicht dran erinnern, wie ich das gemacht hatte... und welche Module dabei waren oder fehlten.



    Grundsätzlich hilft es, perl und das Betriebssystem (bei mir Raspbian) aktuell zu halten, dann ist schon mal das Meiste dabei.


    Zur Installation einzelner Module je nach Betriebssystem googeln, wie man Perl-Module installiert.



    Probier mal folgendes

    Code
    sudo apt-get install libjson-perl


    Ansonsten könnte folgender Link zum Vorgehen helfen
    https://www.raspberrypi.org/fo…topic.php?t=50254#p394203


    Wie gesagt: das ist leider stark davon abhängig, auf welchem System FHEM läuft (hardware) und welche Linux- oder Windows-Version da drunter läuft. :)


    (und ich bin auch kein Linux-Experte :-D)


    Bitte sag bescheid, ob's geklappt hat

    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

    Einmal editiert, zuletzt von Rumbel ()

  • Vielen Dank für die rasche Antwort.


    Leider ergibt sich mit beiden Vorschlägen keine Verbesserung.
    Könnte es sein, dass das am Raspberry 3 B+ liegt, dass da ev. noch nicht alle Module lauffähig sind?
    Da ich vieles ohne Erfolg probierte werde ich nächste Woche den Raspberry und FHEM neu auf setzen mit der Hoffnung dass es dann klappt. Ich berichte wieder.

  • hm, am b+ sollte es eigentlich nicht liegen


    was kam denn beim

    Code
    sudo apt-get install libjson-perl

    zurück?


    was kam beim

    Code
    perl -MCPAN -e'shell'
    install JSON::Parse

    zurück?


    mal ein update generell gemacht?

    Code
    sudo apt-get update
    sudo apt-get dist-upgrade
    sudo reboot


    Weitere Variante

    Code
    sudo apt-get install curl gcc-4.7
    sudo curl -L http://cpanmin.us | perl - --sudo App::cpanminus
    sudo cpanm -i JSON::Parse

    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

    2 Mal editiert, zuletzt von Rumbel ()

  • zu sudo apt-get install libjson-perl:


    zu perl -MCPAN -e'shell':


    y:


    zu install JSON::Parse:


    Updates habe ich mehrfach gemacht und jetzt nochmals und nach einem reboot
    ist die Fehlermeldung im FHEM weg beim Befehl 'reload 99_myBMWUtils-2' und es erscheint die folgende Meldung:
    Undefined subroutine &main::myBMWUtils-2_Initialize called at fhem.pl line 2488.und beim Befehl: 'rereadcfg fhem.cfg.bmwV2' erhalte ich folgende Meldungen:Please define SVG_0 firstPlease define allowed_WEB firstPlease define allowed_WEB first


    Ich denke ein kleiner Erfolg hat sich ergeben

  • 1 tipp: in code-tags gepackt sieht das ganze kleiner und übersichtlicher aus :)
    2. ich nutze gern die Spoiler-Tags hier im Forum um alles kompakter und übersichtlicher zu halten.
    kannst ja vielleicht noch bearbeiten. :)



    so. JSON::Parse scheint zu gehen.


    jetzt schauen wir mal weiter.


    Zitat

    main::myBMWUtils-2_Initialize called at fhem.pl line 2488

    hm. hast du das modul umbenannt?


    Wenn das Modul 99_myBMWUtils.pm heißt, muss es innen auch die Funktion geben, um das Modul als solches zu registrieren (selbst, wenn es noch kein Modul ist)
    Wenn das Modul mittlerweile 99_myBMWUtils2.pm heißt, dann muss innen die Funktion dafür umbenannt werden


    Code
    sub myBMWUtils-2_Initialize($$)
    {
    my ($hash) = @_; #no FHEM Module Functions so far...
    }

    davon würde ich aber abraten. lieber die -2 im Namen entfernen :)
    Du musst sonst bei jedem Update an die -2 denken


    zum

    Zitat

    rereadcfg fhem.cfg.bmwV2' erhalte ich folgende Meldungen:Please define SVG_0 firstPlease define allowed_WEB firstPlease define allowed_WEB first


    öhm... äh... hä?
    hast du ne zweite FHEM config angelegt?


    Da hab ich immer brav die finger von gelassen.
    ich hab immer nur eine fhem.cfg und lass sogar dort die finger weg (lieber alles als raw commands senden)

    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 Modul heisst bei mir '99_myBMWUtils-2.pm' das muss aus versehen passiert sein, ist nicht gewollt,
    habe ich nun umbenannt nach '99_myBMWUtils.pm'


    Für die BMW-Applikation habe ich mir 'fhem.cfg.bmwV2' erstellt mit der Idee, dass ich jederezit wieder auf die ursprüngliche Version 'fhem.cfg' zurück kann. Darauf kam ich weil ich in einem Beispiel 'fhem.cfg.demo' fand. Als Basis für die 'fhem.cfg.bmwV2' habe ich die 'fhem.cfg' genommen und den Inhalt vom 'FHEM_Config.txt' ergänzt.



    Nach den Änderungen und einem 'shutdown restart' erhalte ich beim Befehl


    Code
    set BMWIF_vim...    Please define BMWif_vim first
  • Hier der Code in drei Teilen
    Einrichten der Passswörter / VIM

    mit dem o.g. Code-Schnipsel kannst das anlegen.


    die VIM bitte vollständig und nicht nur die letzten 7 Stellen

    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

  • Supper, jetzt funktioniert deine Applikation auch bei mir.


    Nächste Woche werde ich dann die neuste Version versuchen zu integrieren.


    Rumbel
    Vielen, herzlichen Dank für deine Unterstützung und deine Geduld :)


    p.s.
    Gibt es hier im Forum eine Anleitung wie die Code-Tags verwendet werde können?