NEWS
Test Adapter BMW/Mini v4.x.x
-
@stenmic
Hallo, ich habe ein paar Fragen rund um die Positionserkennung, also Latitude und Longitude.
Beide sind unterbmw.0.WBAxxx.stream.vehicle.cabin.infotainment.navigation.currentLocation.latitude.value bmw.0.WBAxxx.stream.vehicle.cabin.infotainment.navigation.currentLocation.longitude.value
auch zu finden.
Meine Fragen dazu:- Wieso steht der Wert in einem Verzeichnis?
- Wieso gibt es unterhalb des Verzeichnisses die Values: c01 | c02 | c03 ? Die beiden ersten beinhalten den ganzzahligen Wert und die Nachkommastellen. Aktualisiert werden diese aber - so mein Gefühl - nur sporadisch.
- Die o.g. Werte Lat & Long werden so etwa alle 2 - 3 Minuten aktualisiert. Das ist bei einer Autofahrt doch ziemlich selten, da gehen Km ins Land. Und eigentlich ist MQTT doch für nahezu Echtzeit ausgelegt. Kann man den Zyklus irgendwie forcieren oder blockt BMW da?
- Kann oder besser darf man den remote.fetchViaAPI so oft wie man möchte auf "true" setzen oder geht das zu Lasten der Quotas?
Vielen Dank
Gruß ExMatador -
@exmatador said in Test Adapter BMW/Mini v4.x.x:
- Die o.g. Werte Lat & Long werden so etwa alle 2 - 3 Minuten aktualisiert. Das ist bei einer Autofahrt doch ziemlich selten, da gehen Km ins Land. Und eigentlich ist MQTT doch für nahezu Echtzeit ausgelegt. Kann man den Zyklus irgendwie forcieren oder blockt BMW da?
MQTT könnte zwar nahezu Echtzeit, allerdings sendet das Fahrzeug nicht häufiger als BMW Backend.
Es ist kein Livestandort.
Bei der alten Community Schnittstelle war es noch seltener, dagegen ist die neue Schnittstelle fast live.Wenn du einen Live Standort benötigst, hilft nur ein GPS Tracker.
-
@exmatador 4.3.1 nutzen
-
@tombox
OK, habe ich auf 4.3.1 aktualisiert.
Du schreibst "fix gps coordinate parsing" - aber an den DPs hat sich nichts geändert, oder ich sehe es nicht?Ich denke, mit dem Containerabruf via remote.fetchViaAPI - alle 60s - komme ich gut zurecht. Ist zwar ein Polling statt mqtt-subscribe, aber was soll's.
Ich baue mir im Hintergrund ein json-File auf und bei jeder Änderung von lat/long ein gpx-File zur Anzeige im ioBroker mit Google Maps Api. Wenn nichts zurückkommt, steht das Auto halt und das zeige ich dann auch so auf der Karte an.
Vielen Dank
Gruß ExMatador -
Mit 4.3.1 stehen die Lat/Lon Werte immer noch in einem Ordner (bmw.0.xxxxxxxxx.stream.vehicle.cabin.infotainment.navigation.currentLocation.latitude.value). Manchmal sind die Werte unter Objects dann gar nicht sichtbar. Mit getState(... kommen allerdings die richtigen Werte. Etwas verwirrend die Sache.
-
@exmatador du hast 50 API abrufe am Tag….
hält somit keine Stunde -
@exmatador sagte in Test Adapter BMW/Mini v4.x.x:
@stenmic
Hallo, ich habe ein paar Fragen rund um die Positionserkennung, also Latitude und Longitude.
Beide sind unterbmw.0.WBAxxx.stream.vehicle.cabin.infotainment.navigation.currentLocation.latitude.value bmw.0.WBAxxx.stream.vehicle.cabin.infotainment.navigation.currentLocation.longitude.value
auch zu finden.
Meine Fragen dazu:- Wieso steht der Wert in einem Verzeichnis?
- Wieso gibt es unterhalb des Verzeichnisses die Values: c01 | c02 | c03 ? Die beiden ersten beinhalten den ganzzahligen Wert und die Nachkommastellen. Aktualisiert werden diese aber - so mein Gefühl - nur sporadisch.
- Die o.g. Werte Lat & Long werden so etwa alle 2 - 3 Minuten aktualisiert. Das ist bei einer Autofahrt doch ziemlich selten, da gehen Km ins Land. Und eigentlich ist MQTT doch für nahezu Echtzeit ausgelegt. Kann man den Zyklus irgendwie forcieren oder blockt BMW da?
- Kann oder besser darf man den remote.fetchViaAPI so oft wie man möchte auf "true" setzen oder geht das zu Lasten der Quotas?
Vielen Dank
Gruß ExMatador2-3 Minuten reichen doch völlig aus. Denk mal drüber nach was da sonst für Datenmenge für nix bei den vielen Autos zusammenkommt.
-
@mclane die alten werte löschen wie sieht es dann aus
-
@tombox Auf die Idee hätte ich auch selber kommen können - klar, jetzt ist es korrekt.
Sorry, für deine wertvolle Zeit!
Edit: Vielleicht könntest du irgendwann mal nachsehen. Es gibt bei CarData auch :navigation.currentPositionDetailedInfo{ "currentPositionDetailedInfo": { "street": "S Street Ln", "houseNumber": "", "crossStreet": "", "city": "City Name, CA", "country": "United States" } }
Das wäre eine echte Erleichterung. Danke
-
@mclane
Wenn Daten nicht oder unregelmässig geliefert werden dann an BMW wenden
bmwcardata-b2c-support@bmwgroup.com -
@tombox Damit habe ich kein Problem, kommt alles regelmäßig. Jedoch oben genannten State bekomme ich seit dem Update auf 4.xx gar nicht mehr. Habe das zur Zeit über Reverse Geocoding gelöst. Würde es aber begrüßen, wenn der State wieder erscheinen würde.
-
@tombox sagte in Test Adapter BMW/Mini v4.x.x:
..................... dann an BMW wenden
Von BMW bekommt man nur Standard Text Blasen. Ich habe es nämlich versucht und man ist NULL auf meine Fragestellungen eingegangen und hat mehr oder weniger das Laden in den Vordergrund gestellt.
Also wenig Zielführend was dabei heraus gekommen ist.
-
Hatte bisher keine Antwort bekommen. Weiß jemand woher der Fehler kommt? Wiederholt sich jede 30 Sekunden.
Parallel läuft auch evcc. Hatte zuerst vermutet, dass es daran liegt. Habe dort jedoch mal MQTT deaktiviert. Jedoch das gleiche Verhalten als wenn es "aktiviert" ist.
Gruß Lenus -
@stenmic Also das mit den chargingBlocks ist noch nicht klar:
- Die charging history kommt bei mir nur wenn man den entsprechenden "Knopf" betätigt. Automatisch geht da nichts, ausser über ein Skript, aber wie oft? Mit welchem Trigger?
- Ein dataxx Ordner beinhaltet ggfls. mehrere chargingBlocks mit unterschiedlichem Datum, aber nur eine zusammenfassende Angabe der geladenen Energie. Man kann also nicht die KWs eines Ladevorgangs wissen.
Ist dies über den Adapter lösbar?
Wie macht ihr es?
Danke!!
-
@mike1429 sagte in Test Adapter BMW/Mini v4.x.x:
@stenmic Also das mit den chargingBlocks ist noch nicht klar:
- Die charging history kommt bei mir nur wenn man den entsprechenden "Knopf" betätigt. Automatisch geht da nichts, ausser über ein Skript, aber wie oft? Mit welchem Trigger?
- Ein dataxx Ordner beinhaltet ggfls. mehrere chargingBlocks mit unterschiedlichem Datum, aber nur eine zusammenfassende Angabe der geladenen Energie. Man kann also nicht die KWs eines Ladevorgangs wissen.
Ist dies über den Adapter lösbar?
Wie macht ihr es?
Danke!!
Also...
der Adapter arbeitet mit 2 Diensten von BMW.
Einmal ist es MQTT, sobald sich Werte am Auto ändern aktualisieren sich diese automatisch im Ordner "stream" . Dabei ist die Anzahl der Aktualisierungen pro Tag völlig egal.Dann gibt es die API Werte. Diese stehen im Ordner "api"
Diese werden nur aktualisiert, wenn du den jeweiligen Button im "remote" Ordern triggerst.
Das mit den Buttons ist gewollt, da du in Summe nur 50 Abfragen pro Tag machen kannst.
Du must dir jetzt überlegen, welche API Werte du wie oft am Tag aktualisieren möchtest und dir ein passendes Skript z.B. mit Blockly anlegen, welchen die Buttons triggert.Die kWh pro Ladegang stehen bei mir z.B. unter
bmw.0.XXX.api.chargingHistory.data01.energyConsumedFromPowerGridKwhDie passen sogar ziemlich genau (ich messe über einen Shelly EM Gen3 meine Ladungen)
Die kWh stehen für die letzten Ladegänge jeweils im dataxx Ordner.
Mit den chargingBlocksxx hab ich mich noch nicht beschäftigt, aber ich vermute in Summe ergeben die "averagePowerGridKw" den "energyConsumedFromPowerGridKwh" Wert.