Release v1.9.5
v1.9.5
Hotfix for the re-subscribe crash and Python 3.13 compatibility.
Fixes
- Fix
ConcurrencyErrorduring re-subscribe (#41): The hourly re-subscribe (introduced in v1.9.4) crashed because it tried to read from the WebSocket while the listener loop was already reading. Now it only sends the Subscribe message without waiting for a response. - Python 3.13 compatibility (#40):
pybticinonow works on Python 3.13 (lowered from 3.14-only). Fixed a Python 2-styleexceptsyntax that causedSyntaxErroron 3.13.
Requires pybticino >= 1.7.1.
Recent release history
v1.9.4
Proactive re-subscribe + resilient coordinator for WebSocket stability
- Every hour, refresh the OAuth token and re-subscribe on the existing WebSocket connection (matches Android app behavior). Prevents disconnections from token expiry.
- On transient API errors (500, timeout, network issues), keep entities available with last known data instead of marking everything as unavailable.
- Fix
_is_runningstuck state in pybticino:connect()no longer silently returns when the flag is stuck from a previous failed attempt.
v1.9.3
Fix WebSocket reconnect storm
- The stale connection watchdog was re-flagging every 60 seconds after a failed reconnect, creating hundreds of rapid reconnect attempts that triggered Netatmo rate limiting (HTTP 429). Now the stale flag is reset after each reconnect attempt.
v1.9.2
Quality improvements
- Diagnostics panel (downloadable from HA UI)
- Reauth flow when credentials expire
- Token persistence across HA restarts
- Quality scale declaration
v1.9.1
Token persistence
- OAuth tokens are saved to HA storage and restored on restart, avoiding unnecessary re-authentication.
v1.9.0
Entity improvements (
- New sensors: Bridge Busy, Call Counter (answered/missed)
- Uptime sensor → Last Boot timestamp
- Removed garbage sensors (Last Config Update, Last Seen)
- Cleaned up entity attributes (removed internal diagnostics clutter)
- Binary sensor device_class changed from
occupancytosound - Lock: added
last_unlockedattribute - Call sensor: added
session_idattribute - Camera: searches event history for images when last event has no snapshot
See v1.9.0 release notes for full breaking changes details.