BMW CarData - Neues LoxBerry Plugin

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Grestorn
    LoxBus Spammer
    • 11.07.2022
    • 464

    #1

    BMW CarData - Neues LoxBerry Plugin

    Hallo allerseits,

    da BMW die alte API abgeschaltet hat funktioniert keiner der bisherigen Lösungen mehr, mit denen man Daten von einem BMW Fahrzeug in Loxone importieren konnte.

    BMW hat das durch die neue CarData-API und dazugehöriges Streaming ersetzt. Das ist tatsächlich viel moderner und vor allem ist es Streaming - d. h. die Daten sind immer aktuell und das eklige API-Quota-Limit entfällt auch.

    Bei MQTT bietet es sich an, den Loxberry zu nutzen. Das dort vorhandene MQTT-Gateway lässt sich aber leider nicht direkt verwenden, da BMW einen eigenen MQTT-Server betreibt und man sich bei diesem auch mit einem aufwändigen OAuth-Verfahren anmelden muss. Die Tokens laufen auch permanent (nach 60 Minuten) aus, man muss also schon etwas mehr machen, damit das funktioniert.

    Ich habe deswegen ein Loxberry-Plugin geschrieben, das das alles übernimmt:

    - Die Authentifizierung gegen die BMW CarData API mit regelmäßigem Token Refresh
    - Ein MQTT-Gateway, das sich mit dem BMW MQTT-Server verbindet und die Messages an das Loxberry MQTT-Gateway weiterleitet.

    Dieses kann dann wie gewohnt die Daten an den Miniserver weiterleiten.

    Hier ist das Repository: Grestorn/loxberry-bmw-cardata
    Direkter Link zur Doku: loxberry-bmw-cardata/README.md at main · Grestorn/loxberry-bmw-cardata

    Die aktuelle Version zum Installieren in das Loxberry kann dieser Link verwendet werden (Version 0.4.8, aber bitte immer schauen, ob es im Repo nicht eine neuere Version gibt): https://github.com/Grestorn/loxberry-bmw-cardata/archive/refs/tags/0.4.8.zip

    Es ist das erste Release, ich hab ausführlich getestet, aber es kann natürlich dennoch immer Probleme geben.

    Die Anmeldung beim BMW CarData Portal ist etwas tricky. Das ist ausführlich dokumentiert, bitte gut durchlesen und daran halten. Das BMW-Portal ist momentan wohl ziemlich unter Last und bringt auch immer wieder Fehlermeldungen, also da bitte Geduld.

    Fragen, Wünsche und Anregungen hier im Thread!
    Zuletzt geändert von Grestorn; In den letzten 2 Wochen.
  • Grestorn
    LoxBus Spammer
    • 11.07.2022
    • 464

    #2
    Kleine Anmerkung noch: Ich bin zwar ein erfahrener SW-Entwickler, aber ich hab weder mit LoxBerry Plugins noch mit Perl Erfahrungen. Also hab ich mir von Claude-Code helfen lassen. Das war eine enorme Zeitersparnis und große Hilfe - bis ich dann aber alles am Ende so hinbekommen habe, dass es meinen Wünschen und der Funktionalität entspricht... WOW.

    Mit künstlichen "Intelligenzen" SW zu entwickeln ist schon eine ganz eigene Sache. Ich bin begeistert und entgeistert gleichzeitig

    Auf jeden Fall ist es aber oft lustig und nicht selten frustrierend.

    Wofür ich mich aber entschuldigen will, ist dass die AI manchmal sehr geschwätzig und ausufernd ist. Im eigentlichen Plugin habe ich das weitestgehend eingefangen, aber in der Doku merkt man das schon noch. Ich fand sie dennoch gut (nach 20 gefühlten Iterationen), aber sie ist immer noch sehr ausschweifend.

    Sorry deswegen
    Zuletzt geändert von Grestorn; In den letzten 2 Wochen.

    Kommentar


    • Noschvie
      Noschvie kommentierte
      Kommentar bearbeiten
      Well done! Warum hast du dich für Perl entschieden?

    • Grestorn
      Grestorn kommentierte
      Kommentar bearbeiten
      Weil es die "Haussprache" des Loxberry ist. Ich wollte mich so gut es geht in die vorhandene Infrastruktur einbinden.
  • Grestorn
    LoxBus Spammer
    • 11.07.2022
    • 464

    #3
    Erstes kleines Update: https://github.com/Grestorn/loxberry-bmw-cardata/archive/refs/tags/0.4.3.zip
    Zuletzt geändert von Grestorn; In den letzten 2 Wochen.

    Kommentar

    • Prof.Mobilux
      Supermoderator
      • 25.08.2015
      • 5079

      #4
      Sehr cool. Du könntest dein Plugin noch ins Wiki aufnehmen:

      🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


      LoxBerry - Beyond the Limits

      Kommentar

      • Grestorn
        LoxBus Spammer
        • 11.07.2022
        • 464

        #5
        Done! Danke für den Tipp. Mir war nicht klar, dass man das selbst eintragen kann.

        Kommentar

        • Grestorn
          LoxBus Spammer
          • 11.07.2022
          • 464

          #6
          Wichtiger Bugfix: https://github.com/Grestorn/loxberry...tags/0.4.8.zip

          Behoben: Nach dem Erneuern der Verbindung (wegen des abgelaufenen Tokens, also nach etwa 50 Minuten) wurden die Messages nicht mehr an den MQTT weitergeleitet. D.h. das Plugin hat immer nur eine Stunde lang funktioniert.

          Kommentar

          • Heyne
            Azubi
            • 15.10.2023
            • 4

            #7
            Hallo,

            danke für das Plugin. Das ist genau das was ich gesucht habe.

            Ich möchte gerne beim Laden des Autos regelmäßig den Ladestand der Batterie erhalten, um das Laden bei einem bestimmten Akkustand zu unterbrechen. Das Problem ist, dass dieser Parameter nicht regelmäßig aktualisiert wird, sondern nur wenn etwas getriggert wird, wie z.B. beim Pausieren der Ladung. Hast du eine Idee, wie ich den Ladestand regelmäßig bekommen kann?

            Ich habe schon über ein Workaround nachgedacht indem ich das Laden bspw. alle 30 Minuten pausiere, dann kommen die Daten - aber so richtig schön ist das nicht.

            Grüße

            Kommentar

            • Grestorn
              LoxBus Spammer
              • 11.07.2022
              • 464

              #8
              Ja, der Ladestand aktualisiert sich recht selten. So alle 20% würde ich gefühlt sagen. Ich habe das gleiche Problem, wie Du.

              Eine Unterbrechung, wie von Dir vorgeschlagen, ist eine Lösung aber eine recht krude.

              Eine Möglichkeit ist, die Restlademenge in kWh als Berechnungsgrundlage zu nehmen. Den Wert liefert BMW beim Start des Ladevorgangs und zumindest ich kann aus dem Monitoring berechnen, wieviel kWh schon in die Wallbox geflossen sind. Einziges Problem: Der von BMW gelieferte Wert basiert immer auf die eingestellte Zielladefüllung (also z.B. 80% oder 100%). Aber wenn man das weiß kann man schon damit rechnen.

              Ich hoffe, dass BMW die Frequenz der Updates beim Laden evtl. noch erhöht. Denn im Moment ist das ein echtes Problem. Während der Fahrt wird tatsächlich quasi permanent aktualisiert, also wieso nicht beim Laden? Es gibt keinen vernünftigen Grund dafür.

              Man sollte als Kunde eine entsprechende Rückmeldung geben. Machen das genügend, wird das vlt. noch korrigiert.

              Kommentar

              • hismastersvoice
                Supermoderator
                • 25.08.2015
                • 7440

                #9
                Zitat von Heyne
                Ich habe schon über ein Workaround nachgedacht indem ich das Laden bspw. alle 30 Minuten pausiere, dann kommen die Daten - aber so richtig schön ist das nicht.
                Das wird die die Ladeelektronik deines Auto irgendwann übel nehmen.
                Je mehr start /stop man macht um so mehr lastet man die Steuerung und ggf. Relais die verbaut sind.

                Kein Support per PN!

                Kommentar

                • Meininger
                  Smart Home'r
                  • 30.11.2015
                  • 64

                  #10
                  Hallo Grestorn

                  ...was für ein Mega Plugin! Genau so hätte ich mir das von Loxone gewünscht!
                  Damit sollte sich auch mein Porblem mit dem Hoftor auf elegante Art und Weise lösen lassen.
                  Ich habe das Plugin gestern abend installiert und heute auf dem Weg in die Firma schon mal geschaut ob ich die richtigen Positionswerte beomme. Das hat soweit schon super funktioniert.
                  Die Logik zum auswerten der Koordinaten habe ich fix in die Config gebastelt und werde nachher zu hause sehen ob ich vor verschlossenen Toren stehe :-)

                  Bei der Implementierung ist mir in den Sinn gekommen, man könnte ja auch die aktuelle Position des Autos auf einer Karte in der Loxone App anzeigen, also mal fix mit dem Textgenerator und den beiden Geokoordinaten eine entsprchende URL für Openstreetmap erstellt, auch das klappt wunderbar. Nur komme ich jetzt nicht weiter da man unerwarteter weise dem Webseiten Baustein keine dynamische URL vorgeben kann. Wenn da jemand eine bessere Idee hat, wie ich die Fahrzeugposition in der Loxone app Visualisieren kann.... dann immer her damit.

                  Vielen Dank nochmal für das tolle Plugin, ich bin Mega Happy!

                  Gruß Sascha

                  Kommentar

                  • Meista
                    LoxBus Spammer
                    • 20.10.2015
                    • 240

                    #11
                    Bitte entschuldigt die vielleicht blöde Frage: was kann man mit einer Verbindung Loxone -BMW machen außer bei einem E-Auto?
                    Wenn die loxone App im Auto laufen würde -ok.

                    gruß
                    Gruß, Oliver

                    Loxone seit 2012, 4x Miniserver (Gateway-Client), 7x Extension, 1x Relay, 3x Muti Extension Air, 3x Dimmer Ext., 2x Air Base, 2x 1-Wire/NFC, Tree mit 3x Code-Touch V2, DMX, KNX Wetterstation und div. KNX (heizungs)-Aktoren, 3x Hörmann Tormodul, Anbindung Denon HEOS, Mitsubishi Multisplit Klimaanlage, Daikin Klimaanlage, Dimplex WP, Zehnder Lüftung, 4x div. Kostal PV Wechselrichter + BYD HV und HVM Batterie, Fritzbox, Loxberry

                    Kommentar

                    • Grestorn
                      LoxBus Spammer
                      • 11.07.2022
                      • 464

                      #12
                      Zitat von Meista
                      Bitte entschuldigt die vielleicht blöde Frage: was kann man mit einer Verbindung Loxone -BMW machen außer bei einem E-Auto?
                      Wenn die loxone App im Auto laufen würde -ok.

                      gruß
                      Naja, der Kollege über Dir hat ja einen Anwendungsfall beschrieben (Tor öffnen, wenn das Auto zum Haus fährt).

                      Außerdem kann man natürlich z.B. warnen, wenn Fenster und Türen nicht geschlossen und versperrt sind. Man kann auch bei einem Verbrenner warnen, wenn ein Tankstopp fällig ist.

                      Aber es ist ok, wenn Du für Dich keinen Einsatzzweck findest.

                      Kommentar

                      • MiLox
                        Dumb Home'r
                        • 24.06.2024
                        • 16

                        #13
                        Ziemlich cool, danke!
                        Nutze das dann ebenfalls fürs automatische öffnen des Tors in der Zufahrt und ggf. Garage.

                        Beim Laden stehe ich noch vor der Herausforderung, dass ich fürs Laden des Dienstwagens eine Ladekarte nutzen muss - das habe ich noch keine Lösung..

                        LG und Danke für deine Arbeit!

                        Kommentar

                        • Meista
                          LoxBus Spammer
                          • 20.10.2015
                          • 240

                          #14
                          Zitat von Grestorn

                          Aber es ist ok, wenn Du für Dich keinen Einsatzzweck findest.
                          Naja, mit etwas Mühe findet sich schon eine Anwendung, aber freue mich immer über neue Ideen! :-P
                          Gruß
                          Gruß, Oliver

                          Loxone seit 2012, 4x Miniserver (Gateway-Client), 7x Extension, 1x Relay, 3x Muti Extension Air, 3x Dimmer Ext., 2x Air Base, 2x 1-Wire/NFC, Tree mit 3x Code-Touch V2, DMX, KNX Wetterstation und div. KNX (heizungs)-Aktoren, 3x Hörmann Tormodul, Anbindung Denon HEOS, Mitsubishi Multisplit Klimaanlage, Daikin Klimaanlage, Dimplex WP, Zehnder Lüftung, 4x div. Kostal PV Wechselrichter + BYD HV und HVM Batterie, Fritzbox, Loxberry

                          Kommentar

                          Lädt...