fixes
```
File "/usr/src/homeassistant/homeassistant/components/elkm1/__init__.py", line 416, in _set_time_service
_getelk(service).panel.set_time(dt_util.now())
File "/usr/local/lib/python3.11/site-packages/elkm1_lib/panel.py", line 55, in set_time
self._connection.send(rw_encode(datetime))
File "/usr/local/lib/python3.11/site-packages/elkm1_lib/connection.py", line 152, in send
self._send(QueuedWrite(msg.message, msg.response_command), priority_send)
File "/usr/local/lib/python3.11/site-packages/elkm1_lib/connection.py", line 148, in _send
self._check_write_queue.set()
File "/usr/local/lib/python3.11/asyncio/locks.py", line 192, in set
fut.set_result(True)
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 763, in call_soon
self._check_thread()
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 800, in _check_thread
raise RuntimeError(
RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one
```
* Migrate elkm1 to use a dataclass for integration data
* fix unsaved
* slotted
* missing coveragerc
* Revert "missing coveragerc"
This reverts commit 3397b40309.
* Fix dangling task for elkm1
* Update homeassistant/components/elkm1/__init__.py
Co-authored-by: J. Nick Koston <nick@koston.org>
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* A platform is not a component
* Fix dynalite
* SUPPORTED_PLATFORMS --> PLATFORMS
* In tests
* In tests 2
* Fix SmartThings
* Fix ZHA test
* Fix Z-Wave
* Revert Z-Wave
* Use PLATFORMS const in ambient_station
* Fix ihc comment
* Config flow for elkm1
* As entity ids can now be changed, the “alarm_control_panel”
attribute “changed_by_entity_id” is now “changed_by_keypad”
and will show the name of the Elk keypad instead of the entity id.
* An auto configure mode has been introduced which avoids the
need to setup the complex include and exclude filters. This
functionality still exists when configuring from yaml for power
users who want more control over which entities elkm1 generates.
* restore _has_all_unique_prefixes
* preserve legacy behavior of creating alarm_control_panels that have no linked keypads when auto_configure is False
* unroll loop
* Use f-strings in integrations starting with B
* Use f-strings in integrations starting with C
* Use f-strings in integrations starting with D
* Use f-strings in integrations starting with E
* Fix pylint errors
* Fix pylint errors v2
* Fix tests
* Fix tests v2