Node-Red mit BMW ConnectedDrive

  • peta:

    Wahrscheinlich reden wir aneinander vorbei.

    Ich bediene und konfiguriere Node-Red nur grafisch, wie in Post #1 dargestellt.

    Die BMW-Nodes habe ich gesucht, gefunden und installiert, wie in Post #9, Bild 1 dargestellt.


    Dann sieht das so aus, wie in den folgenden Bildern auf der linken Seite. Es stehen drei verschiedene Nodes zur Verfügung:

    - BMW List

    - BMW Get

    - BMW Action


    Node-red_BMW_node7.jpg             Node-red_BMW_node6.jpg         Node-red_BMW_node5.jpg



    Der Manuelle Trigger ist das standardmäßigste, was man sich vorstellen kann:


    Node-red_BMW_node4.jpg


    Falls das noch nicht eindeutig rüber kam:

    Im Node "BMW List" musst du Zugriff auf deinen BMW-Account eingerichtet haben, wie in Post #9, Bild 2 gezeigt. Sonst geht natürlich gar nix !!!


    Ist der Remote-Service abgelaufen, gibt der Node "BMW Action" die Fehlermeldung "Error: Server http statusCode 500: Internal Server Error" zurück.


    Erfolgen zu viele Abfragen in kurzer Zeit, kommt ebenfalls eine ähnliche Fehlermeldung.


    Ich hoffe, wir sind jetzt auf der gleichen Linie ... :/


    Gruß


    Mike

    " They aren't ready for us to be strong; they aren't ready for us to prove them wrong;

    Then you know you're ready to be turned, into people who cannot be preyed upon! " (David Draiman)

  • Wahrscheinlich reden wir aneinander vorbei.

    Jupp :)


    Es gibt im NR eine Exportmoeglichkeit der Flows


    pasted-from-clipboard.png


    als JSON. So kann man sehr schnell Flows von A nach B kopieren denn auf der anderen Seite muss man das JSON nur importieren.

    Du hast jetzt aufwaendig Screenshots von Deinen Nodes und deren Konfig gemacht. Vielen Dank. Das haettest Du Dir durch den Export erspart ;)


    Ich versuche mal die Woche die BMW Nodes zu installieren und zu konfigurieren und sehe mir das mal genauer an

  • Habe es eben mal quick and dirty konfiguriert:


    pasted-from-clipboard.png

    Interessant dass ein REST Interface genutzt wird um die Daten zu providen. So wie ich es lese haben die Leute die die BMW Nodes erstellt haben per reverse Engineering vom WEB Frontend wo auch das REST API genutzt wird die Nodes erstellt. Den Code im git habe ich mir jetzt nicht angesehen.


    I.d.R. erhalte ich eine JSON Antwort. Verschiedentlich 403 was heisst dass mein Zugriff nicht erlaubt ist. Warum auch immer ... Weisst Du warum?


    Deinen 500 konnte ich nicht reproduzieren. Ein 500 bedeutet normalerweise dass ein System-/Programmierfehler vorliegt. Jedenfalls geht bei mir ein "Flash headlights" Request durch. Ob die Lichter angegangen sind habe ich nicht ueberpruft ^^

  • Verschiedentlich 403 was heisst dass mein Zugriff nicht erlaubt ist. Warum auch immer ... Weisst Du warum?

    Wenn ich mich recht erinnere, war das die Fehlermeldung bei zu häufiger Abfrage.


    Jedenfalls geht bei mir ein "Flash headlights" Request durch

    Wie mehrfach beschrieben, mein Remote Service war nur die ersten drei Jahre gültig.

    Jetzt müsste ich das kostenpflichtig ordern. Eines der Ziele dieses Threads war, herauszufinden, ob es sich lohnt. Nur um jemanden mit der Hupe erschrecken zu können und den Tankinhalt abzufragen, ist das evtl. nicht angemessen.

    Also vermute ich mal, dein Remote Service ist aktiv?


    Ein weiteres Ziel war, herauszufinden, ob es Cheat-Codes gibt.

    ZB: Muss nur die 6AP im FA stehen? Geht es dann ohne aktiven Remote Service?


    Nun hast du ja gesehen, wie ausführlich die JSON-Antwort bei "BMW List" ausfällt.

    Und eben darum ging es mir auch, ob das schon jemand zerpflückt hat und sagen kann, welche Daten auch für einen Nicht-225XE-Besitzer nutzbar sind.


    Mike

    " They aren't ready for us to be strong; they aren't ready for us to prove them wrong;

    Then you know you're ready to be turned, into people who cannot be preyed upon! " (David Draiman)

  • Wenn ich mich recht erinnere, war das die Fehlermeldung bei zu häufiger Abfrage.

    Bei mir geht z.B. BMW Get Servicepartner. Aber alle anderen Data Types geben sofort 403.

    Also vermute ich mal, dein Remote Service ist aktiv?

    Jupp. Unbegrenzt.

    pasted-from-clipboard.png

    Nur um jemanden mit der Hupe erschrecken zu können und den Tankinhalt abzufragen, ist das evtl. nicht angemessen.

    Nee. Was ganz nett ist ist die Standortabfrage. Wenn man z.B. in Rom geparkt hat und dann in der Stadt rumgelaufen ist findet man sein Auto schneller wieder. Geht aber auch mit anderen Tools. Ganz nuetzlich ist das remote Einschalten des Luefters im Sommer. Es wird zwar nicht die Klimaanlage angeschmissen aber es wird der Hitzestau reduziert.


    Ein weiteres Ziel war, herauszufinden, ob es Cheat-Codes gibt.

    ZB: Muss nur die 6AP im FA stehen? Geht es dann ohne aktiven Remote Service?

    Bzgl Cheat Codes wuerde ich mal im git der BMW Nodeentwickler fragen.


    6AP bzw FA verstehe ich nicht was das heisst

    Und eben darum ging es mir auch, ob das schon jemand zerpflückt hat und sagen kann, welche Daten auch für einen Nicht-225XE-Besitzer nutzbar sind.

    Ich bin nur mal kurz druebergeflogen. Da keine offizielle REST API Doku existiert kann man nur anhand der FeldNamen bzw des Inhaltes raten um was es sich dreht. Vielleicht gibt es die Info von den BMW Nodeentwicklern?


    Keine Ahnung warum Du den 225XE nennst. Ich habe einen 218i/F45.

  • Keine Ahnung warum Du den 225XE nennst. Ich habe einen 218i/F45.

    Wenn man das Daten-Paket mal durchgeht, machen viele Tags nur für den XE Sinn. Einfachstes Beispiel: Alles was mit Laden und E-Maschine zu tun hat ...

    Mit Laden ist nicht das Laden der 12v-Bordbatterie, sondern das der Hochvolt-Batterie gemeint.


    Mike

    " They aren't ready for us to be strong; they aren't ready for us to prove them wrong;

    Then you know you're ready to be turned, into people who cannot be preyed upon! " (David Draiman)

  • Stimmt. Ich habe mich auch schon ueber die Ladeinformationen gewundert. In JSON gibt es auch optionale Attribute und ich haette vermutet dass diese unnuetzen Ladeinfos bei einem 218i nicht geliefert werden. Ist aber immer Sache der REST API Implementierung ...

  • Bzgl Cheat Codes wuerde ich mal im git der BMW Nodeentwickler fragen.


    6AP bzw FA verstehe ich nicht was das heisst

    Nach den bisherigen Erkenntnissen sieht meine aktuelle Vermutung so aus:

    - Ist die Sonderausstattung 6AP (Remote Services) beim Kauf geordert worden, verbleibt diese auch nach Ablauf der ersten drei Jahre im Status "Unbegrenzte Laufzeit".

    - Wenn nur eine der der anderen (zB. 6AK, 6AC etc) geordert wird, ist "Remote Services" die ersten drei Jahre als Appetithäppchen dabei, danach müsste man es ordern; per jährlichem Abo ...


    Im erstgenannten Fall ist die SA (Sonderausstattung) im FA (Fahrzeugauftrag) enthalten, im zweiten nicht.


    Mit Cheat-Codes meinte ich, ob es reicht, per Codierung die 6AP in den FA aufzunehmen und damit den selben Zustand zu erreichen, wie Fall 1 ... ?

    Von mir aus auch gerne per FSC (Freischaltcode) solange auch OEMs akzeptiert werden.


    Da keine offizielle REST API Doku existiert kann man nur anhand der FeldNamen bzw des Inhaltes raten um was es sich dreht.

    Exakt da liegt ja mein Problem. Soll ich mir wirklich die Mühe machen und einen ellenlangen Funktions-Node erstellen, der alle Daten sauber extrahiert, wenn ich schließlich und endlich doch nur ein paar nutze. Und dann auch noch dafür blechen soll, damit ich nicht die Daten von Mai 2021 verhackstücke ...


    Mike

    " They aren't ready for us to be strong; they aren't ready for us to prove them wrong;

    Then you know you're ready to be turned, into people who cannot be preyed upon! " (David Draiman)

  • Ist die Sonderausstattung 6AP (Remote Services) beim Kauf geordert worden, verbleibt diese auch nach Ablauf der ersten drei Jahre im Status "Unbegrenzte Laufzeit".

    Sofern Deine Erkenntnisse richtig sind liegt das wohl bei mir vor.


    m erstgenannten Fall ist die SA (Sonderausstattung) im FA (Fahrzeugauftrag) enthalten, im zweiten nicht.

    Danke fuer die Erklaerung der Abkuerzungen :thumbup:

    Mit Cheat-Codes meinte ich, ob es reicht, per Codierung die 6AP in den FA aufzunehmen und damit den selben Zustand zu erreichen, wie Fall 1 ... ?

    Von mir aus auch gerne per FSC (Freischaltcode) solange auch OEMs akzeptiert werden.

    Die Frage ist ob es reicht im Fahrzeug den Update vorzunehmen oder ob der auch im zentralen BMW Farhzeugverzeichnis (VIN) vorgenommen werden muss.

  • Soll ich mir wirklich die Mühe machen und einen ellenlangen Funktions-Node erstellen, der alle Daten sauber extrahiert, wenn ich schließlich und endlich doch nur ein paar nutze.

    Wie ich oben schon schrieb: Das remote Einschalten des Luefters ist ganz nett.


    Ansonsten kann man natuerlich noch diverse andere Dinge anstellen: Eine kleine Raspberry aufsetzen und dann regelmaessig per REST Calls aufzeichnen und die Daten in einer MySQL DB stecken so dass die Daten jederzeit analysiert werden koennen:


    1) Wo sich das Fahrzeug befindet wenn andere Familienmitglieder damit unterwegs sind.

    2) Tankstand

    3) km Stand


    ... usw usw. Ob Du das brauchst ? Das musst Du wissen.

    Fuhrpark: 218i Bj 12/2018

    Einmal editiert, zuletzt von peta ()