Releases: JustChr/BavarianData
Release list
v0.9.16-beta.2
Fixed
- The new GPS latitude/longitude sensors were never created (beta.1). They
were only made when a position first arrived, and the device tracker restores
the last position at startup, so a position never counted as new. They are now
created, disabled, as soon as the car sends anything, so they can be enabled.
Enjoying BavarianData? It's a spare-time project: a ⭐ on GitHub GitHub Sponsors or a coffee on Ko-fi keeps it going.
v0.9.16-beta.1
Added
- The car's position as plain sensors, opt-in. Each car now has GPS
latitude and GPS longitude sensors for add-ons whose entity picker only
offerssensor.*and cannot read a device tracker's attributes (found through
DriveLoom, discussion #54, thanks to @lemuba). They are created disabled: every fix goes to
the recorder as a state, and the device tracker already covers the map and
zones. Enable them under the car's disabled entities. Nothing changes for
anyone who doesn't. Heading stays on the tracker.
Enjoying BavarianData? It's a spare-time project: a ⭐ on GitHub GitHub Sponsors or a coffee on Ko-fi keeps it going.
v0.9.15
Two small fixes for the card and for the i4: a car whose name contains "Sport" no longer loses its charging status, and a BMW i4 is no longer mistaken for a plug-in hybrid.
Fixed
- The card showed "Not charging" on a car whose name contains "port" (such
as an iX3 "M Sport", issue #51). The card's automatic sensor picks skip
entities that mention words like "port" (the charging port), and it matched
them against the vehicle's name too, so "Sport" hid the charging status.
The vehicle's name is now ignored when picking sensors. - A BMW i4 was treated as a plug-in hybrid (issue #53). The i4 eDrive35
streams a fuel-tank level even though BMW's own vehicle data calls it a
battery-electric car, and the integration took the tank as proof of a hybrid:
the card showed a 0 % tank and no total range, and the Efficiency & range
view refused to work out a consumption. BMW'sBEVnow outranks a stray fuel
field, in the card and in the integration's own consumption and range logic.
Enjoying BavarianData? It's a spare-time project: a ⭐ on GitHub GitHub Sponsors or a coffee on Ko-fi keeps it going.
v0.9.15-beta.2
Fixed
- A BMW i4 was treated as a plug-in hybrid (issue #53). The i4 eDrive35
streams a fuel-tank level even though BMW's own vehicle data calls it a
battery-electric car, and the integration took the tank as proof of a hybrid:
the card showed a 0 % tank and no total range, and the Efficiency & range
view refused to work out a consumption. BMW'sBEVnow outranks a stray fuel
field, in the card and in the integration's own consumption and range logic.
Enjoying BavarianData? It's a spare-time project: a ⭐ on GitHub GitHub Sponsors or a coffee on Ko-fi keeps it going.
v0.9.15-beta.1
Fixed
- The card showed "Not charging" on a car whose name contains "port" (such
as an iX3 "M Sport", issue #51). The card's automatic sensor picks skip
entities that mention words like "port" (the charging port), and it matched
them against the vehicle's name too, so "Sport" hid the charging status.
The vehicle's name is now ignored when picking sensors.
Enjoying BavarianData? It's a spare-time project: a ⭐ on GitHub GitHub Sponsors or a coffee on Ko-fi keeps it going.
v0.9.14
Ten languages, a website, a fix for Check Control warnings that never cleared, and an easier way to add a second car without losing history.
Added
- Eight more languages: French, Italian, Spanish, Dutch, Polish, Portuguese,
Czech and Swedish. Everything is translated — entity names, the setup and
options screens, services, repair notices, device triggers, the printable
month report and the dashboard card. The names of BMW's fields are BMW's own,
taken from the catalogue BMW publishes in each language, so they match the
wording in the BMW portal. Portuguese is European Portuguese. The export
service'slanguagefield accepts the new codes. Entity IDs do not change. - A website: justchr.github.io/BavarianData,
in English and German. It runs the real dashboard card on a demo car you can
click through, carries the full manual, and has a searchable page for every
descriptor BMW CarData can send. The wiki stays the source; the website
renders it, because GitHub keeps wikis out of search engines. - Coming from bimmer_connected: a manual page for everyone whose BMW
Connected Drive integration wentunavailablewhen BMW blocked it on
29 September 2025 — what replaces it, what you lose (remote commands), and
which BavarianData entity stands in for each old one.
Changed
- The card's Vehicle events view shows only current Check Control
messages. Messages the car no longer reports fold away under Earlier
messages, with the day each was last reported and the day it stopped. The
sensor keeps the last ten in a newresolvedattribute. - Updated to BMW's latest data catalogue. The State of health (SOCE)
sensor now keeps long-term statistics, so its trend shows in the history
graphs. In German, Energieinhalt der Hochvoltbatterie is now called what
BMW calls it: Nutzbare Energie aus Hochvoltbatterie (vollgeladen,
prognostiziert). The entity ID does not change. - The integration's Documentation link in Home Assistant now opens the
manual on the website. - Discover vehicles now adds the cars it finds. It used to fetch BMW's list
of mapped cars and only write their count to the log, so a car this entry had
never seen stayed invisible. A primary car that is new to the entry now becomes
a device (one request against the day's quota, once per car). Streaming still
has to be switched on for it in the portal, under Configure → Choose
streamed data. (#44) - A second car no longer needs "the dance". Finishing Configure → Choose
streamed data, or re-authorizing the account, now looks for cars the entry
has not met (one request, only when one is found), and a car found that way
gets its entities from one telematics fetch instead of staying an empty
device until it next streams. Before, a parked car stayed invisible until it
happened to send something, or until Discover vehicles and Fetch
telematics were pressed by hand.
(#44)
Fixed
- A Check Control warning stayed on after it was dealt with. Topping up the
washer fluid did not clear "washer fluid level is low": once the car has no
messages, BMW reports the list as null rather than as an empty list, and the integration read that as "no news" and kept the old warning for
good. It now reads it as "no messages", so the sensor drops to 0 at the next
daily refresh after a drive. - The card could show a stopped charge as charging. BMW's catalogue now
lists two more charging states, interrupted and disrupted. Both would
have shown a green ring and Time to full on the card. They now read as
stopped, and have names in every language. - A refused login could leave two connections to BMW open. When BMW
refused the stream's login and the token was renewed at once, a busy system
could lose track of the new connection and open another one: two streams on
one account, which BMW does not allow and which makes the connections drop
each other. The refused connection is now shut down before anything else
reacts to the refusal. - Adding the same BMW account again no longer wipes its history. Running
Add device with a Client ID that is already set up (for example to pick up a
second car) used to delete the existing entry first, and with it every stored
trip and charge. The existing entry is now re-authorized in place, keeping its
history. (#44)
Enjoying BavarianData? It's a spare-time project: a ⭐ on GitHub or a coffee on Ko-fi keeps it going.
v0.9.14-beta.5
Changed
- A second car no longer needs "the dance". Finishing Configure → Choose
streamed data, or re-authorizing the account, now looks for cars the entry
has not met (one request, only when one is found), and a car found that way
gets its entities from one telematics fetch instead of staying an empty
device until it next streams. Before, a parked car stayed invisible until it
happened to send something, or until Discover vehicles and Fetch
telematics were pressed by hand.
(#44)
Enjoying BavarianData? It's a spare-time project: a ⭐ on GitHub or a coffee on Ko-fi keeps it going.
v0.9.14-beta.4
Changed
- Discover vehicles now adds the cars it finds. It used to fetch BMW's list
of mapped cars and only write their count to the log, so a car this entry had
never seen stayed invisible. A primary car that is new to the entry now becomes
a device (one request against the day's quota, once per car). Streaming still
has to be switched on for it in the portal, under Configure → Choose
streamed data. (#44)
Fixed
- Adding the same BMW account again no longer wipes its history. Running
Add device with a Client ID that is already set up (for example to pick up a
second car) used to delete the existing entry first, and with it every stored
trip and charge. The existing entry is now re-authorized in place, keeping its
history. (#44)
Enjoying BavarianData? It's a spare-time project: a ⭐ on GitHub or a coffee on Ko-fi keeps it going.
v0.9.14-beta.3
Added
- A website: justchr.github.io/BavarianData,
in English and German. It runs the real dashboard card on a demo car you can
click through, carries the full manual, and has a searchable page for every
descriptor BMW CarData can send. The wiki stays the source; the website
renders it, because GitHub keeps wikis out of search engines. - Coming from bimmer_connected: a manual page for everyone whose BMW
Connected Drive integration wentunavailablewhen BMW blocked it on
29 September 2025 — what replaces it, what you lose (remote commands), and
which BavarianData entity stands in for each old one.
Changed
- The integration's Documentation link in Home Assistant now opens the
manual on the website.
v0.9.14-beta.2
Added
- Eight more languages: French, Italian, Spanish, Dutch, Polish, Portuguese,
Czech and Swedish. Everything is translated — entity names, the setup and
options screens, services, repair notices, device triggers, the printable
month report and the dashboard card. The names of BMW's fields are BMW's own,
taken from the catalogue BMW publishes in each language, so they match the
wording in the BMW portal. Portuguese is European Portuguese. The export
service'slanguagefield accepts the new codes. Entity IDs do not change.
Changed
- Updated to BMW's latest data catalogue. The State of health (SOCE)
sensor now keeps long-term statistics, so its trend shows in the history
graphs. In German, Energieinhalt der Hochvoltbatterie is now called what
BMW calls it: Nutzbare Energie aus Hochvoltbatterie (vollgeladen,
prognostiziert). The entity ID does not change.
Fixed
- The card could show a stopped charge as charging. BMW's catalogue now
lists two more charging states, interrupted and disrupted. Both would
have shown a green ring and Time to full on the card. They now read as
stopped, and have names in every language. - A refused login could leave two connections to BMW open. When BMW
refused the stream's login and the token was renewed at once, a busy system
could lose track of the new connection and open another one: two streams on
one account, which BMW does not allow and which makes the connections drop
each other. The refused connection is now shut down before anything else
reacts to the refusal.