Skip to content

Releases: JustChr/BavarianData

v0.9.16-beta.2

v0.9.16-beta.2 Pre-release
Pre-release

Choose a tag to compare

@JustChr JustChr released this 06 Oct 13:54

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

v0.9.16-beta.1 Pre-release
Pre-release

Choose a tag to compare

@JustChr JustChr released this 06 Oct 13:21

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
    offers sensor.* 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

Choose a tag to compare

@JustChr JustChr released this 04 Oct 20:00

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's BEV now 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

v0.9.15-beta.2 Pre-release
Pre-release

Choose a tag to compare

@JustChr JustChr released this 04 Oct 16:30

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's BEV now 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

v0.9.15-beta.1 Pre-release
Pre-release

Choose a tag to compare

@JustChr JustChr released this 01 Oct 19:43

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

Choose a tag to compare

@JustChr JustChr released this 01 Oct 05:29

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's language field 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 went unavailable when 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 new resolved attribute.
  • 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

v0.9.14-beta.5 Pre-release
Pre-release

Choose a tag to compare

@JustChr JustChr released this 29 Sep 21:15

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

v0.9.14-beta.4 Pre-release
Pre-release

Choose a tag to compare

@JustChr JustChr released this 29 Sep 18:52

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

v0.9.14-beta.3 Pre-release
Pre-release

Choose a tag to compare

@JustChr JustChr released this 28 Sep 05:47

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 went unavailable when 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

v0.9.14-beta.2 Pre-release
Pre-release

Choose a tag to compare

@JustChr JustChr released this 27 Sep 20:20

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's language field 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.