github bluetti-community/bluetti-home-assistant 2.1.0

latest release: 2.1.1
one hour ago

✨ Changed

  • Devices are listed from the cloud's v2 route. Sign-in and Add devices now ask the route BLUETTI's own integration uses, in place of v1. A device the cloud marks as having no network connection is not offered, since this integration only reaches devices through the cloud. Confirmed on the gw and gwde data centers; the gwpry route answers, but has not been confirmed on a real US account. (#100)
  • Clearer "no devices" stop. The log names the data center and the models it listed, without serial numbers, and the message says the cloud only gives this integration the models it supports. (#100)
  • Entity names in every language. Battery level, PV input, grid input and AC output power (with their energy sensors), the estimated battery charge and discharge power, the AC and Standby switches and the Balco working mode are named in German, French, Dutch, Lithuanian, Brazilian Portuguese and Ukrainian, as in the BLUETTI app. European Portuguese still shows English: its translation file is not loaded by Home Assistant (fixed in 2.1.1). English names are unchanged, so English installs keep their entity IDs. The Balco working mode select, which showed its code (SetCtrlWorkModeBalco), is now named Working Mode. Other entities keep the name the cloud sends. An entity already set up keeps its entity ID; one added from now on in German, French, Dutch, Lithuanian or Brazilian Portuguese gets an ID in that language. (#112)

🐛 Fixed

  • Missing or invalid tokens. The gateways answer a missing token with code 801 and a token that fails verification with code 803, both with HTTP 200. These now go the same way as 805: a token refresh first, then a sign-in request if that fails too. The data center search still only reacts to 805. The codes were checked with made-up and tampered tokens; no user has reported an 803 so far. Contributed by @mrmamba. (#104)
  • No error after a healed rejection. When the cloud rejects a token and the refresh stores a new one, that poll keeps the values shown instead of logging an error, since the entry reloads on its own. A rejection that brings no new token still fails at once. Contributed by @mrmamba. (#106)

📚 Documentation

  • Cloud outages and data centers, with a probe kit to measure them, under doc/ and tools/. (#108, #109)

Requires pybluetti 0.3.0, installed automatically. Running installations keep their devices: the v2 route is used at the next sign-in, reconfigure or Add devices. 2.1.0.b2 ran through the daily cloud outages since 2026-11-06, and the devices came back after each one.

Full Changelog: 2.0.0...2.1.0

Don't miss a new bluetti-home-assistant release

NewReleases is sending notifications on new releases.