* Use configured speed ranges for HomeSeer FC200+ fan controllers in zwave_js
* Fix pylint errors
* Remove unused param in tests
* Fix test values
* Address various review notes
* Remove now-redundant assertion
* Add an additional test case for set_percentage=0
* Use round() instead of int() for percentage computations; this makes the percentage setting match the setpoints in the UI
* Add additional tests
* Fix pct conversions
* Make conversion tests exhaustive
* Add tests for discovery data templates
* Revert "Add tests for discovery data templates"
This reverts commit 85dcbc0903.
* Improve typing on ConfigurableFanSpeedDataTemplate#resolve_data
* Move config error handling to the discovery data template
* Fix checks for config data
* Revise fallback logic in percentage_to_zwave_speed and ensure that the speed list is non-empty
* Rework error handling
* Fix runtime fan speed updates
* Use warning instead of warn
* Move data validation to get_speed_config; turns out that resolve_data is only called once, at startup.
* Temporarily remove the not-yet-used fixed fan speed template. Add an additional assertion to ensure speeds are sorted.
* Add a comment about the assertions in discovery_data_template.py
* Update homeassistant/components/zwave_js/discovery_data_template.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix typo in comment
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Convert persistent notification tests to async
* Create/dismiss persistent notifications in exposed functions, not service calls
* Fix notify persistent_notification
* Remove setting up persistent_notification
* Drop more setups
* Empty methods
* Undeprecate sync methods because too big task
* Fix setup clearing notifications
* Fix a bunch of tests
* Fix more tests
* Uno mas
* Test persistent notification events
* Clean up stale comment
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add support for multilevel switch CC select entities
* Use state names from docs and include more device identifiers from device DB
* black
* pylint
* type fix
* Add failure scenario test
* Update homeassistant/components/zwave_js/select.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Reuse zwave_js device when a removed node is replaced with the same node
* Ensure change is backwards compatible with servers that don't include replaced
* Remove lambda
* Add assertions to remove type ignores
* fix tests by always copying state and setting manufacturer/label attributes
* Handle new entity creation when a new value is added
* spacing
* Update homeassistant/components/zwave_js/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* change variable name and use asyncio.gather
* Centralized where discovered value IDs gets managed
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add zwave_js automation trigger
* Rename to align with zwave-js api
* Improve test coverage
* Add additional template variables
* Support states values in addition to keys when present
* remove entity ID from trigger payload
* comments and order
* Add init and dynamically define platform_type
* reduce mypy ignores
* pylint
* pylint
* review
* use module map
* Add Protection CC select entities
comment
* Disable entity by default
* use class attribute
* Enable protection entity by default
* add guard for none
* Create zwave-js select platform and add siren values to number and select platforms
* use constants while we wait for lib release
* comments
* rename stuff in tests to prepare for protection CC PR
* Switch to 0-1 range for number entity
* Update homeassistant/components/zwave_js/number.py
Co-authored-by: kpine <keith.pine@gmail.com>
* Change step
* Switch to ToneID
* Better error handling
* Add test for coerage
Co-authored-by: kpine <keith.pine@gmail.com>