# zwave-js-server-python
Python library for communicating with [zwave-js-server](https://github.com/zwave-js/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
```shell
python3 -m zwave_js_server ws://localhost:3000
```
Or get the version of the server
```shell
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.
```shell
python3 -m zwave_js_server ws://localhost:3000 --dump-state
```
## Sending commands
```python
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)
```
Raw data
{
"_id": null,
"home_page": null,
"name": "zwave-js-server-python",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "home, automation, zwave, zwave-js",
"author": null,
"author_email": "Home Assistant Team <hello@home-assistant.io>",
"download_url": "https://files.pythonhosted.org/packages/2f/ab/7bf196fb0da14dedf52f918ff10e5cb358a410e5184018b909f0cdddb416/zwave_js_server_python-0.67.0.tar.gz",
"platform": null,
"description": "# zwave-js-server-python\n\nPython library for communicating with [zwave-js-server](https://github.com/zwave-js/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.\n\n## Setup development environment\n\nTo setup your development environment, run `scripts/setup`, which will install all requirements and set up pre-commit checks.\n\n## Trying it out\n\n```shell\npython3 -m zwave_js_server ws://localhost:3000\n```\n\nOr get the version of the server\n\n```shell\npython3 -m zwave_js_server ws://localhost:3000 --server-version\n```\n\nOr dump the state. Optionally add `--event-timeout 5` if you want to listen 5 seconds extra for events.\n\n```shell\npython3 -m zwave_js_server ws://localhost:3000 --dump-state\n```\n\n## Sending commands\n\n```python\ntry:\n result = await client.async_send_command({ \"command\": \"start_listening\" })\nexcept zwave_js_server.client.FailedCommand as err:\n print(\"Command failed with\", err.error_code)\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Python wrapper for zwave-js-server",
"version": "0.67.0",
"project_urls": {
"Bug Reports": "https://github.com/home-assistant-libs/zwave-js-server-python/issues",
"Source Code": "https://github.com/home-assistant-libs/zwave-js-server-python"
},
"split_keywords": [
"home",
" automation",
" zwave",
" zwave-js"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "bf1965621644c5fac563f61dc2fa722eb8d202853cf791e4a765b68b676bbde5",
"md5": "812ca3056d4e8265926d045c8e805c25",
"sha256": "998e8a0ba6495f533b3cfe498d0b41bbd490634a885400e291b67049936c72cb"
},
"downloads": -1,
"filename": "zwave_js_server_python-0.67.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "812ca3056d4e8265926d045c8e805c25",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 105937,
"upload_time": "2025-07-29T08:42:51",
"upload_time_iso_8601": "2025-07-29T08:42:51.695563Z",
"url": "https://files.pythonhosted.org/packages/bf/19/65621644c5fac563f61dc2fa722eb8d202853cf791e4a765b68b676bbde5/zwave_js_server_python-0.67.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2fab7bf196fb0da14dedf52f918ff10e5cb358a410e5184018b909f0cdddb416",
"md5": "c5a24681558cc42bb4bda0b9e76c4231",
"sha256": "b030634b34b1a75ecbf498c98d5a914b9c41048346710bf221a001ec05f5b456"
},
"downloads": -1,
"filename": "zwave_js_server_python-0.67.0.tar.gz",
"has_sig": false,
"md5_digest": "c5a24681558cc42bb4bda0b9e76c4231",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 82478,
"upload_time": "2025-07-29T08:42:53",
"upload_time_iso_8601": "2025-07-29T08:42:53.045274Z",
"url": "https://files.pythonhosted.org/packages/2f/ab/7bf196fb0da14dedf52f918ff10e5cb358a410e5184018b909f0cdddb416/zwave_js_server_python-0.67.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-29 08:42:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "home-assistant-libs",
"github_project": "zwave-js-server-python",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "aiohttp",
"specs": [
[
"==",
"3.12.14"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.11.7"
]
]
}
],
"tox": true,
"lcname": "zwave-js-server-python"
}