hass-core/homeassistant/components/zwave_js
Raman Gupta 8aa64c8008
Add has_firmware_update_cc bool to zwave_js/node_status cmd (#87310)
* Add `has_firmware_update_cc` bool to zwave_js/node_status cmd

* fix test

* Switch order of equality check
2023-02-10 00:49:09 -05:00
..
docs
triggers Bypass zwave_js config validation if driver not ready (#83410) 2022-12-06 12:41:09 -05:00
__init__.py Add has_firmware_update_cc bool to zwave_js/node_status cmd (#87310) 2023-02-10 00:49:09 -05:00
addon.py
api.py Add has_firmware_update_cc bool to zwave_js/node_status cmd (#87310) 2023-02-10 00:49:09 -05:00
binary_sensor.py Move EntityCategory to homeassistant.const (#87792) 2023-02-09 20:15:37 +01:00
button.py Move EntityCategory to homeassistant.const (#87792) 2023-02-09 20:15:37 +01:00
climate.py Collection of code styling tweaks (#87344) 2023-02-03 23:51:27 +01:00
config_flow.py Add abc.ABC to classes with abstract methods (#83546) 2022-12-08 17:50:36 +01:00
config_validation.py
const.py
cover.py
device_action.py Simplify zwave_js code (#87235) 2023-02-05 01:20:17 +01:00
device_automation_helpers.py Bypass zwave_js config validation if driver not ready (#83410) 2022-12-06 12:41:09 -05:00
device_condition.py Simplify zwave_js code (#87235) 2023-02-05 01:20:17 +01:00
device_trigger.py Simplify zwave_js code (#87235) 2023-02-05 01:20:17 +01:00
diagnostics.py Adjust zwave_js diagnostics (#85524) 2023-01-09 14:33:09 +01:00
discovery.py Collection of code styling tweaks (#87344) 2023-02-03 23:51:27 +01:00
discovery_data_template.py Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
entity.py Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
fan.py Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
helpers.py Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
humidifier.py
light.py Collection of code styling tweaks (#87344) 2023-02-03 23:51:27 +01:00
lock.py
logbook.py
manifest.json Sort manifests 11 (#87032) 2023-02-08 20:10:18 +01:00
migrate.py Collection of code styling tweaks (#87344) 2023-02-03 23:51:27 +01:00
number.py Improve zwave_js test coverage (#83372) 2022-12-06 12:18:21 -07:00
README.md
select.py Move EntityCategory to homeassistant.const (#87792) 2023-02-09 20:15:37 +01:00
sensor.py Move EntityCategory to homeassistant.const (#87792) 2023-02-09 20:15:37 +01:00
services.py Collection of code styling tweaks (#87344) 2023-02-03 23:51:27 +01:00
services.yaml
siren.py
strings.json Fix incorrect usage of 'setup' vs 'set up' (#83774) 2022-12-12 11:40:00 +01:00
switch.py Collection of code styling tweaks (#87344) 2023-02-03 23:51:27 +01:00
trigger.py
update.py Move EntityCategory to homeassistant.const (#87792) 2023-02-09 20:15:37 +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.