Commit Graph

470 Commits (7e11fec761dcdc108cd8e355c4f19d1a79d50270)

Author SHA1 Message Date
Raman Gupta 872cd47e87
Add proper support for zwave_js Indicator CC (#90248)
* 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>
2023-05-24 09:09:38 -04:00
Raman Gupta 66f7218b68
Do optimistic state update for Z-Wave multilevel switch entities (#90490)
* 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
2023-05-24 09:04:11 -04:00
Raman Gupta 3e93dd6a01
Update name for Notification CC sensors and buttons (#93019)
* Update name for Notification CC sensors and buttons

* Add comment with reference to names
2023-05-24 09:00:37 -04:00
Raman Gupta 3bf9eaffdf
Bugfix and add test coverage for zwave_js.light (#93257)
Add test coverage for zwave_js.light
2023-05-22 12:08:29 -04:00
Raman Gupta 18eeeaaf68
Refactor zwave_js.fan and add tests (#93256)
* Refactor zwave_js.fan and add tests

* fix const
2023-05-22 12:08:13 -04:00
Raman Gupta e1dd7118e0
Refactor zwave_js.sensor and add test coverage (#93259)
* 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
2023-05-22 11:58:10 -04:00
Raman Gupta d6997d8656
Improve test coverage for zwave_js.trigger (#93260)
Improve coverage for zwave_js.trigger
2023-05-22 17:55:03 +02:00
Raman Gupta ec12d9a197
Improve test coverage for zwave_js (#93262) 2023-05-22 12:20:01 +02:00
Raman Gupta 3190e5d7cf
Add button entities to manually idle zwave notification values (#91446)
* Add button entities to manually idle zwave notification values

* Update discovery.py

* Improve discovery check

* fix tests

* make unique ID more clear
2023-04-25 21:41:29 -04:00
Raman Gupta 78a49ecbce
Bump zwave-js-server-python to 0.48.0 (#91989)
* Bump zwave-js-server-python to 0.48.0

* Add handling of FailedZWaveCommand exception

* Reset mock to avoid unintentional side effects

* Fix bump
2023-04-25 15:41:37 -04:00
Erik Montnemery 63f3767a29
Include UUID in hassio discovery data (#91970) 2023-04-25 09:48:47 +02:00
Raman Gupta c51ed4b328
Redact secret zwave values in diagnostics (#90389)
* redact secret zwave values from diagnostics

* shhrink

* rename
2023-03-28 09:59:01 +02:00
Raman Gupta c11a3881af
Bump zwave-js-server-python to 0.47.0 (#90212) 2023-03-27 12:25:04 +02:00
Raman Gupta cbe85126cb
Introduce a delay between update entity calls (#89737)
* 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>
2023-03-20 18:30:56 -04:00
epenet a0f725dfcb
Add type hints to tests (#89497) 2023-03-10 12:06:50 +01:00
epenet 9762b684c2
Adjust entity registry access in tests (3) (#88964) 2023-03-01 16:04:40 +01:00
Marius Stedjan 9fc6700c5a
Add ZWaveDiscoverySchema for Merten 507801 (#88342)
* Add ZWaveDiscoverySchema for Merten 507801

* Add discovery tests to Merten 507801 z-wave device

* Add Z-Wave discovery schemas for Merten 507801 to disable endpoint 2 by default

* Add more discovery tests for Merten 507801 z-wave device
2023-03-01 00:47:47 -05:00
Raman Gupta 5739782877
Add support for firmware target in zwave_js FirmwareUploadView (#88523)
* 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>
2023-02-23 13:24:55 -05:00
Raman Gupta 05a7df5629
Add controller support to `zwave_js/subscribe_firmware_update_status` (#87348) 2023-02-22 12:08:57 -05:00
Raman Gupta cab8a59be4
Add dsk option to zwave_js/add_node WS command (#87823)
* Add dsk option to zwave_js/add_node WS command

* Bump zwave-js-server-python to 0.46.0 (#88520)

* fix tests
2023-02-22 11:53:22 -05:00
Raman Gupta 1f9f6ab1f0
Update zwave_js FirmwareUploadView to support controller updates (#87239)
* Update zwave_js FirmwareUploadView to support controller updates

* Add coverage

* Change None check to assertion
2023-02-22 11:52:00 -05:00
Raman Gupta 5683d21931
Add new zwave_js WS command to parse DSK from QR code (#87237)
* Add new zwave_js WS command to parse DSK from QR code

* remove minimum character check since it is not needed in this case
2023-02-22 11:51:40 -05:00
Raman Gupta 8722f5b42b
Bump zwave-js-server-python to 0.46.0 (#88520) 2023-02-21 07:15:55 +01:00
epenet 1128041899
Add type hints to integration tests (zwave_js) (#88311) 2023-02-18 14:59:26 +01:00
Franck Nijhof 1e05697080
Enable Ruff B007 (#88356)
* Enable Ruff B007

* Adjust existing cases
2023-02-17 21:08:18 -05:00
Franck Nijhof d3ed8de232
Update Ruff to v0.0.247 (#88210)
* Update Ruff to v0.0.247

* Fix new found violations
2023-02-15 16:46:03 -05:00
Franck Nijhof ed79265843
Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
Raman Gupta 8aa64c8008
Add `has_firmware_update_cc` bool to zwave_js/node_status cmd (#87310)
* Add `has_firmware_update_cc` bool to zwave_js/node_status cmd

* fix test

* Switch order of equality check
2023-02-10 00:49:09 -05:00
Erik Montnemery cc564026fa
Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
epenet 278050a73f
Add type hints to integration tests (t-z) (#87707) 2023-02-08 19:10:53 +01:00
epenet 4142f0d15d
Add return type to tests without arguments (#87613)
* Add return type to tests without arguments

* Black

* Cancel fixture amends
2023-02-07 14:20:06 +01:00
epenet aa00114c2f
Add return type to async tests without arguments (#87612) 2023-02-07 10:26:56 +01:00
Raman Gupta 86cef27e1c
Rename zwave_js ws API command (#87336) 2023-02-03 15:26:20 -05:00
Raman Gupta c715534821
Bump zwave-js-server-python to 0.45.0 (#86771) 2023-01-30 14:27:37 -05:00
Franck Nijhof 57cf11f067
Enable Ruff PT015 (#86775) 2023-01-27 11:10:29 +01:00
Franck Nijhof e50a531cd9
Code styling tweaks to the tests - Part 2 (#86662)
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2023-01-26 01:23:53 +01:00
epenet aa5b29c560
Adjust zwave_js diagnostics (#85524) 2023-01-09 14:33:09 +01:00
Martin Hjelmare 439b35c310
Fix Z-Wave JS sensor units and device classes (#85129)
fixes undefined
2023-01-04 19:47:10 +01:00
Martin Hjelmare 94b80db968
Handle not available add-on in hassio add-on manager (#84943)
* Handle not available add-on in hassio add-on manager

* Fix zwave_js tests

* Fix sky connect tests

* Fix matter tests

* Fix yellow tests

* Update hardware tests
2023-01-02 20:28:21 -05:00
Yuval Aboulafia 3149c52be1
Fix F602 key repeated (#84531) 2022-12-27 11:07:10 +01:00
Raman Gupta 41d5256533
Add via_device support to zwave_js (#83219)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-12-06 22:56:33 -05:00
Raman Gupta 8d1a70391e
Improve zwave_js test coverage (#83372)
* Improve zwave_js test coverage

* review comments and clean up test
2022-12-06 12:18:21 -07:00
Martin Hjelmare 874315c3fc
Bypass zwave_js config validation if driver not ready (#83410) 2022-12-06 12:41:09 -05:00
Raman Gupta 87e2bbbfab
Fix zwave_js_value_updated event (#83358)
* Fix zwave_js_value_updated event

* Fix zwave_js_value_updated event
2022-12-06 10:25:37 +01:00
Erik Montnemery aaec464627
Add support for managing the silabs multiprotocol add-on (#82170)
* Add support for managing the silabs multiprotocol add-on

* Fix passing context when starting option flow

* Allow unloading a ha yellow config entry

* Fix tests

* Log data passed to ZHA option flow

* Improve ZHA migration logic

* Move tests

* Improve test coverage

* Remove dead code

* Drop automatic ZHA migration
2022-11-16 17:38:07 +01:00
Yukon Vinecki 9098592257
Fix Z-Wave JS cover stop support (#78723)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-16 13:14:14 +01:00
Martin Hjelmare 9ded232522
Move zwave_js addon manager to hassio integration (#81354) 2022-11-10 10:09:52 +01:00
Martin Hjelmare a1a0284e81
Fix zwave_js port enumeration (#81020) 2022-10-26 10:12:30 -05:00
Martin Hjelmare 838691f22f
Refactor zwave_js add-on manager (#80883)
* Make addon slug an instance attribute

* Extract addon name and addon config

* Update docstrings
2022-10-24 18:21:05 +02:00
Raman Gupta d4c28e04e4
Reduce missed coverage in zwave_js (#79571)
* 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
2022-10-18 10:06:29 +02:00
Martin Hjelmare 030205df8f
Filter out non official zwave_js add-on discovery (#80110)
* Filter out non official zwave_js add-on discovery

* Add test
2022-10-11 17:37:21 +02:00
Martin Hjelmare 62c4cd3c26
Add name and slug to supervisor discovery info (#80094) 2022-10-11 16:56:45 +02:00
Raman Gupta 27413cee19
Bump zwave_js lib to 0.43.0 and fix multi-file firmware updates (#79342) 2022-10-04 10:40:49 -04:00
kpine c040a7a152
Set zwave_js climate entity target temp attributes based on current mode (#79575)
* Report temperature correctly

* DRY

* Add test assertions

* Don't catch TypeError (revert)
2022-10-04 11:54:13 +02:00
Raman Gupta 9b7eb6b5a1
Reduce coverage gaps for zwave_js (#79520)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-03 20:24:11 +02:00
Raman Gupta 3884b4b6bf
Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-28 21:24:04 -04:00
epenet 0d696b84b2
Cleanup root component imports in tests (#78893) 2022-09-21 06:57:41 -10:00
epenet 0ac581a0b1
Cleanup EntityFeature in tests (#78859) 2022-09-21 10:48:55 +02:00
epenet 7bc2712142
Adjust root-import in tests (#78761)
* Adjust root-import in tests

* Adjust diagnostics

* Adjust button

* Adjust select

* Adjust device_tracker

* Adjust camera

* Adjust humidifier

* Adjust media_source

* Adjust update

* Adjust siren

* Adjust number

* Adjust alarm_control_panel

* Adjust notify

* Adjust sensor

* Adjust switch

* Revert anthemav

* Don't adjust demo humidifier
2022-09-19 15:22:23 +02:00
Raman Gupta 4fbf44cced
Create repair issue if zwave-js-server is too old (#78670)
* Create repair issue if zwave-js-server is too old

* Switch is_fixable to false

* review comments
2022-09-18 21:25:37 +02:00
Raman Gupta 4d6151666e
Handle multiple files properly in zwave_js update entity (#78658)
* 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
2022-09-18 14:56:46 +02:00
Raman Gupta 01acc3d1e5
Fix zwave_js update entity startup state (#78563)
* 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>
2022-09-17 20:43:35 +03:00
Raman Gupta 06178d3446
Only redact zwave_js values that are worth redacting (#78420)
* Only redact zwave_js values that are worth redacting

* Tweak test

* Use redacted fixture for test
2022-09-16 15:04:55 -06:00
Marc Mueller 93a5b99191
Rename zwave_js trigger helper to avoid confusion (#78331)
* Rename zwave_js trigger helper to avoid confusion

* Fix test
2022-09-12 18:36:05 -04:00
Raman Gupta abebf3c067
Switch to new entity naming schema across zwave_js (#77434) 2022-09-12 09:14:59 +02:00
Raman Gupta 8cc0b41daf
Fix zwave_js update entity (#78116)
* 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>
2022-09-09 22:10:56 +02:00
Michael Kowalchuk 19cf5dfc6d
Add zwave_js speed configuration for Leviton ZW4SF fans (#60677)
* 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
2022-09-09 22:06:01 +02:00
Martin Hjelmare f11b51e12b
Fix zwave_js device re-interview (#78046)
* Handle stale node and entity info on re-interview

* Add test

* Unsubscribe on config entry unload
2022-09-08 20:15:27 +02:00
Martin Hjelmare bfe245cc3f
Fix zwave_js default emulate hardware in options flow (#78024) 2022-09-08 10:59:40 +02:00
Raman Gupta 37631d2017
Add value ID to zwave_js device diagnostics (#78015) 2022-09-08 09:13:01 +02:00
Raman Gupta fce28d4848
Bump zwave-js-server-python to 0.41.1 (#77915)
* Bump zwave-js-server-python to 0.41.1

* Fix fixture
2022-09-07 07:28:47 +02:00
Raman Gupta 91fbff05db
Improve performance impact of zwave_js update entity and other tweaks (#77866)
* Improve performance impact of zwave_js update entity and other tweaks

* Reduce concurrent polls

* we need to write state after setting in progress to false

* Fix existing tests

* Fix tests by fixing fixtures

* remove redundant conditional

* Add test for delayed startup

* tweaks

* outdent happy path

* Add missing PROGRESS feature support

* Update homeassistant/components/zwave_js/update.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/update.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fix tests by reverting outdent, PR comments, mark callback

* Remove redundant conditional

* make more readable

* Remove unused SCAN_INTERVAL

* Catch FailedZWaveCommand

* Add comment and remove poll unsub on update

* Fix catching error and add test

* readability

* Fix tests

* Add assertions

* rely on built in progress indicator

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-06 09:40:20 -04:00
Raman Gupta fa987564a7
Handle dead nodes in zwave_js update entity (#77763) 2022-09-03 22:53:21 +02:00
Raman Gupta df214c2d26
Add support for zwave_js firmware update service (#77401)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-08-30 12:49:27 -04:00
Raman Gupta eab0ff5185
Bump zwave-js-server-python to 0.41.0 (#76903) 2022-08-27 21:27:41 -04:00
Martin Hjelmare a6963e6a38
Add zwave_js usb port selection (#76385) 2022-08-07 11:06:03 -04:00
Martin Hjelmare 842cc060f8
Fix zwave_js addon info (#76044)
* Add add-on store info command

* Use add-on store info command in zwave_js

* Fix init tests

* Update tests

* Fix method for addon store info

* Fix response parsing

* Fix store addon installed response parsing

* Remove addon info log that can contain network keys

* Add supervisor store addon info test

* Default to version None if add-on not installed

Co-authored-by: Mike Degatano <michael.degatano@gmail.com>

Co-authored-by: Mike Degatano <michael.degatano@gmail.com>
2022-08-03 22:33:05 +02:00
Raman Gupta 4aa6300b8b
Update zwave_js WS API names (#75797) 2022-07-27 23:42:17 +02:00
Raman Gupta 44f1d92890
Add new zwave_js notification parameters (#75796) 2022-07-27 23:40:44 +02:00
Raman Gupta 3a8748bc93
Bump zwave-js-server-python to 0.40.0 (#75795) 2022-07-27 18:01:00 +02:00
kpine c27fbce7d0
Fix KeyError from zwave_js diagnostics (#74579) 2022-07-09 00:20:44 +02:00
Raman Gupta 768e53ac2d
Add zwave_js/get_any_firmware_update_progress WS cmd (#73905) 2022-06-23 20:13:37 -04:00
Raman Gupta e53372f559
Add `zwave_js/get_firmware_update_progress` WS command (#73304)
Add zwave_js/get_firmware_update_progress WS command
2022-06-19 15:33:58 -04:00
Raman Gupta bb5a6a7104
Add `zwave_js/get_firmware_update_capabilties` WS command (#73691)
* Add zwave_js/get_firmware_update_capabilties WS command

* Fix test
2022-06-19 14:50:47 -04:00
Raman Gupta 801ba6ff8e
Add target option to zwave_js firmware upload view (#73690) 2022-06-19 14:50:05 -04:00
Raman Gupta 9b93071720
Bump zwave-js-server-python to 0.38.0 (#73707)
* Bump zwave-js-server-python to 0.38.0

* Fix test
2022-06-19 20:12:01 +02:00
Raman Gupta 7714183118
Add `zwave_js/subscribe_node_status` WS API cmd (#73249)
* Add zwave_js/subscribe_node_status WS API cmd

* add ready to event
2022-06-19 10:09:26 -04:00
Raman Gupta 63b51f566d
Fix zwave_js add node schemas (#73343)
* Fix zwave_js add node schemas

* Code cleanup

* Add test
2022-06-11 02:13:50 -04:00
Raman Gupta 394442e8a9
Use device_id for zwave_js/replace_failed_node command (#72785) 2022-06-01 06:42:07 +02:00
Raman Gupta 5031c3c8b4
Fix zwave_js custom trigger validation bug (#72656)
* Fix zwave_js custom trigger validation bug

* update comments

* Switch to ValueError

* Switch to ValueError
2022-05-29 18:30:00 +02:00
Raman Gupta 5e52b11050
Add additional data to zwave_js device statistics WS API (#72520)
* Add additional data to zwave_js device statistics WS API

* Rename variables

* fix logic

* correct typehint

* Update homeassistant/components/zwave_js/api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* black

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-05-26 19:21:50 -04:00
Raman Gupta d8295e2fad
Add logbook entries for zwave_js events (#72508)
* Add logbook entries for zwave_js events

* Fix test

* Update homeassistant/components/zwave_js/logbook.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/logbook.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/logbook.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/logbook.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* black

* Remove value updated event

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-05-26 19:20:05 -04:00
Raman Gupta 3a998f1d46
Update node statistics for zwave_js device diagnostics dump (#72509) 2022-05-26 03:03:43 -04:00
Raman Gupta fe3fa0ae17
Bump zwave-js-server-python to 0.37.0 (#72395) 2022-05-25 10:46:55 -07:00
Raman Gupta c8c4bf6c37
Bypass dynamic validation for zwave_js custom triggers (#72471) 2022-05-25 19:20:40 +02:00
Raman Gupta 9b40de18cd
Allow zwave_js/network_status WS API to accept device or entry ID (#72205)
* Allow zwave_js/network_status WS API to accept device or entry ID

* Fix based on upstream feedback

* Fixt ests

* Fixes
2022-05-25 12:49:04 -04:00
Raman Gupta eb7a521232
Fix more typing for zwave_js (#72472)
* Fix more typing for zwave_js

* Revert one change

* reduce lines

* Fix tests
2022-05-25 07:50:25 +02:00
Raman Gupta 352b7e86af
Move zwave_js node metadata comments to separate WS API cmd (#71513)
* Move zwave_js node metadata comments to separate WS API cmd

* fix pr
2022-05-24 22:11:43 -04:00
Martin Hjelmare f7475a5bdb
Clean zwave_js entity driver access (#72427) 2022-05-24 17:52:07 -04:00
Raman Gupta 5f7594268a
Switch zwave_js firmware upload view to use device ID (#72219)
* Switch zwave_js firmware upload view to use device ID

* Store device registry in view
2022-05-20 01:50:13 -04:00
Raman Gupta 68b278d170
Remove legacy zwave migration logic (#72206)
* Remove legacy zwave migration logic

* Update test_migrate.py
2022-05-19 18:29:28 -04:00
Raman Gupta 487819bbe5
Use device ID as input for zwave_js WS device cmds (#71667)
* Use device ID as input for zwave_js WS device cmds

* Additionally missed commands, update network_status command to include node status data

* revert change to removed function

* Revert register device change
2022-05-19 13:31:24 -04:00
Raman Gupta 533257021c
Parallelize zwave_js service calls (#71662)
* Parallelize zwave_js service calls to speed them up and handle exceptions properly

* Fix bug

* Add tests

* Fix comments

* Additional comment fixes

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-05-12 03:07:58 -04:00
Raman Gupta 0d69adb404
Send initial message for certain zwave_js ws subscriptions (#71723)
* Send initial message for certain zwave_js ws subscriptions

* Be consistent

* fix tests and bugs
2022-05-12 03:07:11 -04:00
Raman Gupta ca52aa47aa
Enable sentry reporting for zwave_js (#71719)
* Enable sentry reporting for zwave_js

* Fix test
2022-05-12 03:05:35 -04:00
Reuben Bijl 3901b5c8e8
Add zwave_js MultilevelSwitch Notification (#70470)
Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
2022-04-27 09:12:23 +02:00
Raman Gupta 24b090a038
Create zwave_js.invoke_cc_api service (#70466) 2022-04-26 11:30:49 -04:00
epenet fe0120b65a
Use light enums in zwave_js (#70791) 2022-04-26 15:31:25 +03:00
epenet 24b4690e5d
Use climate enums in zwave_js (#70757) 2022-04-26 12:23:48 +02:00
Raman Gupta 220cb57add
Bump zwave-js-server-python to 0.35.3 (#70357) 2022-04-21 14:14:39 +02:00
Erik Montnemery 5e50a8abd5
Mark device triggers from hidden or auxiliary entities as secondary (#70335)
* Mark device triggers from hidden or auxiliary entities as secondary

* Update tests
2022-04-21 08:01:32 +02:00
Erik Montnemery 150f173eed
Mark device conditions from hidden or auxiliary entities as secondary (#70333) 2022-04-20 21:41:59 +02:00
Erik Montnemery 64381acbaf
Mark device actions from hidden or auxiliary entities as secondary (#70278) 2022-04-20 10:48:46 -07:00
Raman Gupta bc194cd209
Add zeroconf discovery to zwave_js (#69382) 2022-04-06 18:46:13 +02:00
Raman Gupta 79dc551f5a
Fix regression in zwave_js (#69312)
* Handle unique ID update during discovery step

* Use callback to convert unique IDs to strings

* Adjust test to make sure logic works

* Fix other tests

* Move comment

* Move migration to async_setup

* Remove async_migrate_entry since we take care of it during setup

* Remove unused test
2022-04-06 00:40:33 -04:00
Raman Gupta e06856f965
Make zwave_js config entry unique ID a string (#69163)
* Make zwave_js config entry unique ID a string

* Add test

* Fix tests
2022-04-02 23:52:07 -04:00
Raman Gupta 94a8d75142
Fix zwave_js device action logic (#69049)
* Fix zwave_js device action logic

* Add test for this behavior
2022-04-01 07:44:52 +02:00
Raman Gupta 4e2b6db397
Add comments to zwave_js node metadata WS API (#67210)
* Add comments to zwave_js node metadata WS API

* Add test dat
2022-03-31 10:31:17 -04:00
epenet 9aac5d6af1
Prettify json (#68895) 2022-03-30 12:15:04 +02:00
epenet 053c4428a9
Prettify json (component test fixtures) (#68892) 2022-03-30 11:37:17 +02:00
Raman Gupta 9d14201b13
Don't create two zwave_js.lock entities for a single device (#68651) 2022-03-28 11:15:48 +02:00
Raman Gupta 8293430e25
Redact user codes from zwave_js diagnostics (#68515)
* Redact user codes from zwave_js diagnostics

* simplify test

* Remove unused logic

* revert change and make all inputs to ZwaveValueID optional

* revert change and make all inputs to ZwaveValueID optional

* Remove unused diagnostics data from fixture and test location redaction

* Add empty ZwaveValueID check

* Improve coverage

* Simplify post_init check

* Use dataclasses.astuple for checks instead
2022-03-23 21:13:27 +01:00
Raman Gupta 45a80f182d
Dump entities in zwave_js device diagnostics (#68536) 2022-03-22 20:50:02 -07:00
Michael Kowalchuk e0b577f8bd
Add zwave_js fan preset modes and enable them for Inovelli LZW36 (#60947)
* Rework fan data templates to support preset modes, and define data for the Inovelli LZW36

* Add tests. Add dispatching to async_set_preset_mode in async_turn_on.

* Add a test case for invalid preset modes

* Remove unintended merge artifact

* Fix indentation

* Fix merge error

* rm blank line

* Add tests for invalid fan config data, and fix an issue where this prevented the node from being added.

* Fix tests and improve error handling
2022-03-19 03:56:05 +01:00
Franck Nijhof 2686be921c
Remove deprecated (old) Z-Wave integration (#67221)
* Remove deprecated (old) Z-Wave integration

* Mark migration tests as skip, for later cleanup
2022-03-18 13:09:10 +01:00
Francois Chagnon 21aa07e3e5
Add Z-Wave thermostat fan entity (#65865)
* Add Z-Wave thermostat fan entity

* Fix failing test, increase number of entities to 27

* Add tests to improve coverage

* Take back unrelated changes to climate.py

* Clean up guard clauses, use info.primary_value, and make entity disabled by default

* Fix tests

* Add more tests for code coverage

* Remove unused const

* Remove speed parameter from overridden method since it was removed from entity

* Address PR comments
2022-03-15 22:17:51 -04:00
J. Nick Koston 723dcbafca
Complete fan speed transition from #59781 (#67743) 2022-03-09 10:38:12 +01:00
Raman Gupta 9632cbeffa
Improve zwave_js custom triggers and services (#67461)
* Improve zwave_js custom triggers and services

* Switch from pop to get

* Support string boolean values

* refactor and add coverage

* comments and additional assertions
2022-03-05 09:00:31 +01:00
Martin Hjelmare c856f673fb
Fix zwave_js migration luminance sensor (#67234) 2022-02-25 08:05:56 -08:00
Raman Gupta ad4409bcb0
Don't add extra entities for zwave_js controller (#67209)
* Don't add extra entities for zwave_js controller

* Revert reformat of controller_state

* fix indentation issues

* fix indentation issues
2022-02-25 07:39:30 +01:00
Martin Hjelmare d64777359d
Set zwave_js siren to unknown state if value is None (#67172) 2022-02-24 23:21:36 +01:00
Raman Gupta 9fe61f9e7f
Add zwave_js light support for HSM-200 V1 (#67089)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-23 20:18:42 +01:00
Francois Chagnon 87593fa3ec
Add Humidifier support to zwave_js (#65847) 2022-02-23 18:01:45 +01:00
Raman Gupta a12d6aa6ff
Log error when using zwave_js 'refresh_value' on ping button/node status sensor (#66847)
* Raise when using 'zwave_js.refresh_value' on ping button

* Revert test change

* block till done

* Switch from raising an exception to logging an error for both the ping button and node status sensor

* missed commit
2022-02-22 12:03:01 +01:00
Raman Gupta 6e5ae3e2e4
Add zwave_js.event automation trigger (#62828)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-20 11:53:03 +01:00
Raman Gupta 10ad97a5e2
Improve zwave_js notification event handling (#66790) 2022-02-19 21:15:54 -08:00
Raman Gupta 4ff1f5c788
Create zwave_js ping button at the right time (#66848)
* Create zwave_js ping button at the right time

* fix tests
2022-02-19 11:16:14 +01:00
Raman Gupta 82ebb7047f
Bump zwave-js-server-python to 0.35.0 (#66785)
* Bump zwave-js-server-python to 0.35.0

* Remove support for new event type which should go in a separate PR
2022-02-18 02:36:27 -05:00
Franck Nijhof 276fd4f42c
Add Python 3.10 to CI (#59729) 2022-02-17 14:58:24 +01:00
Raman Gupta a1b81b2de4
Add inclusion state to zwave_js/network_status WS API cmd (#65398) 2022-02-17 11:38:20 +01:00
Raman Gupta 152dbfd2fe
Add button entity to ping zwave_js node (#66129)
* Add button entity to ping zwave_js node

* Fix docstring

* Fix docstrings

* Fix and simplify tests

* Fix name

* Update homeassistant/components/zwave_js/button.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/services.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/button.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/button.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/button.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* review comments

* Update homeassistant/components/zwave_js/button.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/button.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove self.client line

* Add callback to remove entity

* Add extra dispatch signal on replacement

* Combine signals for valueless entities

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-14 15:38:22 -05:00
Raman Gupta 113c3149c4
Improve zwave_js device automation strings for config parameters (#66428)
* Improve zwave_js device automation strings for config parameters

* rename things to be more clear

* Match config file format
2022-02-14 15:14:02 -05:00
kpine a7e5f38a3e
Add is_controller_node flag to WS node status (#66404) 2022-02-12 22:08:39 +01:00
Raman Gupta 4076ca9641
Fix schema for zwave_js WS API (#66052) 2022-02-07 21:53:48 -08:00
Raman Gupta c477378835
Raise when zwave_js device automation fails validation (#65610) 2022-02-04 02:50:47 +01:00
Raman Gupta a420e9443c
Add version info to zwave js device diagnostics (#64573) 2022-01-20 12:55:47 -08:00
Raman Gupta f622bf4ff2
Fix bug for zwave_js diagnostics (#64568) 2022-01-20 12:38:34 -05:00
Raman Gupta 11d0dcf7ac
Add zwave_js device diagnostics (#64504)
* Add zwave_js device diagnostics

* Add diagnostics as a dependency in manifest

* Add failure scenario test

* fix device diagnostics helper and remove dependency

* tweak
2022-01-20 11:49:24 +01:00
Raman Gupta fd465df016
Bump zwave-js-server-python to 0.34.0 (#64407) 2022-01-18 22:33:50 -08:00
Raman Gupta c3fc7becb6
Add zwave_js support for diagnostics (#64336) 2022-01-17 22:00:53 -08:00