hass-core/homeassistant/components/zwave_js
2022-09-08 09:13:01 +02:00
..
docs
translations [ci skip] Translation update 2022-09-07 00:27:56 +00:00
triggers Use TriggerActionType [w-z] () 2022-08-15 20:15:57 +02:00
__init__.py Improve performance impact of zwave_js update entity and other tweaks () 2022-09-06 09:40:20 -04:00
addon.py
api.py Bump zwave-js-server-python to 0.41.0 () 2022-08-27 21:27:41 -04:00
binary_sensor.py
button.py Fix device info for zwave_js device entities () 2022-09-05 12:15:14 +02:00
climate.py Use _attr_precision in entities () 2022-08-29 22:02:29 +02:00
config_flow.py Add zwave_js usb port selection () 2022-08-07 11:06:03 -04:00
config_validation.py
const.py Refactor zwave_js event handling () 2022-09-03 17:19:05 -04:00
cover.py
device_action.py
device_automation_helpers.py
device_condition.py
device_trigger.py Use TriggerActionType [w-z] () 2022-08-15 20:15:57 +02:00
diagnostics.py Add value ID to zwave_js device diagnostics () 2022-09-08 09:13:01 +02:00
discovery.py Use Platform and ValueType enum in zwave_js.discovery () 2022-08-28 00:47:46 +02:00
discovery_data_template.py
entity.py
fan.py
helpers.py Fix device info for zwave_js device entities () 2022-09-05 12:15:14 +02:00
humidifier.py
light.py
lock.py
logbook.py
manifest.json Bump zwave-js-server-python to 0.41.1 () 2022-09-07 07:28:47 +02:00
migrate.py
number.py
README.md
select.py Improve type hints in zwave_js select entity () 2022-08-08 14:55:23 +02:00
sensor.py Fix device info for zwave_js device entities () 2022-09-05 12:15:14 +02:00
services.py
services.yaml
siren.py
strings.json
switch.py
trigger.py Use TriggerActionType [w-z] () 2022-08-15 20:15:57 +02:00
update.py Improve performance impact of zwave_js update entity and other tweaks () 2022-09-06 09:40:20 -04:00

Z-Wave JS Architecture

This document describes the architecture of Z-Wave JS in Home Assistant and how the integration is connected all the way to the Z-Wave USB stick controller.

Architecture

Connection diagram

alt text

Z-Wave USB stick

Communicates with devices via the Z-Wave radio and stores device pairing.

Z-Wave JS

Represents the USB stick serial protocol as devices.

Z-Wave JS Server

Forward the state of Z-Wave JS over a WebSocket connection.

Z-Wave JS Server Python

Consumes the WebSocket connection and makes the Z-Wave JS state available in Python.

Z-Wave JS integration

Represents Z-Wave devices in Home Assistant and allows control.

Home Assistant

Best home automation platform in the world.

Running Z-Wave JS Server

alt text

Z-Wave JS Server can be run as a standalone Node app.

It can also run as part of Z-Wave JS 2 MQTT, which is also a standalone Node app.

Both apps are available as Home Assistant add-ons. There are also Docker containers etc.