* 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
* Refactor ambilight component. Fix issue with turning the ambilight on after switched off
* Move dataclass to original location. Add factory method
* Remove follow video effect list
* Fix log
* Remove follow video effect list
* Update homeassistant/components/philips_js/light.py
Co-authored-by: Joakim Plate <elupus@ecce.se>
* Update homeassistant/components/philips_js/light.py
Co-authored-by: Joakim Plate <elupus@ecce.se>
* Add missing typing
* Fix issues with restoring last state
Co-authored-by: Joakim Plate <elupus@ecce.se>
* Bump ha-philipsjs requirements
* Directly write correct ha state after switching on
* Update homeassistant/components/philips_js/switch.py
Co-authored-by: Joakim Plate <elupus@ecce.se>
* Update homeassistant/components/philips_js/switch.py
Co-authored-by: Joakim Plate <elupus@ecce.se>
* Format with black
Co-authored-by: Joakim Plate <elupus@ecce.se>
* Add diagnostics for philips_js
* Update homeassistant/components/philips_js/diagnostics.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/philips_js/diagnostics.py
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Also redact username/password
They are really not that secret, but seem logical.
* Redact unique id
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Add setup type hints to arcam_fmj
* Add setup type hints to denonavr
* Add setup type hints to philips_js
* Add setup type hints to zha
Co-authored-by: epenet <epenet@users.noreply.github.com>