Remove assertions that are not guaratuneed to be safe depending
on the state of the background worker. This leaves in the state
check for the keepalive case which does have some synchronization
already.
* Onewire: Add diagnostic and config switches and binary_sensors
This commit adds diagnostic and config switches and binary_sensors to
the HobbyBoards devices. With these, the user will be able to configure
those devices, without having to run owwrite/owread commands outside
of HA.
* Address review from @epenet
* Add HB_HUB to DEVICE_SUPPORT_OWSERVER
* Device class and entity category enums
* Fixup merge breakage
* Remove duplicate lines
* Allow to set CONF_DB_URL
This is useful for test which need a custom DB path.
* Introduce write_lock_db helper to lock SQLite database
* Introduce Websocket API which allows to lock database during backup
* Fix isort
* Avoid mutable default arguments
* Address pylint issues
* Avoid holding executor thread
* Set unlock event in case timeout occures
This makes sure the database is left unlocked even in case of a race
condition.
* Add more unit tests
* Address new pylint errors
* Lower timeout to speedup tests
* Introduce queue overflow test
* Unlock database if necessary
This makes sure that the test runs through in case locking actually
succeeds (and the test fails).
* Make DB_LOCK_TIMEOUT a global
There is no good reason for this to be an argument. The recorder needs
to pick a sensible value.
* Add Websocket Timeout test
* Test lock_database() return
* Update homeassistant/components/recorder/__init__.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Fix format
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
API has a rate limit of 30 queries per hours, 5 minutes uses 12 queries and leave a reasonable reserve but ensures timestamps of measurements in Home Assistant are about equal to real timestamps
* Add select entity for Yamaha MusicCast Capabilities
* Add musiccast select to .coveragerc
* Move status strings to string.select.json and auto generate the english translations from it. Let the device class start with yamaha_musiccast__.
* Make all device classes lower case
* Use platform enum to add select
* fix device name in log
* Fix Hue migration for all id versions
* fix tests
* typo
* change to bit more universal approach
* fix test again
* formatting
- If the dhcp reservation expired for the device that
was at the ip and a new flux_led device appears we
would discover it because the unique_id did not match