hbmqtt is abandoned and incompatible with Python 3.12+ due to use of
removed APIs (@asyncio.coroutine, asyncio.coroutines._DEBUG). amqtt is
the actively maintained fork and a drop-in replacement.
Changes:
- Replace hbmqtt imports with amqtt equivalents in mqttserver.py
- Update logger names from hbmqtt.* to amqtt.* in __init__.py
- Map amqtt.broker.BrokerException to Exception (removed in amqtt)
- Migrate BumperMQTTServer_Plugin to subclass BaseAuthPlugin with a
Config dataclass, matching amqtt's plugin API
- Replace pkg_resources entry point registration with amqtt's
config-based "plugins" dict format
- Fix "ssl": "on" → "ssl": True (amqtt validates types strictly)
- Update authenticate() signature to keyword-only session parameter
- Add **kwargs to on_broker_client_connected/disconnected callbacks
Tested and confirmed working on Python 3.12 with OZMO 920 (vi829v).
* add some new endpoints for app v2
* add oauth
* update EcoVacsHomeProducts
- new attribute model
* add some missing endpoints for app v2
* - use only one level subdomain urls on service list
- add status
* add new used subdomains (for europe)
* improve docker images creation as requirements are change less often
* reformat area list
* add revoke expired oauths
* add docker-compose example
* wait for mqtt start fixes#107
* make images even smaller by copying only required folders instead of all (.git,...)
* fix exception during logging
* return fail if we can't get clean logs
* improve docker docs. Thanks for the hit @Bustel
* fix body not json serializable
* add docker-compose example in separate folder
- move data/web under bumper/web
- originally under data for user customization, but chances are slim and makes docker/data more of a process to get working correctly.
- basic plugin system for confserver
- allows adding api via plugins that can be saved in user data/plugins folder
- relocated routes into internal plugins
- add start_site to replace start_server
- changed init code for starting confserver, this with the above fixes an issue of initializing the app twice