* When an event is received from a script component on a shelly device, this event is send to the hass event bus
* Event emitted from a script will be send to the corresponding event entity
* Added tests for the shelly script event
* The event entity for script are now hidden by default
* Forgot to enable script event entities by default for the test
* Made serveral improvement for the shelly script event entity
- Added device name to event entity
- The event entity is now only created when a script has any event types
- The test for this entity now uses snapshots
* Shelly script event entities will not be create for the BLE scanning script and will now be automatically removed when the script no longer exsists
* Changed variable name to avoid confusion with _id
* Removed old const from first implementation and removed _script_event_listeners and used _event_listeners instead to listen for script events
* Use the humidity value with the climate entity if available
* Update tests
* Use walrus
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
* Update Shelly to use initialize from aioshelly
* Save indentation in _async_device_connect
* Use firmware_supported property from aioshelly
* Review comments
* Bump aioshelly
* Fix lint errors
* Test RPC initialized update
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add Shelly RGB/RGBW profiles support
* Update homeassistant/components/shelly/light.py
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Use walrus in rgbw_key_ids
* Use walrus in light_key_ids
---------
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Add remove condition for analog input sensors
* xpercent key is not present in the payload if it has not been configured
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
* Add pulse counter sensors to Shelly
* Add a unit for the pulse counter
* Fix removal condition
* xtotal key is not present in the payload if it has not been configured
* Update test
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
* Remove get_rpc_device_sleep_period() function
* Bump aioshelly version to 7.0.0
* Remove firmware compatibility check from BLE scanner
* Remove firmware compatibility check from light transition
* Update default fw ver
* Use LightEntityFeature in tests
* Add event platform for gen2 devices
* Add tests
* Add removal condition
* Simplify RpcEventDescription; fix availability
* Improve names and docstrings
* Improve the event entity name
* Use async_on_remove()
* Improve tests coverage
* Improve tests coverage
* Prefix the entity name with the device name in the old way
* Black
* Use DeviceInfo object
* Support Gas Valve
* Treat opening and closing as open
* Use set_state()
* Change entity icon and name
* Add valve state sensor
* Closing == closed
* Add translations for valve state entity
* Valve state -> Valve status
* Add tests; use control_result
* Fix mypy error
* Add missing "valve" to the Mock
* Improve docstrings
* Fix climate platform tests
* Increase test coverage
* Add mising return