We only did discovery for the key at setup time. If it
changed, a reloaded of the integration was needed to
update the key. We now update it every time we update
the lock detail.
* Turn on thread safety checks in async_dispatcher_send
We keep seeing issues where async_dispatcher_send is called from
a thread which means we call the callback function on the other
side in the thread as well which usually leads to a crash
* Turn on thread safety checks in async_dispatcher_send
We keep seeing issues where async_dispatcher_send is called from
a thread which means we call the callback function on the other
side in the thread as well which usually leads to a crash
* adjust
* Refactor entity_platform polling to avoid double time fetch
Replace async_track_time_interval with loop.call_later
to avoid the useless time fetch every time the listener
fired since we always throw it away
* fix test
* Improve recorder and worker thread matching in RecorderPool
Previously we would look at the name of the threads. This
was a brittle if because other integrations may name their
thread Recorder or DbWorker. Instead we now use explict thread
ids which ensures there will never be a conflict
* fix
* fixes
* fixes
* Use parametrize in drop connect sensor tests
* Use parametrize in drop connect sensor tests
* Make common helper
* Assert the whole entity state
* fix
---------
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
* Move Totalconnect coordinator to separate module
* Move Totalconnect coordinator to separate module
* Move Totalconnect coordinator to separate module
* store runtime data inside the config entry
* remove unsued constants
* add test for InvalidDeviceAutomationConfig exception
* assert entry
* add more specific type hint
* Convert sensor recorder tests to use async API
* Fix accidentally renamed test
* Avoid unnecessary calls to async_wait_recording_done
* Avoid auto-commits for every state change
* Make sure recorder patches are set up before hass fixture
* Add title feature to notify entity platform
* Add overload variants
* Remove overloads, update signatures
* Improve test coverage
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Do not use const
* fix typo
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Convert history tests to use async API
* Add new fixture to help patch recorder
* Modify
* Modify
* Update tests/conftest.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Rename fixture
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* add 20 min timer Ecobee
* modify local value with estimated time
* add ecobee test switch
* removed manual setting of data
* Add no throttle updates
* add more test cases
* move timezone calculation in update function
* update attribute based on feedback
* use timezone for time comparaison
* add location data to tests
* remove is_on function
* update python-ecobee-api lib
* remove uncessary checks
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Refactor group state logic
* Fix
* Add helper and tests for groups with entity platforms multiple ON states
* Adress comments
* Do not store object and avoid linear search
* User dataclass, cleanup multiline ternary
* Add test cases for grouped groups
* Remove dead code
* typo in comment
* Update metjod and module docstr
* Add binary_sensor platform
* Add tests
* Remove state attributes
* Remove attrs from strings.json
* Use base entity class
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
* Use websocket client to test device removal from registry
* Rename client to ws_client to avoid confusion with Unifi clients
* Use remove_device helper