Fixes:
- Requires
pybluetti>=0.2.4: the websocket connection now identifies itself to the cloud (a dedicated client key for this integration, plus its own running version) on every CONNECT frame, alongside the existing OAuth2 token. The cloud's own websocket gateway does client identification/version gating - very likely the real, underlying cause of the persistent msgCode 600 ("Upgrade required") rejection tracked in #35, which the previous release only stopped from retrying forever without addressing.