### Start Zniffer (TypeScript) Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Starts the initialized Zniffer instance. This command must be preceded by the `zniffer.init` command. Requires schema version 38+. ```TypeScript interface { messageId: string; command: "zniffer.start"; } ``` -------------------------------- ### Driver: Install Config Update Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Installs available configuration updates for the Z-Wave driver. Requires schema version 5+. ```APIDOC ## POST /driver/install_config_update ### Description Installs available configuration updates for the Z-Wave driver. This command requires schema version 5 or higher. ### Method POST ### Endpoint `/driver/install_config_update` ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - Must be "driver.install_config_update". ### Request Example ```json { "messageId": "123e4567-e89b-12d3-a456-426614174000", "command": "driver.install_config_update" } ``` ### Response #### Success Response (200) (No specific success response body is defined for this command, indicating success by absence of an error.) ``` -------------------------------- ### Start Z-Wave JS Server CLI Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Command to start the Z-Wave JS server from the command line. It requires the serial port path as an argument and supports configuration files, custom ports, hosts, and mock driver options. DNS-SD is enabled by default. ```shell tsx src/bin/server.ts /dev/tty0 ``` -------------------------------- ### Start Z-Wave JS Client CLI Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Command to start the Z-Wave JS client. It connects to a running Z-Wave JS server and supports specifying the server URL, dumping output, filtering by node ID, and setting the schema version. ```shell tsx src/bin/client.ts ``` ```shell tsx src/bin/client.ts ws://192.168.1.100:6000 ``` ```shell tsx src/bin/client.ts --dump ``` ```shell tsx src/bin/client.ts --node 52 ``` ```shell tsx src/bin/client.ts --schemaVersion 0 ``` -------------------------------- ### Z-Wave JS Client Start Listening Logs Command Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Command to start receiving logging events from the Z-Wave JS server. Compatible with schema version 31+. Allows filtering logs based on various log context types. ```typescript interface { messageId: string; command: "start_listening_logs"; filter?: Partial; } ``` -------------------------------- ### Install Config Update (TypeScript) Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Installs a pending configuration update for the Z-Wave JS driver. Compatible with schema version 5+. ```TypeScript interface { messageId: string; command: "driver.install_config_update"; } ``` -------------------------------- ### Z-Wave JS Server Start Listening Result Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Interface defining the successful result of the 'start_listening' command from the Z-Wave JS server. It includes the current state of the controller and nodes. ```typescript interface { type: "result"; messageId: string; // maps the `start_listening` command success: true, result: { state: { controller: Partial; nodes: Partial[]; } }; } ``` -------------------------------- ### Schema 37 - Association Check and Inclusion Started Event Source: https://github.com/zwave-js/zwave-js-server/blob/master/API_SCHEMA.md Adds a command for checking associations and updates the payload for the `inclusion started` controller event. ```APIDOC ## Schema 37 ### Description This schema version introduces an association check command and updates the `inclusion started` event payload. ### Changes - Added command for `checkAssocation` controller method. - Updated payload for `inclusion started` controller event. ``` -------------------------------- ### Zniffer Commands Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md API endpoints for interacting with the Zniffer functionality, allowing applications to initialize, start, stop, and retrieve captured Z-Wave frames. ```APIDOC ## POST /zniffer/init ### Description Initializes the Zniffer. Security keys and log configuration will match the driver's settings. Other zniffer options can be configured. ### Method POST ### Endpoint /zniffer/init ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.init`. - **devicePath** (string) - Required - The path to the Zniffer device. - **options** (Omit) - Required - Zniffer configuration options, excluding log and security key settings. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.init", "devicePath": "/dev/ttyACM0", "options": { "channel": 15 } } ``` ### Response #### Success Response (200) - **result** (boolean) - Indicates successful initialization. #### Response Example ```json { "messageId": "some-message-id", "result": true } ``` ## POST /zniffer/start ### Description Starts the Zniffer. The Zniffer must be initialized first. ### Method POST ### Endpoint /zniffer/start ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.start`. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.start" } ``` ### Response #### Success Response (200) - **result** (boolean) - Indicates successful start. #### Response Example ```json { "messageId": "some-message-id", "result": true } ``` ## POST /zniffer/stop ### Description Stops the Zniffer instance. ### Method POST ### Endpoint /zniffer/stop ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.stop`. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.stop" } ``` ### Response #### Success Response (200) - **result** (boolean) - Indicates successful stop. #### Response Example ```json { "messageId": "some-message-id", "result": true } ``` ## POST /zniffer/destroy ### Description Destroys the Zniffer instance. ### Method POST ### Endpoint /zniffer/destroy ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.destroy`. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.destroy" } ``` ### Response #### Success Response (200) - **result** (boolean) - Indicates successful destruction. #### Response Example ```json { "messageId": "some-message-id", "result": true } ``` ## POST /zniffer/captured_frames ### Description Retrieves a list of captured frames from the Zniffer. ### Method POST ### Endpoint /zniffer/captured_frames ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.captured_frames`. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.captured_frames" } ``` ### Response #### Success Response (200) - **frames** (Array) - An array of captured Z-Wave frames. #### Response Example ```json { "messageId": "some-message-id", "result": [ { "direction": "inbound", "data": "010400020000", "timestamp": 1678886400000 } ] } ``` ## POST /zniffer/clear_captured_frames ### Description Clears all captured frames from the Zniffer. ### Method POST ### Endpoint /zniffer/clear_captured_frames ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.clear_captured_frames`. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.clear_captured_frames" } ``` ### Response #### Success Response (200) - **result** (boolean) - Indicates successful clearing of frames. #### Response Example ```json { "messageId": "some-message-id", "result": true } ``` ## POST /zniffer/get_capture_as_zlf_buffer ### Description Returns captured frames in the ZLF file format as a JSON stringified Buffer. ### Method POST ### Endpoint /zniffer/get_capture_as_zlf_buffer ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.get_capture_as_zlf_buffer`. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.get_capture_as_zlf_buffer" } ``` ### Response #### Success Response (200) - **zlfBuffer** (string) - A JSON string representing the ZLF Buffer of captured frames. #### Response Example ```json { "messageId": "some-message-id", "result": "{\"header\": {\"version\": \"1.0\"}, \"frames\": []}" } ``` ## POST /zniffer/supported_frequencies ### Description Gets a list of supported frequencies and their names for the Zniffer. ### Method POST ### Endpoint /zniffer/supported_frequencies ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.supported_frequencies`. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.supported_frequencies" } ``` ### Response #### Success Response (200) - **frequencies** (Array<{ id: number, name: string }>) - An array of supported frequencies. #### Response Example ```json { "messageId": "some-message-id", "result": [ { "id": 915000000, "name": "US" } ] } ``` ## POST /zniffer/current_frequency ### Description Gets the current frequency of the Zniffer. ### Method POST ### Endpoint /zniffer/current_frequency ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, `zniffer.current_frequency`. ### Request Example ```json { "messageId": "some-message-id", "command": "zniffer.current_frequency" } ``` ### Response #### Success Response (200) - **frequency** (number) - The current frequency of the Zniffer. #### Response Example ```json { "messageId": "some-message-id", "result": 915000000 } ``` ``` -------------------------------- ### Z-Wave JS Client Start Listening Command Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Interface for the 'start_listening' command sent by the client to the Z-Wave JS server. This command prompts the server to send the current state and begin sending events about state changes. ```typescript interface { messageId: string; command: "start_listening"; } ``` -------------------------------- ### Driver: Get Logging Configuration Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Retrieves the current logging configuration of the Z-Wave driver. ```APIDOC ## POST /driver/get_log_config ### Description Retrieves the current logging configuration of the Z-Wave driver. ### Method POST ### Endpoint `/driver/get_log_config` ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - Must be "driver.get_log_config". ### Request Example ```json { "messageId": "123e4567-e89b-12d3-a456-426614174000", "command": "driver.get_log_config" } ``` ### Response #### Success Response (200) - **config** (object) - The current logging configuration. - **enabled** (boolean) - Whether logging is enabled. - **level** (string | number) - The logging level (string for schema versions >= 3, number for <= 2). - **logToFile** (boolean) - Whether logging to a file is enabled. - **filename** (string) - The name of the log file. - **forceConsole** (boolean) - Whether logging to the console is forced. #### Response Example ```json { "config": { "enabled": true, "level": "info", "logToFile": false, "filename": "", "forceConsole": false } } ``` ``` -------------------------------- ### Schema 39 - Manual Idle Notification Overloads and Get Raw Config Parameter Commands Source: https://github.com/zwave-js/zwave-js-server/blob/master/API_SCHEMA.md Adds support for both overloads of `node.manuallyIdleNotificationValue` and introduces commands to get raw configuration parameter values for nodes and endpoints. ```APIDOC ## Schema 39 ### Description This schema version enhances notification handling and adds commands for retrieving raw configuration parameter values. ### Changes - Added support for both overloads of `node.manuallyIdleNotificationValue`. - Added `node.get_raw_config_parameter_value` and `endpoint.get_raw_config_parameter_value` commands. ``` -------------------------------- ### Virtual Node Endpoint Commands Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Commands related to managing virtual node endpoints, including checking command class support, getting command class versions, and invoking command class APIs. ```APIDOC ## POST /virtual-node/supports_cc ### Description Checks if a given Command Class is supported by a virtual node endpoint. ### Method POST ### Endpoint /virtual-node/supports_cc ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, expected to be `supports_cc`. - **index** (number) - Required - The index of the virtual node endpoint. - **commandClass** (CommandClasses) - Required - The Command Class to check for support. ### Request Example ```json { "messageId": "some-message-id", "command": ".supports_cc", "index": 0, "commandClass": "CommandClasses.Basic" } ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the command class is supported. #### Response Example ```json { "messageId": "some-message-id", "result": true } ``` ## POST /virtual-node/get_cc_version ### Description Retrieves the version of a specific Command Class on a virtual node endpoint. ### Method POST ### Endpoint /virtual-node/get_cc_version ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, expected to be `get_cc_version`. - **index** (number) - Required - The index of the virtual node endpoint. - **commandClass** (CommandClasses) - Required - The Command Class to get the version for. ### Request Example ```json { "messageId": "some-message-id", "command": ".get_cc_version", "index": 0, "commandClass": "CommandClasses.Basic" } ``` ### Response #### Success Response (200) - **version** (number) - The version of the Command Class. #### Response Example ```json { "messageId": "some-message-id", "result": 1 } ``` ## POST /virtual-node/invoke_cc_api ### Description Invokes a method specific to a Command Class on a virtual node endpoint. ### Method POST ### Endpoint /virtual-node/invoke_cc_api ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, expected to be `invoke_cc_api`. - **index** (number) - Optional - The index of the virtual node endpoint. - **commandClass** (CommandClasses) - Required - The Command Class to invoke the API on. - **methodName** (string) - Required - The name of the method to invoke. - **args** (unknown[]) - Required - An array of arguments for the method. ### Request Example ```json { "messageId": "some-message-id", "command": ".invoke_cc_api", "index": 0, "commandClass": "CommandClasses.Basic", "methodName": "set", "args": [10] } ``` ### Response #### Success Response (200) - **result** (unknown) - The result of the invoked API call. #### Response Example ```json { "messageId": "some-message-id", "result": null } ``` ## POST /virtual-node/supports_cc_api ### Description Checks if a Command Class API is supported for invocation on a virtual node endpoint. ### Method POST ### Endpoint /virtual-node/supports_cc_api ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, expected to be `supports_cc_api`. - **index** (number) - Optional - The index of the virtual node endpoint. - **commandClass** (CommandClasses) - Required - The Command Class to check. ### Request Example ```json { "messageId": "some-message-id", "command": ".supports_cc_api", "index": 0, "commandClass": "CommandClasses.Basic" } ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the Command Class API is supported. #### Response Example ```json { "messageId": "some-message-id", "result": true } ``` ## POST /virtual-node/get_defined_value_ids ### Description Retrieves a list of defined value IDs for a virtual node. ### Method POST ### Endpoint /virtual-node/get_defined_value_ids ### Parameters #### Request Body - **messageId** (string) - Required - Unique identifier for the message. - **command** (string) - Required - The command name, expected to be `get_defined_value_ids`. ### Request Example ```json { "messageId": "some-message-id", "command": ".get_defined_value_ids" } ``` ### Response #### Success Response (200) - **valueIds** (Array) - An array of defined ValueID objects. #### Response Example ```json { "messageId": "some-message-id", "result": [ { "nodeId": 1, "commandClass": 37, "endpoint": 0, "property": 0, "propertyName": "level" } ] } ``` ``` -------------------------------- ### Z-Wave JS Server: Config Manager Commands Source: https://github.com/zwave-js/zwave-js-server/blob/master/API_SCHEMA.md Provides commands related to the configuration manager, allowing interaction with Z-Wave device configurations and parameters. This is key for device setup and maintenance. ```json { "command": "config_manager.get_all_configs" } ``` -------------------------------- ### Z-Wave JS Server: Raw Config Parameter Commands Source: https://github.com/zwave-js/zwave-js-server/blob/master/API_SCHEMA.md Provides commands for getting and setting raw configuration parameter values for nodes and endpoints. These commands are crucial for advanced configuration management. ```json { "command": "node.set_raw_config_parameter_value", "nodeId": 1, "parameter": 1, "value": "Ag==" } { "command": "endpoint.set_raw_config_parameter_value", "nodeId": 1, "endpointId": 0, "parameter": 1, "value": "Ag==" } { "command": "node.get_raw_config_parameter_value", "nodeId": 1, "parameter": 1 } { "command": "endpoint.get_raw_config_parameter_value", "nodeId": 1, "endpointId": 0, "parameter": 1 } ``` -------------------------------- ### Multicast Group Set Value Command (TypeScript) Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Example command structure for setting a value across a multicast group, including the nodeIDs parameter. ```typescript interface { messageId: string; command: "multicast_group.set_value"; nodeIDs: number[]; valueId: { commandClass: CommandClasses; endpoint?: number; property: string | number; propertyKey?: string | number; }; value: any; options?: SetValueAPIOptions; } ``` -------------------------------- ### Schema 40 - Try Get Node Command and Cancel Secure Bootstrap S2 Source: https://github.com/zwave-js/zwave-js-server/blob/master/API_SCHEMA.md Introduces the `endpoint.try_get_node` command for safely retrieving node information and the `controller.cancelSecureBootstrapS2` command. ```APIDOC ## Schema 40 ### Description This schema version adds a utility command to safely get a node from an endpoint and a command to cancel S2 secure bootstrapping. ### Changes - Added `endpoint.try_get_node` command. - Added `controller.cancelSecureBootstrapS2` command. ``` -------------------------------- ### Z-Wave JS Client Get Driver Config Command Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Command to retrieve the configuration details of the Z-Wave JS driver. Compatible with schema version 4+. The response includes log configuration and statistics enablement. ```typescript interface { messageId: string; command: "driver.get_config"; } ``` -------------------------------- ### Get Supported Zniffer Frequencies (TypeScript) Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Retrieves a list of frequencies that the Zniffer hardware supports, along with their corresponding names. Requires schema version 38+. ```TypeScript interface { messageId: string; command: "zniffer.supported_frequencies"; } ``` -------------------------------- ### Get Node Firmware Update Capabilities Command Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Retrieves the firmware update capabilities of a Z-Wave node. Compatible with schema version 0 and later. Requires the node ID. ```typescript interface { messageId: string; command: "node.get_firmware_update_capabilities"; nodeId: number; } ``` -------------------------------- ### Get Node from Endpoint (Safe) Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Safely attempts to get the node object associated with an endpoint. Requires schema version 40+. ```APIDOC ## POST /endpoint/try_get_node ### Description Safely attempts to retrieve the node object associated with a specific endpoint. Requires schema version 40+. ### Method POST ### Endpoint `/` (Assumed websocket endpoint) ### Parameters #### Request Body - **messageId** (string) - Unique identifier for the message. - **command** (string) - Must be "endpoint.try_get_node". - **nodeId** (number) - The ID of the Z-Wave node. - **endpoint** (number) - Optional. The endpoint number on the node. Defaults to 0. ### Request Example ```json { "messageId": "some-message-id", "command": "endpoint.try_get_node", "nodeId": 1, "endpoint": 1 } ``` ### Response #### Success Response (200) - **node** (object) - The node object if found, otherwise null. #### Response Example ```json { "messageId": "some-message-id", "result": { "node": { ... } }, "data": {} } ``` ``` -------------------------------- ### Get Raw Configuration Parameter Value (Endpoint) Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Get the raw value of a configuration parameter for a specific endpoint. Requires schema version 39+. ```APIDOC ## POST /endpoint/get_raw_config_parameter_value ### Description Retrieves the raw value of a configuration parameter for a specific endpoint. Requires schema version 39+. ### Method POST ### Endpoint `/` (Assumed websocket endpoint) ### Parameters #### Request Body - **messageId** (string) - Unique identifier for the message. - **command** (string) - Must be "endpoint.get_raw_config_parameter_value". - **nodeId** (number) - The ID of the Z-Wave node. - **endpoint** (number) - The endpoint number on the node. - **parameter** (number) - The parameter number. - **bitMask** (number) - Optional. A bitmask to apply to the parameter. ### Request Example ```json { "messageId": "some-message-id", "command": "endpoint.get_raw_config_parameter_value", "nodeId": 1, "endpoint": 1, "parameter": 5 } ``` ### Response #### Success Response (200) - **value** (any) - The raw value of the configuration parameter. #### Response Example ```json { "messageId": "some-message-id", "result": 10, "data": {} } ``` ``` -------------------------------- ### Get Raw Configuration Parameter Value (Node) Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Get the raw value of a configuration parameter for a specific node. Requires schema version 39+. ```APIDOC ## POST /node/get_raw_config_parameter_value ### Description Retrieves the raw value of a configuration parameter for a specific node. Requires schema version 39+. ### Method POST ### Endpoint `/` (Assumed websocket endpoint) ### Parameters #### Request Body - **messageId** (string) - Unique identifier for the message. - **command** (string) - Must be "node.get_raw_config_parameter_value". - **nodeId** (number) - The ID of the Z-Wave node. - **parameter** (number) - The parameter number. - **bitMask** (number) - Optional. A bitmask to apply to the parameter. ### Request Example ```json { "messageId": "some-message-id", "command": "node.get_raw_config_parameter_value", "nodeId": 1, "parameter": 5 } ``` ### Response #### Success Response (200) - **value** (any) - The raw value of the configuration parameter. #### Response Example ```json { "messageId": "some-message-id", "result": 10, "data": {} } ``` ``` -------------------------------- ### Z-Wave JS Server Events Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Handles various events emitted by the Z-Wave JS Server, including driver, node, and controller events. Clients must send the `start_listening` command to receive these events. ```APIDOC ## Events ### `zwave-js` Events All `zwave-js` events are forwarded to clients that have sent the `start_listening` command. ```json { "type": "event", "event": { "source": "driver" | "controller" | "node" | "zniffer", "event": string, // Additional parameters dependent on the event } } ``` ### `zwave-js-server` Node Events #### `test powerlevel progress` Sent after a `node.test_powerlevel` command, containing test results. ```json { "type": "event", "event": { "source": "node", "event": "test powerlevel progress", "nodeId": number, "acknowledged": number, "total": number } } ``` #### `check lifeline health progress` Sent after a `node.check_lifeline_health` command, containing test results. ```json { "type": "event", "event": { "source": "node", "event": "check lifeline health progress", "nodeId": number, "round": number, "totalRounds": number, "lastRating": number } } ``` #### `check route health progress` Sent after a `node.check_route_health` command, containing test results. ```json { "type": "event", "event": { "source": "node", "event": "check route health progress", "nodeId": number, "rounds": number, "totalRounds": number, "lastRating": number } } ``` ### `zwave-js-server` Driver Events #### `driver ready` Sent when the driver is ready. ```json { "type": "event", "event": { "source": "driver", "event": "driver ready" } } ``` #### `log config updated` Sent when the log configuration is updated via `driver.update_log_config`. ```json { "type": "event", "event": { "source": "driver", "event": "log config updated", "config": { /* Partial */ } } } ``` #### `logging` Sent when `zwave-js` logs a statement. Requires `driver.start_listening_logs` command. ```json { "type": "event", "event": { "source": "driver", "event": "logging", "formattedMessage": string, "direction": string, "primaryTags": string, // Optional "secondaryTags": string, // Optional "secondaryTagPadding": number, // Optional "multiline": boolean, // Optional "timestamp": string, // Optional "label": string, // Optional "message": string | string[] } } ``` ### `zwave-js-server` Controller Events #### `grant security classes` Part of the node inclusion process; prompts the user to choose security classes. ```json { "type": "event", "event": { "source": "controller", "event": "grant security classes", "requested": { /* InclusionGrant */ } } } ``` #### `validate dsk and enter pin` Part of the node inclusion process; prompts the user to validate the DSK and enter the PIN. ```json { "type": "event", "event": { "source": "controller", "event": "validate dsk and enter pin", "dsk": string } } ``` #### `inclusion aborted` Part of the node inclusion process; indicates the controller aborted the security bootstrapping process. ```json { "type": "event", "event": { "source": "controller", "event": "inclusion aborted" } } ``` ``` -------------------------------- ### Initialize Zniffer (TypeScript) Source: https://github.com/zwave-js/zwave-js-server/blob/master/README.md Initializes the Zniffer instance with specified device path and options. Security keys and log configuration are inherited from the driver. Requires schema version 38+. ```TypeScript interface { messageId: string; command: "zniffer.init"; devicePath: "/path/to/device"; options: Omit } ```