* some minor tests refactor
* async/await refactor
* toggle have not brightness
* test for race condition in unknown device
* test for 'no_command' and 'not_connected'
* test for race condition in unknown device
* sensor events are handled in sensor devices, RflinkDevice handle
command events
* test race conditions & bogus entity remove
* two more tests
* Test race condition for unknown components
* Test cleanup for `commands events` and `sensor events`
* Restore states through a JSON store
* Accept entity_id directly in restore state helper
* Keep states stored between runs for a limited time
* Remove warning
* Enable brightness slider for RGB
If we are using RGB with no brightness topic, the brighness slider
should still be visible, as we can scale the RGB amount to give us the
brightness.
* Output RGB scaled by brightness
If we are outputting to an RGB device, but do not have a dedicated
brightness topic set, when the brightness slider is changed, we should
output the current colour's HS, with the V coming from the brightness
slider.
* Brightness from RGB when we're not using a brightness topic
When we aren't using a brightness topic, set the brightness slider based
on the received value from an RGB -> HSV conversion.
* Test for new brightness state scaled by RGB
This adds a test to make sure the brightness stored in the state is
being computed correctly from the RGB value when a dedicated brightness
topic is not set.
* Changes from review
Fixes formatting of supported features flags, and checks HS colour
hasn't been set when operating in RGB-only mode
* Set optimistic brightness correctly in rgb mode
When we're using rgb mode to set the brightness, we want to set
optimistic brightness if:
we are running in optimistic mode
OR
the brightness state topic isn't set and we have a brightness command topic
OR
the rgb state topic isn't set and we don't have a brightness command topic
* Add test for turn_on in RGB brightness mode
* Changing z-wave brightness calculation to respect 0x01 and 0x02 byte
values
* adding additional line breaks to satisfy houndci
* - Update comment style for linter
- Add additional unit test to increase code coverage
* Update zwave.py
* First draft
* Generate device id
* No obscure registry
* Dont store config_entry_id in device
* Storage
* Small mistake on rebase
* Do storage more like entity registry
* Improve device identification
* Add tests
* Remove deconz device support from PR
* Fix hound comments, voff!
* Fix comments and clean up
* Fix proper indentation
* Fix pydoc issues
* Fix mochad component to not use self.device
* Fix mochad light platform to not use self.device
* Fix TankUtilitySensor to not use self.device
* Fix Soundtouch to not use self.device
* Fix Plex to not use self.device
* Fix Emby to not use self.device
* Fix Heatmiser to not use self.device
* Fix Wemo lights to not use self.device
* Fix Lifx to not use self.device
* Fix Radiotherm to not use self.device
* Fix Juicenet to not use self.device
* Fix Qwikswitch to not use self.device
* Fix Xiaomi miio to not use self.device
* Fix Nest to not use self.device
* Fix Tellduslive to not use self.device
* Fix Knx to not use self.device
* Clean up a small mistake in soundtouch
* Fix comment from Ballob
* Fix bad indentation
* Fix indentatin
* Lint
* Remove unused variable
* Lint
* Initial commit for deCONZ switch support
* Fix hound comment
* Fix martins comment; platforms shouldn't depend on another platform
* Fix existing tests
* New tests
* Clean up unnecessary methods
* Bump requirement to v43
* Added device state attributes to light
* Add context
* Add context to switch/light services
* Test set_state API
* Lint
* Fix tests
* Do not include context yet in comparison
* Do not pass in loop
* Fix Z-Wave tests
* Add websocket test without user
* Allow defining default turn-on values for lights in the profiles file.
* Mock out file operations in unit test.
* Fix unit test flakiness.
* Avoid unnecessary copy
* Fix ZWave RGBW lights not producing color without explicit white_value (#13930)
* simplify conditional in previous commit (#13930)
* ZwaveColorLight - only zero _white if white_value not specified in call (#13930)
* Fix MQTT Light with RGB and Brightness
When an MQTT light is given an RGB and Brightness topic, the RGB
is scaled by the brightness *as well* as the brightness being set
This causes 255,0,0 at 50% brightness to be sent as 127,0,0 at 50%
brightness, which ends up as 63,0,0 after the RGB bulb has applied
its brightness scaling.
Fixes the same issue in mqtt, mqtt-json and mqtt-template.
Related Issue: #13725
* Add comment to mqtt_json as well