hass-core/homeassistant/components/zwave_js
Raman Gupta 9b7eb6b5a1
Reduce coverage gaps for zwave_js (#79520)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-03 20:24:11 +02:00
..
docs
translations [ci skip] Translation update 2022-09-30 00:42:29 +00:00
triggers Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-28 21:24:04 -04:00
__init__.py Reduce coverage gaps for zwave_js (#79520) 2022-10-03 20:24:11 +02:00
addon.py Fix zwave_js addon info (#76044) 2022-08-03 22:33:05 +02:00
api.py Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-28 21:24:04 -04:00
binary_sensor.py Switch to new entity naming schema across zwave_js (#77434) 2022-09-12 09:14:59 +02:00
button.py Switch to new entity naming schema across zwave_js (#77434) 2022-09-12 09:14:59 +02:00
climate.py Use unit_conversion in components (#79204) 2022-09-28 16:05:31 +02:00
config_flow.py Fix zwave_js default emulate hardware in options flow (#78024) 2022-09-08 10:59:40 +02:00
config_validation.py
const.py Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-28 21:24:04 -04:00
cover.py
device_action.py Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-28 21:24:04 -04:00
device_automation_helpers.py
device_condition.py Remove callback decorator from coroutine functions (#75626) 2022-07-22 19:09:02 +02:00
device_trigger.py Use TriggerActionType [w-z] (#76814) 2022-08-15 20:15:57 +02:00
diagnostics.py Reduce coverage gaps for zwave_js (#79520) 2022-10-03 20:24:11 +02:00
discovery.py Add zwave_js speed configuration for Leviton ZW4SF fans (#60677) 2022-09-09 22:06:01 +02:00
discovery_data_template.py Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-28 21:24:04 -04:00
entity.py Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-28 21:24:04 -04:00
fan.py
helpers.py Reduce coverage gaps for zwave_js (#79520) 2022-10-03 20:24:11 +02:00
humidifier.py Use platform constants from root (#78032) 2022-09-08 12:24:45 +02:00
light.py
lock.py
logbook.py Use platform constants from root (#78032) 2022-09-08 12:24:45 +02:00
manifest.json Add Leviton brand (#79244) 2022-09-29 12:28:51 +02:00
migrate.py
number.py Switch to new entity naming schema across zwave_js (#77434) 2022-09-12 09:14:59 +02:00
README.md
select.py Switch to new entity naming schema across zwave_js (#77434) 2022-09-12 09:14:59 +02:00
sensor.py Switch to new entity naming schema across zwave_js (#77434) 2022-09-12 09:14:59 +02:00
services.py Improve zwave_js service error (#79504) 2022-10-02 23:24:06 +02:00
services.yaml
siren.py Use platform constants from root (#78032) 2022-09-08 12:24:45 +02:00
strings.json Create repair issue if zwave-js-server is too old (#78670) 2022-09-18 21:25:37 +02:00
switch.py
trigger.py Use TriggerActionType [w-z] (#76814) 2022-08-15 20:15:57 +02:00
update.py Handle multiple files properly in zwave_js update entity (#78658) 2022-09-18 14:56:46 +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.