* 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
* 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
* 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