zwave#

class platypush.backend.zwave.ZwaveBackend(device: str, config_path: str | None = None, user_path: str | None = None, ready_timeout: float = 10.0, *args, **kwargs)[source]#

Bases: Backend

Start and manage a Z-Wave network.

If you are using a USB adapter and want a consistent naming for the device paths, you can use udev.

# Get the vendorID and productID of your device through lsusb.
# Then add a udev rule for it to link it e.g. to /dev/zwave.

cat <<EOF > /etc/udev/rules.d/92-zwave.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="zwave"
EOF

# Restart the udev service
systemctl restart systemd-udevd.service

Note

This backend is deprecated, since the underlying python-openzwave is quite buggy and largely unmaintained.

Use the zwave.mqtt backend instead (platypush.backend.zwave.mqtt.ZwaveMqttBackend).

Triggers:

Requires:

  • python-openzwave (pip install python-openzwave)

__init__(device: str, config_path: str | None = None, user_path: str | None = None, ready_timeout: float = 10.0, *args, **kwargs)[source]#
Parameters:
  • device – Path to the Z-Wave adapter (e.g. /dev/ttyUSB0 or /dev/ttyACM0).

  • config_path – Z-Wave configuration path (default: <OPENZWAVE_PATH>/ozw_config).

  • user_path – Z-Wave user path where runtime and configuration files will be stored (default: <PLATYPUSH_WORKDIR>/zwave).

  • ready_timeout – Network ready timeout in seconds (default: 60).