platypush.backend.zwave

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

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

Triggers:

Requires:

  • python-openzwave (pip install python-openzwave)
__init__(device: str, config_path: Optional[str] = None, user_path: Optional[str] = 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).