* Only replace a node if the mfgr id / prod id / prod type differ
* Prefer original device name for unready node
* move register_node_in_dev_reg into async_setup_entry
* simplify get_device_id_ext
* Don't need hex ids
* Revert "move register_node_in_dev_reg into async_setup_entry"
This reverts commit f900e5fb0c67cc81657a1452b51c313bccb6f9e1.
* Revert Callable change
* Revert device backup name
* Add test fixtures
* Update existing not ready test with new fixture data
* Check device properties after node added event
* Add entity check
* Check for extended device id
* better device info checks
* Use receive_event to properly setup components
* Cleanup tests
* improve test_replace_different_node
* improve test_replace_same_node
* add test test_node_model_change
* Clean up long comments and strings
* Format
* Reload integration to detect node device config changes
* update assertions
* Disable entities on "value removed" event
* Disable node status sensor on node replacement
* Add test for disabling entities on remove value event
* Add test for disabling node status sensor on node replacement
* disable entity -> remove entity
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Ensure selected entity is pre-selected in homekit options flow
- We recently adjusted the flow to exclude entities that had
been deleted from breaking the UI validation. We need to include
single entities in the set of all supported entities since
accessory mode has no domain filter
* tweak
* Additional fixes
* small tweak to speed up building the set
* merged fixed version for test branch
* fix(nuki): fixed naming of nuki integration
* parse_id function
* migration path
* fixes from ci runs
* don't update title if it was changed
* move to dedicated helper
* use dict of params
* Update homeassistant/components/nuki/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Only check presence of values, not their content
* Add tests
* Revert "Only check presence of values, not their content"
This reverts commit 046f0ed5fd631cbac0d26e4d3869ad2c6254c0f9.
* Validate existence of keys, not their values
* Properly handle cases of missing keys
* Move error logging and remove reload
* Change device assignment and improve logging
* Use dictionary for devices
* Check if new device exists in API response
* Add test and make loop better
* Make test assert on error in log