* Add zwave_js controller status sensor
* Also update network status command
* fix tests
* Remove WS command since we have a sensor entity
* Update sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* move driver assertion out of closures
* store state in tests
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump zwave-js-server-python to 0.50.0
* handle additional upstream changes
* Additional changes
* fix tests
* Convert two similar functions to be one function
* Fix docstring
* Remove conditional pydantic import
* Revert scope change
* Bump zwave-js-server-python
* Set default return value for command
* Remove line breaks
* Add coverage
* zwave_js: deprecate Dry and Fan preset modes
Migrating Dry and Fan presets to HVAC modes
* Move consts. Set Dry and Fan as HVAC-first modes.
* Update homeassistant/components/zwave_js/climate.py
Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
* Fix tests
* Keep track of HA release when deprecation was introduced
---------
Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
* Update return signature of service calls
* Add timeout error handling in websocket api for service calls
* Update recorder tests to remove assertion on service call
* Remove timeout behavior and update callers that depend on it today
* Fix tests
* Add missing else
* await coro directly
* Fix more tests
* Update the intent task to use wait instead of timeout
* Remove script service call limits and limit constants
* Update tests that depend on service call limits
* Use wait instead of wait_for and add test
* Update homeassistant/helpers/intent.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add zwave_js speed config for additional GE/Jasco fan controllers
Add speed info for Honeywell(GE/Jasco) 39358 In-Wall Fan Speed Control and Enbrighten(GE/Jasco) 55258 In-Wall Fan Speed Control.
* Add test for Honeywell 39358 In-Wall Fan Speed Control
* Add error handling for all service calls
* Switch siren to use internal function
* Remove failing checks
* Revert change to poll service, add comments, and add additional error handling
* Add error handling for ping and refresh + review comment + add tests
* Add test for statistics entity refresh
* Refactor zwave_js.cover and improve test coverage
* Remove extra fixtures
* cleanup old stuff
* Get coverage to 100
* Add support for Window Covering CC
* fix bug
* typo
* remove redundant stuff
* slight change to improve readability
* Add device class
* Update to match specs
* Add proper support for zwave_js Indicator CC
* remove stale test
* Make all indicators diagnostic
* only set entity category if it is specified
* Only set properties from discovery if specified
* Conditionally set assumed state as well
* fix const name
* Don't create task
* Disable property keys 3-5 by default
* add additional dispatcher_connects so we catch all signals
* be consistent about order
* rename new discovery parameter
* comment
* exclude property keys 3-5
* fix remove logic
* add comment so I don't forget
* Switch entity category to config where necessary
* cut line
* less lines
* Update homeassistant/components/zwave_js/switch.py
Co-authored-by: kpine <keith.pine@gmail.com>
* Move async_remove to respond to interview started event
* Set up listener immediately so we don't wait for platform creation
* remove dupe import
* black
* append
---------
Co-authored-by: kpine <keith.pine@gmail.com>
* Do optimistic state update for Z-Wave multilevel switch entities
* simplify
* define constant for setting value to previous value
* Rework to only consider value of 255 and only places where we know that the previous state is known by the integration due to the service being called
* missed commit
* better code
* Add tests and use constant from lib
* fix logic
* fix bug
* Add comments with more details
* Refactor zwave_js.sensor and add test coverage
* use walrus
* inherit config parameter class from list class
* use walrus in more places
* improve config parameter test
* Introduce a delay between update entity calls
* Update homeassistant/components/zwave_js/update.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* move delay to constant and patch
* rename constant
* Switch to async_call_later
* Remove failing test
* Reimplement to solve task problem
* comment
* pass count directly so that value doesn't mutate before we store it
* lines
* Fix logic and tests
* Comments
* Readd missed coverage
* Add test for delays
* cleanup
* Fix async_added_to_hass logic
* flip conditional
* Store firmware info in extra data so we can restore it along with latest version
* Comment
* comment
* Add test for is_running check and fix bugs
* comment
* Add tests for various restore state scenarios
* move comment so it's less confusing
* improve typing
* consolidate into constant and remove unused one
* Update update.py
* update test to unknown state during partial restore
* fix elif check
* Fix type
* clean up test docstrings and function names
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add support for firmware target in zwave_js FirmwareUploadView
fix
* Update tests/components/zwave_js/test_api.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zwave_js/test_api.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zwave_js/test_api.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zwave_js/test_api.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* fix types
* Switch back to using Any
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Reduce missed coverage in zwave_js.climate and cover
* Add switch platform coverage
* Add select platform
* Add lock platform
* Remove one line of coverage from number platform
* update docstring
* Handle multiple files properly in zwave_js update entity
* Until we have progress, set in progress to true. And fix when we write state
* fix tests
* Assert we set in progress to true before we get progress
* Fix tests
* Comment
* Fix update entity startup state
* Only write state if there is a change
* Add test to show that when an existing entity gets recreated, skipped version does not reset
* Remove unused blocks
* Update homeassistant/components/zwave_js/update.py
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Test zwave_js update entity progress
* Block until firmware update is done
* Update homeassistant/components/zwave_js/update.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* revert params
* unsub finished event listener
* fix tests
* Add test for returned failure
* refactor a little
* rename
* Remove unnecessary controller logic for mocking
* Clear event when resetting
* Comments
* readability
* Fix test
* Fix test
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add speed info for Leviton 4 speed fans
* Use new format for fan speed configuration
* Add a fixture and test for the Leviton ZW4SF
* Use pytest.approx