hass-core/homeassistant/components/zwave_js
2022-05-23 14:37:44 +02:00
..
docs
translations [ci skip] Translation update 2022-05-21 00:22:49 +00:00
triggers Improve zwave_js custom triggers and services (#67461) 2022-03-05 09:00:31 +01:00
__init__.py Add zwave_js MultilevelSwitch Notification (#70470) 2022-04-27 09:12:23 +02:00
addon.py
api.py Switch zwave_js firmware upload view to use device ID (#72219) 2022-05-20 01:50:13 -04:00
binary_sensor.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
button.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
climate.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
config_flow.py Add zeroconf discovery to zwave_js (#69382) 2022-04-06 18:46:13 +02:00
config_validation.py Improve zwave_js custom triggers and services (#67461) 2022-03-05 09:00:31 +01:00
const.py Add zwave_js MultilevelSwitch Notification (#70470) 2022-04-27 09:12:23 +02:00
cover.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
device_action.py Adjust device_automation type hints in zwave_js (#72143) 2022-05-23 14:37:44 +02:00
device_automation_helpers.py Fix zwave_js device automation bug (#71715) 2022-05-11 22:55:12 -04:00
device_condition.py Fix zwave_js device automation bug (#71715) 2022-05-11 22:55:12 -04:00
device_trigger.py Fix zwave_js device automation bug (#71715) 2022-05-11 22:55:12 -04:00
diagnostics.py Create zwave_js.invoke_cc_api service (#70466) 2022-04-26 11:30:49 -04:00
discovery.py Don't create two zwave_js.lock entities for a single device (#68651) 2022-03-28 11:15:48 +02:00
discovery_data_template.py Disable no-self-use [pylint] (#70641) 2022-04-25 07:41:01 -07:00
entity.py Remove legacy zwave migration logic (#72206) 2022-05-19 18:29:28 -04:00
fan.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
helpers.py Use device ID as input for zwave_js WS device cmds (#71667) 2022-05-19 13:31:24 -04:00
humidifier.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
light.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
lock.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
manifest.json Bump zwave-js-server-python to 0.36.1 (#71096) 2022-04-30 02:59:39 -04:00
migrate.py Remove legacy zwave migration logic (#72206) 2022-05-19 18:29:28 -04:00
number.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
README.md
select.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
sensor.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
services.py Parallelize zwave_js service calls (#71662) 2022-05-12 03:07:58 -04:00
services.yaml Create zwave_js.invoke_cc_api service (#70466) 2022-04-26 11:30:49 -04:00
siren.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
strings.json Add zeroconf discovery to zwave_js (#69382) 2022-04-06 18:46:13 +02:00
switch.py Set PARALLEL_UPDATES to 0 for all zwave_js platforms (#71626) 2022-05-11 20:51:10 -07:00
trigger.py Add zwave_js.event automation trigger (#62828) 2022-02-20 11:53:03 +01: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.