Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 1.43 KB

File metadata and controls

46 lines (32 loc) · 1.43 KB

zwave-js-server-python

Python library for communicating with zwave-js-server. Goal for this library is to replicate the structure and the events of Z-Wave JS 1:1. So it has a Driver, Controller and Node classes.

Setup development environment

To setup your development environment, run scripts/setup, which will install all requirements and set up pre-commit checks.

Trying it out

python3 -m zwave_js_server ws://localhost:3000

Or get the version of the server

python3 -m zwave_js_server ws://localhost:3000 --server-version

Or dump the state. Optionally add --event-timeout 5 if you want to listen 5 seconds extra for events.

python3 -m zwave_js_server ws://localhost:3000 --dump-state

Sending commands

try:
    result = await client.async_send_command({ "command": "start_listening" })
except zwave_js_server.client.FailedCommand as err:
    print("Command failed with", err.error_code)

Access control

Schema 48 adds typed access-control helpers exposed via the AccessControlAPI wrapper:

  • node.access_control: shortcut for the root endpoint API.
  • endpoint.access_control: API for a specific endpoint.
  • Call await endpoint.access_control.is_supported() before using other methods.
  • Credential payloads accept str | bytes; binary credentials are converted to the websocket Buffer transport shape internally.