zwave.mqtt

class platypush.plugins.zwave.mqtt.ZwaveMqttPlugin(name: str, host: str = 'localhost', port: int = 1883, topic_prefix: str = 'zwave', timeout: int = 10, tls_certfile: Optional[str] = None, tls_keyfile: Optional[str] = None, tls_version: Optional[str] = None, tls_ciphers: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None, **kwargs)[source]

This plugin allows you to manage a Z-Wave network over MQTT through zwavejs2mqtt.

Configuration required on the zwavejs2mqtt gateway:

  • Install the gateway following the instructions reported here.

  • Configure the following settings from the zwavejs2mqtt web panel:

    • Zwave -> Serial Port: The path to your Z-Wave adapter.

    • Disabled MQTT Gateway: Set to false.

    • Configure the MQTT server that should be used by the service.

    • Mqtt -> Name: Unique name that identifies your gateway.

    • Mqtt -> Prefix: Prefix name for the topics published to MQTT.

    • Gateway -> Topic type: Set to “ValueID topics”.

    • Gateway -> Payload type: Set to “JSON Time-Value”.

    • Gateway -> Use nodes name instead of numeric nodeIDs: Set to false.

    • Gateway -> Send Zwave Events: Set to true.

    • Gateway -> Include Node Info: Set to true.

Requires:

  • paho-mqtt (pip install paho-mqtt)

__init__(name: str, host: str = 'localhost', port: int = 1883, topic_prefix: str = 'zwave', timeout: int = 10, tls_certfile: Optional[str] = None, tls_keyfile: Optional[str] = None, tls_version: Optional[str] = None, tls_ciphers: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None, **kwargs)[source]
Parameters
  • name – Gateway name, as configured from the zwavejs2mqtt web panel from Mqtt -> Name.

  • host – MQTT broker host, as configured from the zwavejs2mqtt web panel from Mqtt -> Host (default: localhost).

  • port – MQTT broker listen port, as configured from the zwavejs2mqtt web panel from Mqtt -> Port (default: 1883).

  • topic_prefix – MQTT topic prefix, as specified from the zwavejs2mqtt web panel from Mqtt -> Prefix (default: zwave).

  • timeout – If the command expects from a response, then this timeout value will be used (default: 60 seconds).

  • tls_cafile – If the connection requires TLS/SSL, specify the certificate authority file (default: None)

  • tls_certfile – If the connection requires TLS/SSL, specify the certificate file (default: None)

  • tls_keyfile – If the connection requires TLS/SSL, specify the key file (default: None)

  • tls_version – If the connection requires TLS/SSL, specify the minimum TLS supported version (default: None)

  • tls_ciphers – If the connection requires TLS/SSL, specify the supported ciphers (default: None)

  • username – If the connection requires user authentication, specify the username (default: None)

  • password – If the connection requires user authentication, specify the password (default: None)

activate_scene(scene_id: Optional[int] = None, scene_label: Optional[str] = None, **kwargs)[source]

Activate a scene.

Parameters
  • scene_id – Select by scene_id.

  • scene_label – Select by scene label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

add_node(do_security: bool = False, timeout: int = 60, **kwargs)[source]

Start the inclusion process to add a node to the network.

Parameters
  • do_security – Whether to initialize the Network Key on the device if it supports the Security CC

  • timeout – How long the inclusion process should last, in seconds (default: 60). Specify zero or null for no timeout.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

add_node_to_group(group_id: Optional[str] = None, node_id: Optional[int] = None, endpoint: Optional[int] = None, **kwargs)[source]

Add a node to a group.

Parameters
  • group_id – Group ID.

  • node_id – Node ID to be added.

  • endpoint – Add a specific endpoint of the node to the group (default: add a node association).

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

cancel_command(**kwargs)[source]

Cancel the current running command (not implemented by zwavejs2mqtt).

create_button(button_id: Union[int, str], node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Create a handheld button on a device. Only intended for bridge firmware controllers (not implemented by zwavejs2mqtt).

Parameters
  • button_id – The ID of the button.

  • node_id – Filter by node_id.

  • node_name – Filter by current node name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

create_new_primary(**kwargs)[source]

Create a new primary controller on the network when the previous primary fails (not implemented by zwavejs2mqtt).

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

create_scene(label: str, **kwargs)[source]

Create a new scene.

Parameters
  • label – Scene label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

delete_button(button_id: Union[int, str], node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Delete a button association from a device. Only intended for bridge firmware controllers. (not implemented by zwavejs2mqtt).

Parameters
  • button_id – The ID of the button.

  • node_id – Filter by node_id.

  • node_name – Filter by current node name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_battery_levels(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the battery levels of a node or of all the nodes on the network.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_bulbs(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the bulbs/LEDs on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_capabilities(**kwargs) List[str][source]

Get the capabilities of the controller (not implemented: use platypush.plugin.zwave.mqtt.ZwaveMqttPlugin.get_nodes() instead).

get_dimmers(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the dimmers on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_doorlocks(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the doorlocks on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_groups(**kwargs) Dict[str, dict][source]

Get the groups on the network.

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

Returns

A list of the available groups. Example:

{
  "2-2": {
    "label": "Motion",
    "multichannel": true,
    "max_associations": 10,
    "group_id": "2-2",
    "node_id": 2,
    "index": 2,
    "associations": [
      3,
      4
    ]
  },
  "5-3": {
    "label": "Tamper",
    "multichannel": true,
    "max_associations": 10,
    "group_id": "5-3",
    "node_id": 5,
    "index": 3,
    "associations": [
      2,
      3,
      4
    ]
  }
]

get_locks(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the locks on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_node_config(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the configuration values of a node or of all the nodes on the network.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_node_stats(**kwargs)[source]

Get the statistics of a node on the network (not implemented by zwavejs2mqtt).

get_nodes(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Optional[Dict[str, Any]][source]

Get the nodes associated to the network.

Parameters
  • node_id – Filter by node_id.

  • node_name – Filter by node name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

Returns

List of paired devices. Example output:

{
  "1": {
    "node_id": 1,
    "device_id": "0115-0400-0001",
    "name": "Controller",
    "capabilities": [
      "beaming",
      "routing"
    ],
    "manufacturer_id": "0x0115",
    "manufacturer_name": "Z-Wave.Me",
    "location": "Living Room",
    "status": "Alive",
    "is_available": true,
    "is_awake": true,
    "is_beaming_device": true,
    "is_controller": true,
    "is_failed": false,
    "is_frequent_listening_device": false,
    "is_info_received": true,
    "is_initialized": true,
    "is_listening_device": true,
    "is_ready": true,
    "is_routing_device": true,
    "is_security_device": false,
    "is_sleeping": false,
    "last_update": "2021-04-05T19:38:07.202000",
    "product_id": null,
    "product_type": null,
    "product_name": "UZB Z-Wave USB Stick",
    "baud_rate": 100000,
    "max_baud_rate": null,
    "device_class": {
      "basic": 2,
      "generic": 2,
      "specific": 1
    },
    "specific": 1,
    "firmware_version": null,
    "keep_awake": false,
    "db_link": "https://devices.zwave-js.io/?jumpTo=0x0115:0x0400:0x0001:0.0",
    "zwave_plus_version": null,
    "zwave_plus_node_type": null,
    "zwave_plus_role_type": null,
    "neighbours": [
      3,
      4
    ],
    "groups": {},
    "values": {}
  },
  "4": {
    "node_id": 4,
    "device_id": "010f-0602-1003",
    "name": "TV Switch",
    "capabilities": [
      "beaming",
      "routing",
      "zwave_plus"
    ],
    "manufacturer_id": "0x010f",
    "manufacturer_name": "Fibargroup",
    "location": "Living Room",
    "status": "Alive",
    "is_available": true,
    "is_awake": true,
    "is_beaming_device": true,
    "is_controller": false,
    "is_failed": false,
    "is_frequent_listening_device": false,
    "is_info_received": true,
    "is_initialized": true,
    "is_listening_device": true,
    "is_ready": true,
    "is_routing_device": true,
    "is_security_device": false,
    "is_sleeping": false,
    "last_update": "2021-04-06T00:07:44.081000",
    "product_id": null,
    "product_type": null,
    "product_name": "Metered Wall Plug Switch",
    "baud_rate": 100000,
    "max_baud_rate": null,
    "device_class": {
      "basic": 4,
      "generic": 16,
      "specific": 1
    },
    "specific": 1,
    "firmware_version": "3.2",
    "keep_awake": false,
    "db_link": "https://devices.zwave-js.io/?jumpTo=0x010f:0x0602:0x1003:3.2",
    "zwave_plus_version": 1,
    "zwave_plus_node_type": 0,
    "zwave_plus_role_type": 5,
    "neighbours": [
      1
    ],
    "groups": {
      "1": {
        "label": "Lifeline",
        "index": 1,
        "multichannel": true,
        "max_associations": 1
      },
      "2": {
        "label": "On/Off (Button)",
        "index": 2,
        "multichannel": true,
        "max_associations": 10
      },
      "3": {
        "label": "On/Off (Power)",
        "index": 3,
        "multichannel": true,
        "max_associations": 10
      }
    },
    "values": {
      "4-37-0-currentValue": {
        "id": "4-37-0-currentValue",
        "id_on_network": "4-37-0-currentValue",
        "value_id": "4-37-0-currentValue",
        "data": true,
        "data_items": null,
        "label": "Current value",
        "property_id": "currentValue",
        "help": null,
        "node_id": 4,
        "parent_id": 4,
        "type": "Bool",
        "default": null,
        "endpoint": 0,
        "stateless": false,
        "command_class": 37,
        "command_class_name": "Binary Switch",
        "units": null,
        "min": null,
        "max": null,
        "is_read_only": true,
        "is_write_only": false,
        "last_update": "2021-04-05T19:38:07.587000"
      }
    }
  }
}

get_power_levels(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the power levels of this node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_protections(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the protection-compatible devices on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_scene_values(scene_id: Optional[int] = None, scene_label: Optional[str] = None, **kwargs) dict[source]

Get the values associated to a scene.

Parameters
  • scene_id – Select by scene_id.

  • scene_label – Select by scene label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_scenes(**kwargs) Dict[int, Dict[str, Any]][source]

Get the scenes configured on the network.

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

Returns

dict with the following format:

{
  1: {
    "scene_id": 1,
    "label": "Scene 1",
    "values": {
      "4-37-0-targetValue": {
         "node_id": 4,
         "value_id": "4-37-0-targetValue"
         "data": true
      },
      "3-112-0-Temperature": {
        "node_id": 3,
        "value_id": "3-112-0-Temperature",
        "data": true
      }
    }
  }
}

get_sensors(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the sensors on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_switches(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the switches on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_thermostats(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the thermostats on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_usercodes(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get the usercodes on the network or associated to a node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

get_value(value_id: Optional[int] = None, id_on_network: Optional[str] = None, value_label: Optional[str] = None, node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs) Dict[str, Any][source]

Get a value on the network.

Parameters
  • value_id – Select by value_id.

  • id_on_network – Select value by id_on_network.

  • value_label – Select value by [node_id/node_name, value_label]

  • node_id – Select value by [node_id/node_name, value_label]

  • node_name – Select value by [node_id/node_name, value_label]

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

hard_reset(**kwargs)[source]

Perform a hard reset of the controller. It erases its network configuration settings. The controller becomes a primary controller ready to add devices to a new network.

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

heal(timeout: Optional[int] = 60, **kwargs)[source]

Heal network by requesting nodes rediscover their neighbours.

Parameters
  • timeout – Duration of the healing process in seconds (default: 60). Set to zero or null for no timeout.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

kill_command(**kwargs)[source]

Immediately terminate any running command on the controller and release the lock (not implemented by zwavejs2mqtt).

node_add_value(**kwargs)[source]

Add a value to a node (not implemented by zwavejs2mqtt).

node_heal(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Heal network node by requesting the node to rediscover their neighbours.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

node_network_update(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Update the controller with network information (same as platypush.plugins.zwave.mqtt.ZwaveMqttPlugin.node_heal()).

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

node_refresh_info(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Fetch up-to-date information about the node.

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

node_remove_value(**kwargs)[source]

Remove a value from a node (not implemented by zwavejs2mqtt).

node_update_neighbours(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Ask a node to update its neighbours table (same as platypush.plugins.zwave.mqtt.ZwaveMqttPlugin.node_heal()).

Parameters
  • node_id – Select node by node_id.

  • node_name – Select node by label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

off(device: str, *args, **kwargs)[source]

Turn off a switch on a device.

Parameters
  • deviceid_on_network of the value to be switched off.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

on(device: str, *args, **kwargs)[source]

Turn on a switch on a device.

Parameters
  • deviceid_on_network of the value to be switched on.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

receive_configuration(**kwargs)[source]

Receive the configuration from the primary controller on the network. Requires a primary controller active (not implemented by zwavejs2mqtt).

remove_failed_node(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Remove a failed node from the network.

Parameters
  • node_id – Filter by node_id.

  • node_name – Filter by node name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

remove_node(**kwargs)[source]

Remove a node from the network (not implemented on zwavejs2mqtt).

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

remove_node_from_group(group_id: Optional[str] = None, node_id: Optional[int] = None, endpoint: Optional[int] = None, **kwargs)[source]

Remove a node from a group.

Parameters
  • group_id – Group ID.

  • node_id – Node ID to be added.

  • endpoint – Node endpoint to remove (default: remove node association).

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

remove_scene(scene_id: Optional[int] = None, scene_label: Optional[str] = None, **kwargs)[source]

Remove a scene.

Parameters
  • scene_id – Select by scene_id.

  • scene_label – Select by scene label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

replace_failed_node(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Replace a failed node on the network.

Parameters
  • node_id – Filter by node_id.

  • node_name – Filter by node name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

replication_send(**kwargs)[source]

Send node information from the primary to the secondary controller (not implemented by zwavejs2mqtt).

request_network_update(node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Request a network update to a node.

Parameters
  • node_id – Filter by node_id.

  • node_name – Filter by node name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

request_node_neighbour_update(**kwargs)[source]

Request a neighbours list update.

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

scene_add_value(data: Optional[Any] = None, value_id: Optional[int] = None, id_on_network: Optional[str] = None, value_label: Optional[str] = None, scene_id: Optional[int] = None, scene_label: Optional[str] = None, node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Add a value to a scene.

Parameters
  • data – Data to set for the value (default: current value data).

  • value_id – Select value by value_id.

  • id_on_network – Select value by id_on_network.

  • value_label – Select value by [node_id/node_name, value_label]

  • node_id – Select value by [node_id/node_name, value_label]

  • node_name – Select value by [node_id/node_name, value_label]

  • scene_id – Select scene by scene_id.

  • scene_label – Select scene by scene label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

scene_remove_value(value_id: Optional[int] = None, id_on_network: Optional[str] = None, value_label: Optional[str] = None, scene_id: Optional[int] = None, scene_label: Optional[str] = None, node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Remove a value from a scene.

Parameters
  • value_id – Select value by value_id.

  • id_on_network – Select value by id_on_network.

  • value_label – Select value by [node_id/node_name, value_label]

  • node_id – Select value by [node_id/node_name, value_label]

  • node_name – Select value by [node_id/node_name, value_label]

  • scene_id – Select scene by scene_id.

  • scene_label – Select scene by scene label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

set_controller_name(**kwargs)[source]

Set the name of the controller on the network (not implemented: use platypush.plugin.zwave.mqtt.ZwaveMqttPlugin.set_node_name() instead).

set_node_location(location: str, node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Set the location of a node.

Parameters
  • location – Node location.

  • node_id – Filter by node_id.

  • node_name – Filter by current node name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

set_node_manufacturer_name(**kwargs)[source]

Set the manufacturer name of a node (not implemented by zwavejs2mqtt).

set_node_name(new_name: str, node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Rename a node on the network.

Parameters
  • new_name – New name for the node.

  • node_id – Filter by node_id.

  • node_name – Filter by current node name.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

set_node_product_name(**kwargs)[source]

Set the product name of a node (not implemented by zwavejs2mqtt).

set_scene_label(new_label: str, scene_id: Optional[int] = None, scene_label: Optional[str] = None, **kwargs)[source]

Rename a scene/set the scene label.

Parameters
  • new_label – New label.

  • scene_id – Select by scene_id.

  • scene_label – Select by current scene label.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

set_value(data, value_id: Optional[int] = None, id_on_network: Optional[str] = None, value_label: Optional[str] = None, node_id: Optional[int] = None, node_name: Optional[str] = None, **kwargs)[source]

Set a value.

Parameters
  • data – Data to set for the value.

  • value_id – Select value by value_id.

  • id_on_network – Select value by id_on_network.

  • value_label – Select value by [node_id/node_name, value_label]

  • node_id – Select value by [node_id/node_name, value_label]

  • node_name – Select value by [node_id/node_name, value_label]

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

set_value_label(**kwargs)[source]

Change the label/name of a value (not implemented by zwavejs2mqtt).

soft_reset(**kwargs)[source]

Perform a soft reset of the controller. Resets a controller without erasing its network configuration settings (not implemented by zwavejs2).

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

start_network(**kwargs)[source]

Start the network (not implemented by zwavejs2mqtt).

status(**kwargs) Dict[str, Any][source]

Get the status of the controller.

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

Returns

dict with the following fields: device and state.

stop_network(**kwargs)[source]

Stop the network (not implemented by zwavejs2mqtt).

switch_all(**kwargs)[source]

Switch all the connected devices on/off (not implemented).

property switches: List[dict]
Returns

[
  {
    "id": "Device unique ID",
    "name": "Device name",
    "on": "True if the device is on, False otherwise"
  }
]

test(count: int = 1, **kwargs)[source]

Send a number of test messages to every node and record results (not implemented by zwavejs2mqtt).

toggle(device: str, *args, **kwargs) dict[source]

Toggle a switch on a device.

Parameters
  • deviceid_on_network of the value to be toggled.

  • kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).

transfer_primary_role(**kwargs)[source]

Add a new controller to the network and make it the primary. The existing primary will become a secondary controller (not implemented by zwavejs2mqtt).

write_config(**kwargs)[source]

Store the current configuration of the network to the user directory (not implemented by zwavejs2mqtt).

Parameters

kwargs – Extra arguments to be passed to platypush.plugins.mqtt.MqttPlugin.publish`() (default: query the default configured device).