@@ -32,21 +32,236 @@ Base schema.
3232## Schema 4
3333
3434- Node ` interviewStage ` property was changed from type ` number ` to type ` string `
35+ - Added ` driver ` command namespace (` driver.get_config ` , ` driver.update_log_config ` , ` driver.get_log_config ` , ` driver.enable_statistics ` , ` driver.disable_statistics ` , ` driver.is_statistics_enabled ` , ` driver.start_listening_logs ` , ` driver.stop_listening_logs ` )
36+ - Added ` driver ` state (` logConfig ` , ` statisticsEnabled ` ) to the state dump
37+ - Added ` node.refresh_values ` and ` node.refresh_cc_values ` commands
38+ - Added ` interview started ` node event
39+ - Added ` interview stage completed ` node event (with ` stageName ` argument)
40+ - Added ` logging ` driver event (emitted when ` driver.start_listening_logs ` is active)
3541
3642## Schema 5
3743
3844- Added ` deviceDatabaseUrl ` property to Node
3945- Removed ` neighbors ` property from Node. Use ` controller.get_node_neighbors ` instead.
46+ - Added ` controller.get_node_neighbors ` command
47+ - Added ` broadcast_node ` and ` multicast_group ` command namespaces
48+ - Added ` node.begin_firmware_update ` and ` node.ping ` commands
4049
41- ---
50+ ## Schema 6
4251
43- > Missing schemas (6 - 32) will be added later
52+ - Added ` driver.set_preferred_scales ` command
53+ - Added ` driver.check_for_config_updates ` and ` driver.install_config_update ` commands
54+ - Added ` options ` parameter to ` node.set_value ` command (` SetValueAPIOptions ` )
55+ - Added optional ` endpoint ` parameter to ` controller.get_association_groups ` , ` controller.get_associations ` , ` controller.is_association_allowed ` , ` controller.add_associations ` , and ` controller.remove_associations ` commands
56+ - Changed ` Association ` type to ` AssociationAddress ` in association commands
57+ - Added ` isHealNetworkActive ` property to controller state dump
58+ - Added ` valueChangeOptions ` property to value metadata and configuration metadata
4459
45- ---
60+ ## Schema 7
61+
62+ - Added ` endpoint.invoke_cc_api ` command
63+ - Added ` endpoint.supports_cc_api ` command
64+ - Added ` statistics ` property (` NodeStatistics ` ) to ` NodeState `
65+ - Added ` statistics ` property (` ControllerStatistics ` ) to controller state dump
66+ - Added ` statistics updated ` controller event
67+ - Added ` statistics updated ` node event
68+
69+ ## Schema 8
70+
71+ - Added ` node.has_security_class ` command
72+ - Added ` node.get_highest_security_class ` command
73+ - Added ` node.get_firmware_update_capabilities ` command
74+ - Added ` controller.grant_security_classes ` command
75+ - Added ` controller.validate_dsk_and_enter_pin ` command
76+ - Added controller events: ` grant security classes ` , ` validate dsk and enter pin ` , ` inclusion aborted `
77+ - Updated ` controller.begin_inclusion ` and ` controller.replace_failed_node ` to support S2 inclusion options
78+ - Added ` result ` (` InclusionResult ` ) to ` node added ` controller event payload
79+ - Added ` broadcast_node.invoke_cc_api ` and ` broadcast_node.supports_cc_api ` commands
80+ - Added ` multicast_group.invoke_cc_api ` and ` multicast_group.supports_cc_api ` commands
81+ - Added ` options ` parameter (` SetValueAPIOptions ` ) to ` broadcast_node.set_value ` and ` multicast_group.set_value ` commands
82+
83+ ## Schema 9
84+
85+ - Bumped ` zwave-js ` to ` ^8.3.1 ` (no server API changes)
86+
87+ ## Schema 10
88+
89+ - Added ` replaced ` boolean to ` node removed ` controller event
90+ - Added ` highestSecurityClass ` property to ` NodeState `
91+ - Added server message compression support
92+
93+ ## Schema 11
94+
95+ - Added ` controller.provision_smart_start_node ` command
96+ - Added ` controller.unprovision_smart_start_node ` command
97+ - Added ` controller.get_provisioning_entry ` command
98+ - Added ` controller.get_provisioning_entries ` command
99+ - Added ` utils.parse_qr_code_string ` command
100+ - Updated ` controller.begin_inclusion ` to support QR code string provisioning
101+ - Updated ` controller.begin_exclusion ` with ` unprovision ` parameter
102+ - Added ` broadcast_node.get_defined_value_ids ` and ` multicast_group.get_defined_value_ids ` commands
103+
104+ ## Schema 12
105+
106+ - Added ` controller.supports_feature ` command
107+ - Server now enables ` emitValueUpdateAfterSetValue ` driver option by default
108+
109+ ## Schema 13
110+
111+ - Added ` node.test_powerlevel ` command
112+ - Added ` node.check_lifeline_health ` command
113+ - Added ` node.check_route_health ` command
114+ - Added optional ` options ` parameter to ` node.refresh_info ` command
115+ - Added node events: ` test powerlevel progress ` , ` check lifeline health progress ` , ` check route health progress `
116+
117+ ## Schema 14
118+
119+ - Added ` node.get_value ` command
120+ - Added ` node.get_endpoint_count ` command
121+ - Added ` node.interview_cc ` command
122+ - Added ` controller.backup_nvm_raw ` , ` controller.restore_nvm ` , ` controller.set_rf_region ` , ` controller.get_rf_region ` , ` controller.set_powerlevel ` , ` controller.get_powerlevel ` , and ` controller.get_state ` commands
123+ - Added ` node.get_state ` , ` node.set_name ` , ` node.set_location ` , and ` node.set_keep_awake ` commands
124+ - Added ` isControllerNode ` and ` keepAwake ` properties to ` NodeState `
125+ - Added ` inclusionState ` property and full controller state dump to ` ControllerState `
126+ - Added controller events: ` nvm backup progress ` , ` nvm convert progress ` , ` nvm restore progress ` (emitted during NVM backup/restore operations)
127+
128+ ## Schema 15
129+
130+ - Added ` commandClasses ` property to ` Endpoint ` state dump (array of ` CommandClassState ` with ` id ` , ` name ` , ` version ` , and ` isSecure ` )
131+ - Moved ` commandClasses ` from ` Node ` state to ` Endpoint ` state
132+
133+ ## Schema 16
134+
135+ - Added ` driver.enable_error_reporting ` command
136+ - Added ` controller.get_known_lifeline_routes ` command
137+ - Changed controller state: replaced ` libraryVersion ` and ` serialApiVersion ` with ` sdkVersion ` and ` firmwareVersion `
138+ - Added optional ` filter ` parameter to ` driver.start_listening_logs ` command
139+ - Added DNS-SD/mDNS service discovery support
140+
141+ ## Schema 17
142+
143+ - Changed ` controller.begin_exclusion ` : ` unprovision ` parameter now accepts ` boolean | "inactive" ` (previously just ` boolean ` )
144+ - Changed ` controller.get_provisioning_entry ` : parameter changed from ` dsk ` (string) to ` dskOrNodeId ` (string | number)
145+ - Added ` installedVersion ` to ` driver.check_for_config_updates ` response
146+
147+ ## Schema 18
148+
149+ - Added ` node.get_firmware_update_progress ` command
150+ - Added ` target ` parameter to ` node.begin_firmware_update ` command
151+ - Added ` node.wait_for_wakeup ` command
152+
153+ ## Schema 19
154+
155+ - Added controller ` node found ` event
156+ - Added ` node ` property to ` node found ` event containing ` FoundNodeState ` with ` nodeId ` , ` deviceClass ` , and ` status `
157+
158+ ## Schema 20
159+
160+ - Added ` controller.get_any_firmware_update_progress ` command
161+
162+ ## Schema 21
163+
164+ - Added ` controller.is_any_ota_firmware_update_in_progress ` command
165+ - Added ` controller.get_available_firmware_updates ` command
166+ - Added ` controller.begin_ota_firmware_update ` command
167+ - Added ` node.is_firmware_update_in_progress ` command
168+ - Added ` node.get_firmware_update_capabilities_cached ` command
169+ - Refactored firmware update progress tracking to use built-in zwave-js methods
170+ - Added ` eventTypeLabel ` property to ` notification ` node event for Multilevel Switch CC and Entry Control CC
171+ - Added ` dataTypeLabel ` property to ` notification ` node event for Entry Control CC
172+
173+ ## Schema 22
174+
175+ - Added ` node.interview ` command
176+ - Added ` strategy ` parameter to ` controller.begin_exclusion ` command (` ExclusionStrategy ` )
177+ - Added ` apiKey ` parameter to ` controller.get_available_firmware_updates ` command
178+ - Changed controller state: replaced ` isSlave ` , ` isSecondary ` , and ` isStaticUpdateController ` with ` isPrimary ` , ` isSUC ` , and ` nodeType `
179+ - Removed ` status ` property from ` FoundNodeState ` (was always ` NodeStatus.Unknown ` for schema < 22)
180+
181+ ## Schema 23
182+
183+ - Added ` supportedCCs ` and ` controlledCCs ` properties to ` FoundNodeState `
184+ - Added ` initialize ` server command (alternative to ` set_api_schema ` , also accepts ` additionalUserAgentComponents ` parameter)
185+ - Added ` endpoint.supports_cc ` , ` endpoint.controls_cc ` , ` endpoint.is_cc_secure ` , ` endpoint.get_cc_version ` , and ` endpoint.get_node_unsafe ` commands
186+
187+ ## Schema 24
188+
189+ - Added ` node.update_firmware ` command supporting multiple firmware files in a single request
190+ - Added ` controller.firmware_update_ota ` command supporting multiple firmware updates
191+ - Added ` includePrereleases ` parameter to ` controller.get_available_firmware_updates ` command
192+ - Changed ` firmware update progress ` node event payload from ` {sentFragments, totalFragments} ` to ` {progress} ` object
193+ - Changed ` firmware update finished ` node event payload from ` {status, waitTime} ` to ` {result} ` object
194+ - Changed ` node.begin_firmware_update ` return type from empty ` {} ` to ` { success: boolean } `
195+ - Changed ` controller.begin_ota_firmware_update ` return type from empty ` {} ` to ` { success: boolean } `
196+
197+ ## Schema 25
198+
199+ - Added ` driver.soft_reset ` command
200+ - Added ` driver.try_soft_reset ` command
201+ - Added ` driver.hard_reset ` command
202+ - Added ` controller.firmware_update_otw ` command
203+ - Added ` utils.try_parse_dsk_from_qr_code_string ` command
204+ - Added ` rfRegion ` property to ` ControllerState `
205+ - Added controller events: ` firmware update progress ` , ` firmware update finished `
206+
207+ ## Schema 26
208+
209+ - Added ` controller.is_firmware_update_in_progress ` command
210+ - Added ` endpointLabel ` property to ` Endpoint ` state dump
211+
212+ ## Schema 27
213+
214+ - Added ` stateful ` and ` secret ` properties to value metadata
215+ - Added ` node.get_value_timestamp ` command
216+ - Added ` driver.shutdown ` command
217+
218+ ## Schema 28
219+
220+ - Added ` node.manually_idle_notification_value ` command
221+ - Added ` node.set_date_and_time ` command
222+
223+ ## Schema 29
224+
225+ - Changed ` node removed ` controller event: ` replaced ` property changed to ` reason ` property (` RemoveNodeReason ` )
226+ - Changed ` controller.begin_exclusion ` to accept ` ExclusionOptions ` object parameter (in addition to legacy ` unprovision ` parameter for backwards compatibility)
227+ - Removed ` name ` and ` info ` properties from ` ConfigurationMetadataState `
228+ - Changed ` node.set_value ` return type from ` { success: boolean } ` to ` { result: SetValueResult } `
229+ - Changed firmware update command return types from ` { success: boolean } ` to ` { result } ` objects
230+
231+ ## Schema 30
232+
233+ - Added ` lastSeen ` property to ` NodeState `
234+
235+ ## Schema 31
236+
237+ - Added ` node.get_date_and_time ` command
238+ - Added ` node.is_health_check_in_progress ` command
239+ - Added ` node.abort_health_check ` command
240+ - Added ` node.set_default_volume ` command
241+ - Added ` node.set_default_transition_duration ` command
242+ - Added ` node.has_device_config_changed ` command
243+ - Added ` status ` property (` ControllerStatus ` ) to ` ControllerState `
244+ - Added ` defaultVolume ` and ` defaultTransitionDuration ` properties to ` NodeState `
245+ - Added ` lastResult ` property to ` check lifeline health progress ` and ` check route health progress ` node events
246+ - Added controller ` status changed ` event
247+ - Added controller ` identify ` event
248+ - Added ` start_listening_logs ` and ` stop_listening_logs ` as top-level server commands
249+
250+ ## Schema 32
251+
252+ - Replaced ` controller.heal_node ` with ` controller.rebuild_node_routes `
253+ - Replaced ` controller.begin_healing_network ` with ` controller.begin_rebuilding_routes ` (added ` options ` parameter)
254+ - Replaced ` controller.stop_healing_network ` with ` controller.stop_rebuilding_routes `
255+ - Renamed controller events ` heal network progress ` to ` rebuild routes progress ` and ` heal network done ` to ` rebuild routes done `
256+ - Removed ` isHealNetworkActive ` property from ` ControllerState ` , replaced with ` isRebuildingRoutes `
257+ - Changed ` controller.firmware_update_ota ` command: ` updates ` parameter replaced with ` updateInfo `
258+ - Deprecated ` controller.begin_ota_firmware_update ` command
259+ - Changed ` notification ` node event to include ` endpointIndex ` property
260+ - Added ` message ` property to error responses and ` zwaveErrorCodeName ` to Z-Wave error responses
46261
47262## Schema 33
48263
49- - Fixed ` node.set_raw_config_parameter_value ` command to match Z-Wave JS types
264+ - Fixed ` node.set_raw_config_parameter_value ` command to match Z-Wave JS types (added ` bitMask ` and ` valueFormat ` parameters, made ` valueSize ` optional, return type changed from ` {} ` to ` { result?: SupervisionResult } ` )
50265- Added ` endpoint.set_raw_config_parameter_value ` command
51266- Added ` driver.update_options ` command
52267
@@ -59,6 +274,7 @@ Base schema.
59274
60275- Adds Z-Wave Long Range support
61276- Added ` supportsLongRange ` to controller state dump
277+ - Added ` protocol ` property to ` NodeState `
62278
63279## Schema 36
64280
@@ -69,14 +285,16 @@ Base schema.
69285
70286## Schema 37
71287
72- - Added command for ` checkAssocation ` controller method
73- - Updated payload for ` inclusion started ` controller event
288+ - Added command for ` checkAssociation ` controller method
289+ - Updated payload for ` inclusion started ` controller event (sends ` strategy ` instead of ` secure ` boolean)
290+ - Removed ` noBulkSupport ` from ` ConfigurationMetadataState ` dump
74291
75292## Schema 38
76293
77294- Added controller ` inclusion state changed ` event
78- - Added ` config_manager ` commands
295+ - Added ` config_manager ` commands ( ` config_manager.lookup_device ` )
79296- Added ` zniffer ` commands
297+ - Added ` utils ` commands: ` utils.num2hex ` , ` utils.format_id ` , ` utils.buffer2hex ` , ` utils.get_enum_member_name ` , ` utils.rssi_to_string `
80298
81299## Schema 39
82300
@@ -86,7 +304,8 @@ Base schema.
86304## Schema 40
87305
88306- Added ` endpoint.try_get_node ` command
89- - Added ` controller.cancelSecureBootstrapS2 ` command
307+ - Added ` driver ready ` driver event
308+ - Added ` controller.cancel_secure_bootstrap_s2 ` command
90309
91310## Schema 41
92311
@@ -97,6 +316,7 @@ Base schema.
97316## Schema 42
98317
99318- Added ` sdkVersion ` property to ` NodeState `
319+ - Added optional ` migrateOptions ` parameter to ` controller.restore_nvm ` command
100320
101321## Schema 43
102322
@@ -109,6 +329,7 @@ Base schema.
109329## Schema 45
110330
111331- Fixed JSON serialization of ` Map ` objects in responses (affects ` controller.get_known_lifeline_routes ` and other Map-returning commands)
332+ - Added ` node info received ` node event
112333
113334## Schema 46
114335
0 commit comments