* Update device info for gen2 sleeping devices
* Add test
* Update sw_version only if the firmware_version value has changed
* Rename device_update_info() to update_device_fw_info()
* Remove duplicate comparison
* 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
* Show OTA update progress
* Use an event listener instead of a dispatcher
* Add tests
* Fix name
* Improve tests coverage
* Fix subscribe/unsubscribe logic
* Use async_on_remove()
* 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
* Do not use the device name to create the entity name
* Remove unnecessary return
* Fix mypy complains
* Gen1
* Uncapitalize description.name if channel name is used
* Fix for climate and button
* switch_3 -> switch 3
* Add _attr_has_entity_name to ShellyRestAttributeEntity
* Capitalize channel name
* Create an issue if push updates fail
* Improve strings
* Delete the issue when reloading configuration entry
* Change MAX_PUSH_UPDATE_FAILURES to 5
* Improve issue strings
* Add test
* Use for
* Update homeassistant/components/shelly/strings.json
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
* Simplify deleting the issue
---------
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* revert
* cannot be inside pytest.raises
* one more
* Update homeassistant/helpers/service.py
* Bump PyJWT to 2.6.0
* fix time being frozen too late which makes the access token creation time in the future
* revert zha change
* fix repairs test
* fix ical test
* Do not reload the entry when the target temperature changes
* Do not reload the entry when the mode changes
* Increase test coverage
* Increase test coverage