hass-core/homeassistant/components/zwave_js
2021-08-21 00:09:27 -04:00
..
docs Add zwave_js dev docs readme (#47621) 2021-03-15 15:08:45 +01:00
translations [ci skip] Translation update 2021-08-14 00:11:27 +00:00
triggers Add zwave_js.value_updated automation trigger (#54897) 2021-08-20 15:21:55 -04:00
__init__.py ConfigType and async_setup/setup type hint improvements (#54739) 2021-08-18 13:22:05 +02:00
addon.py Rename snapshot -> backup (#53851) 2021-08-02 11:07:21 +02:00
api.py Bump zwave-js-server-python to 0.29.0 (#54931) 2021-08-20 14:55:58 -04:00
binary_sensor.py Add enabled attribute to zwave_js discovery model (#53645) 2021-07-29 09:30:50 +02:00
climate.py Revert new unit types (#53226) 2021-07-20 14:13:51 +02:00
config_flow.py Add zwave_js options flow to reconfigure server (#51840) 2021-06-24 13:15:42 +02:00
const.py Use entity descriptions for zwave_js sensors (#53744) 2021-08-20 16:25:39 -04:00
cover.py Replace local Barrier CC constants with library enums (#53109) 2021-07-17 02:54:11 -04:00
device_condition.py Remove Configuration CC as choice in zwave_js value device condition (#54962) 2021-08-21 00:09:27 -04:00
device_trigger.py Make additional input for zwave_js device triggers optional (#53134) 2021-07-20 22:08:08 -07:00
discovery.py Use entity descriptions for zwave_js sensors (#53744) 2021-08-20 16:25:39 -04:00
discovery_data_template.py Use entity descriptions for zwave_js sensors (#53744) 2021-08-20 16:25:39 -04:00
entity.py Add enabled attribute to zwave_js discovery model (#53645) 2021-07-29 09:30:50 +02:00
fan.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
helpers.py Add support for area ID in zwave_js service calls (#54940) 2021-08-20 12:55:17 -04:00
light.py Clean up zwave_js RGB code (#54336) 2021-08-09 18:45:12 +02:00
lock.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
manifest.json Bump zwave-js-server-python to 0.29.0 (#54931) 2021-08-20 14:55:58 -04:00
migrate.py Fix zwave_js migration logic (#52070) 2021-06-21 16:45:47 -04:00
number.py Create zwave-js select platform and discover additional siren values (#53018) 2021-08-16 13:36:20 -04:00
README.md Add zwave_js dev docs readme (#47621) 2021-03-15 15:08:45 +01:00
select.py Add zwave_js Protection CC select entities (#54717) 2021-08-17 12:22:27 -04:00
sensor.py Use entity descriptions for zwave_js sensors (#53744) 2021-08-20 16:25:39 -04:00
services.py Add support for area ID in zwave_js service calls (#54940) 2021-08-20 12:55:17 -04:00
services.yaml Add zwave_js.reset_meter service (#53390) 2021-07-28 23:15:27 +02:00
siren.py Use dict for zwave_js siren.available_tones (#54305) 2021-08-09 13:29:17 +02:00
strings.json Block title in strings.json unless internal or allowed (#53304) 2021-07-22 08:37:33 +02:00
switch.py Replace local Barrier CC constants with library enums (#53109) 2021-07-17 02:54:11 -04:00
trigger.py Add zwave_js.value_updated automation trigger (#54897) 2021-08-20 15:21:55 -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.