Draft
Conversation
This adds support for all new commands, events, and state properties introduced in schema 45 of zwave-js-server. - Commands: soft_reset_and_restart, enter_bootloader, leave_bootloader, get_supported_cc_version, get_safe_cc_version, update_user_agent - Events: error, bootloader ready - State properties: ready, all_nodes_ready, config_version - Commands: check_link_reliability, is_link_reliability_check_in_progress, abort_link_reliability_check - State properties: can_sleep, supports_wake_up_on_demand, hardware_version, has_suc_return_route, manufacturer, dsk - Commands: get_ccs, may_support_basic_cc, was_cc_removed_via_config - Commands: get_background_rssi, get_long_range_nodes, get_dsk, get_all_association_groups, get_all_associations, get_all_available_firmware_updates, begin_joining_network, stop_joining_network, begin_leaving_network, stop_leaving_network, start_watchdog, stop_watchdog, get_supported_rf_regions, query_supported_rf_regions, query_rf_region_info, assign_return_routes, delete_return_routes, assign_suc_return_routes, delete_suc_return_routes, discover_node_neighbors - Events: network found, network joined, network left, joining network failed, leaving network failed - State properties: is_sis, max_payload_size, max_payload_size_lr, zwave_api_version, zwave_chip_type Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add utils firmware commands: guess_firmware_file_format, try_unzip_firmware_file, extract_firmware - Add FirmwareFileFormat enum - Add check link reliability progress node event - Add tests for new functionality - Fix schema version in tests (44 -> 45) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move imports out of functions to top of file to fix ruff PLC0415 errors. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add tests to cover conditional branches in schema 45 code: - Endpoint key with colon parsing in get_all_associations - rf_region parameter in get_all_available_firmware_updates - regions being None in get_supported_rf_regions - includesRegion field in query_rf_region_info response Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for Z-Wave JS Server schema 45, including new driver, controller, node, endpoint, and utils commands, events, and state properties.
Related: zwave-js/zwave-js-server#1480
Changes
Driver
soft_reset_and_restart,enter_bootloader,leave_bootloader,get_supported_cc_version,get_safe_cc_version,update_user_agenterror,bootloader readyready,all_nodes_ready,config_versionController
get_background_rssi,get_long_range_nodes,get_dsk,get_all_association_groups,get_all_associations,get_all_available_firmware_updates,begin_joining_network,stop_joining_network,begin_leaving_network,stop_leaving_network,start_watchdog,stop_watchdog,get_supported_rf_regions,query_supported_rf_regions,query_rf_region_info,assign_return_routes,delete_return_routes,assign_suc_return_routes,delete_suc_return_routes,discover_node_neighborsnetwork found,network joined,network left,joining network failed,leaving network failedsdk_version,zwave_api_version,zwave_chip_type,is_sis,max_payload_size,max_payload_size_lrNode
check_link_reliability,is_link_reliability_check_in_progress,abort_link_reliability_checkcheck link reliability progresscan_sleep,supports_wake_up_on_demand,hardware_version,has_suc_return_route,manufacturer,dskEndpoint
get_ccs,may_support_basic_cc,was_cc_removed_via_configUtils
guess_firmware_file_format,try_unzip_firmware_file,extract_firmwareFirmwareFileFormatCommands Summary
soft_reset_and_restartdriver/__init__.py:357test_driver.py:557enter_bootloaderdriver/__init__.py:361test_driver.py:570leave_bootloaderdriver/__init__.py:365test_driver.py:583get_supported_cc_versiondriver/__init__.py:369test_driver.py:597get_safe_cc_versiondriver/__init__.py:382test_driver.py:622update_user_agentdriver/__init__.py:395test_driver.py:646get_background_rssicontroller/__init__.py:923test_controller.py:2367get_long_range_nodescontroller/__init__.py:937test_controller.py:2389get_dskcontroller/__init__.py:944test_controller.py:2406get_all_association_groupscontroller/__init__.py:951test_controller.py:2428get_all_associationscontroller/__init__.py:979test_controller.py:2465get_all_available_firmware_updatescontroller/__init__.py:1011test_controller.py:2491begin_joining_networkcontroller/__init__.py:1037test_controller.py:2519stop_joining_networkcontroller/__init__.py:1044test_controller.py:2536begin_leaving_networkcontroller/__init__.py:1051test_controller.py:2553stop_leaving_networkcontroller/__init__.py:1058test_controller.py:2570start_watchdogcontroller/__init__.py:1067test_controller.py:2587stop_watchdogcontroller/__init__.py:1074test_controller.py:2604get_supported_rf_regionscontroller/__init__.py:1083test_controller.py:2621query_supported_rf_regionscontroller/__init__.py:1099test_controller.py:2643query_rf_region_infocontroller/__init__.py:1106test_controller.py:2660assign_return_routescontroller/__init__.py:1126test_controller.py:2684delete_return_routescontroller/__init__.py:1140test_controller.py:2707assign_suc_return_routescontroller/__init__.py:1151test_controller.py:2725delete_suc_return_routescontroller/__init__.py:1162test_controller.py:2743discover_node_neighborscontroller/__init__.py:1173test_controller.py:2761check_link_reliabilitynode/__init__.py:1024test_node.py:2813is_link_reliability_check_in_progressnode/__init__.py:1046test_node.py:2915abort_link_reliability_checknode/__init__.py:1056test_node.py:2943get_ccsendpoint.py:364test_node.py:3017may_support_basic_ccendpoint.py:377test_node.py:3052was_cc_removed_via_configendpoint.py:387test_node.py:3077guess_firmware_file_formatutils.py:57test_utils.py:127try_unzip_firmware_fileutils.py:84test_utils.py:147extract_firmwareutils.py:117test_utils.py:190Events Summary
errordriver/__init__.py:432test_driver.py:660bootloader readydriver/__init__.py:436test_driver.py:674network foundcontroller/__init__.py:1314test_controller.py:2808network joinedcontroller/__init__.py:1318test_controller.py:2808network leftcontroller/__init__.py:1321test_controller.py:2808joining network failedcontroller/__init__.py:1324test_controller.py:2808leaving network failedcontroller/__init__.py:1327test_controller.py:2808check link reliability progressevent_model.py:84test_node.py:2964State Properties Summary
readydriver/__init__.py:212test_driver.py:686all_nodes_readydriver/__init__.py:217test_driver.py:686config_versiondriver/__init__.py:222test_driver.py:686sdk_versioncontroller/__init__.py:119test_controller.py:2779zwave_api_versioncontroller/__init__.py:272test_controller.py:2779zwave_chip_typecontroller/__init__.py:277test_controller.py:2779is_siscontroller/__init__.py:257test_controller.py:2779max_payload_sizecontroller/__init__.py:262test_controller.py:2779max_payload_size_lrcontroller/__init__.py:267test_controller.py:2779can_sleepnode/__init__.py:387test_node.py:2985supports_wake_up_on_demandnode/__init__.py:392test_node.py:2985hardware_versionnode/__init__.py:397test_node.py:2985has_suc_return_routenode/__init__.py:402test_node.py:2985manufacturernode/__init__.py:407test_node.py:2985dsknode/__init__.py:412test_node.py:2985Test plan
🤖 Generated with Claude Code