* Remove async_remove_listener
This avoids the ambuigity as to what happens if same callback is added multiple times.
* Keep track of a context for each listener
This allow a update coordinator to adapt what data to request on update from the backing service based on which entities are enabled.
* Clone list before calling callbacks
The callbacks can end up unregistering and modifying the dict while iterating.
* Only yield actual values
* Add a test for update context
* Factor out iteration of _listeners to helper
* Verify context is passed to coordinator
* Switch to Any as type instead of object
* Remove function which use was dropped earliers
The use was removed in 8bee25c938
* Change to new package and tcp
* Rework integration pt1
* Show by default
* Handle auth error
* Use const
* New version avaliable (to be replaced in future by update entity)
* Remove visible
* Version latest
* Filesystem space use
* Dev package
* Fix sensor
* Add services
* Update package
* Add temperature and voltage
* GPU
* Bump package version
* Update config flow
* Add displays
* Fix displays connected
* Round to whole number
* GPU fan speed in RPM
* Handle disconnections
* Update package
* Fix
* Update tests
* Handle more errors
* Check submodule and return missing uuid in test
* Handle auth error on config flow
* Fix test
* Bump package version
* Handle key errors
* Update package to release version
* Client session in config flow
* Log
* Increase timeout and use similar logic in config flow to init
* 30 secs
* Add test for timeout error
* Cleanup logs
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/system_bridge/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* uuid raise specific error
* Type
* Lambda to functions for complex logic
* Unknown error test
* Bump package to 3.0.5
* Bump package to 3.0.6
* Use typings from package and pydantic
* Use dict()
* Use data listener function and map to models
* Use passed module handler
* Use lists from models
* Update to 3.1.0
* Update coordinator to use passed module
* Improve coordinator
* Add debug
* Bump package and avaliable -> available
* Add version check
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>