Python library to interact with a Z-Wave JS server.
Go to file
Martin Hjelmare b26728a284
Bump version to 0.60.1 (#1174)
2025-02-21 19:41:04 +01:00
.devcontainer Bump python version to 3.12 (#975) 2024-05-15 13:49:34 -04:00
.github Bump actions/setup-python from 5.3.0 to 5.4.0 (#1165) 2025-01-29 13:28:36 +01:00
scripts Update const generation scripts based on zwave-js 13 (#1079) 2024-10-04 07:54:49 +02:00
test Update controller inclusion state in `handle_inclusion_state_changed` (#1173) 2025-02-18 21:35:47 +01:00
zwave_js_server Bump version to 0.60.1 (#1174) 2025-02-21 19:41:04 +01:00
.coveragerc Refactor constants (#281) 2021-08-27 11:20:07 +02:00
.gitignore Update const generation scripts based on zwave-js 13 (#1079) 2024-10-04 07:54:49 +02:00
.pre-commit-config.yaml Bump ruff from 0.5.7 to 0.6.3 (#1047) 2024-09-06 16:21:05 +02:00
LICENSE Initial commit 2021-01-05 10:53:45 -05:00
MANIFEST.in Switch to pyproject.toml (#816) 2023-11-14 09:42:23 -05:00
README.md Revert "Add orjson support (#815)" (#856) 2023-12-27 19:46:11 +01:00
codecov.yml Fix codecov.yml coverage.status.project.threshold (#817) 2023-11-15 12:59:26 +01:00
package.json Update const generation scripts based on zwave-js 13 (#1079) 2024-10-04 07:54:49 +02:00
pyproject.toml Bump pylint from 3.2.7 to 3.3.0 (#1071) 2024-09-29 11:45:55 -04:00
requirements.txt Bump aiohttp from 3.11.11 to 3.11.12 (#1170) 2025-02-10 19:49:57 +01:00
requirements_dev.txt Bump tox from 4.23.2 to 4.24.1 (#1162) 2025-01-27 21:14:14 +01:00
requirements_lint.txt Bump mypy from 1.14.1 to 1.15.0 (#1169) 2025-02-10 19:45:58 +01:00
requirements_scripts.txt Bump colorlog from 6.8.2 to 6.9.0 (#1111) 2024-11-04 16:23:38 +01:00
requirements_test.txt Bump pytest-aiohttp from 1.0.5 to 1.1.0 (#1163) 2025-01-27 15:20:49 +01:00
tox.ini Bump python version to 3.12 (#975) 2024-05-15 13:49:34 -04:00

README.md

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)