hass-core/homeassistant/components/zwave_js
2021-06-06 00:19:43 +00:00
..
docs Add zwave_js dev docs readme (#47621) 2021-03-15 15:08:45 +01:00
translations [ci skip] Translation update 2021-06-06 00:19:43 +00:00
__init__.py Add zwave_js node status sensor (#51181) 2021-05-31 08:46:28 +02:00
addon.py Add zwave_js add-on info dataclass (#50776) 2021-05-21 13:47:37 +02:00
api.py Add WS API commands to check for and install zwave_js config updates (#51106) 2021-05-26 08:39:08 -07:00
binary_sensor.py Switch to using entity class attributes where possible in zwave_js (#51207) 2021-06-01 10:26:22 +02:00
climate.py Add device specific discovery for Heatit Z-TRM3 thermostat (#49804) 2021-04-30 16:10:25 +02:00
config_flow.py Add zwave_js add-on info dataclass (#50776) 2021-05-21 13:47:37 +02:00
const.py Add zwave_js.multicast_set_value service (#51115) 2021-05-27 21:57:35 -04:00
cover.py Switch to using entity class attributes where possible in zwave_js (#51207) 2021-06-01 10:26:22 +02:00
discovery.py Set zwave_js cover device_class for shutters and blinds (#50643) 2021-05-16 08:26:16 +02:00
discovery_data_template.py Fix no value error for heatit climate entities (#51392) 2021-06-02 21:07:47 -07:00
entity.py Switch to using entity class attributes where possible in zwave_js (#51207) 2021-06-01 10:26:22 +02:00
fan.py Define AddEntitiesCallback type (#49812) 2021-04-29 12:28:14 +02:00
helpers.py Add zwave_js.multicast_set_value service (#51115) 2021-05-27 21:57:35 -04:00
light.py Switch to using entity class attributes where possible in zwave_js (#51207) 2021-06-01 10:26:22 +02:00
lock.py Migrate to async_get_current_platform everywhere (#50034) 2021-05-03 09:34:28 -07:00
manifest.json Bump zwave-js-server-python to 0.26.1 (#51425) 2021-06-03 15:11:45 -04:00
migrate.py Migrate existing zwave_js entities if endpoint has changed (#48963) 2021-04-13 16:37:55 +02:00
number.py Switch to using entity class attributes where possible in zwave_js (#51207) 2021-06-01 10:26:22 +02:00
README.md Add zwave_js dev docs readme (#47621) 2021-03-15 15:08:45 +01:00
sensor.py Switch to using entity class attributes where possible in zwave_js (#51207) 2021-06-01 10:26:22 +02:00
services.py Add zwave_js.multicast_set_value service (#51115) 2021-05-27 21:57:35 -04:00
services.yaml Add zwave_js.multicast_set_value service (#51115) 2021-05-27 21:57:35 -04:00
strings.json Add zwave_js add-on manager (#47251) 2021-03-02 14:22:42 -08:00
switch.py Switch to using entity class attributes where possible in zwave_js (#51207) 2021-06-01 10:26:22 +02: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.