core/homeassistant/components/zwave_js
Raman Gupta 1f15181522
Add support for Z-Wave JS siren (#52948)
* Add support for Z-Wave JS siren

* Add additional device class to discovery

* fix docstring

* Remove device class specific part of discovery schema

* rename test

* switch to entry.async_on_remove

* Fix logic based on #52971

* Use constants to unblock PR

* Add support to set volume level

* Update homeassistant/components/zwave_js/siren.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-14 10:14:13 -04:00
..
docs
translations [ci skip] Translation update 2021-07-14 00:10:16 +00:00
README.md
__init__.py Make zwave_js value updated event logic more performant (#52997) 2021-07-14 08:56:10 +02:00
addon.py Add zwave_js options flow to reconfigure server (#51840) 2021-06-24 13:15:42 +02:00
api.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
binary_sensor.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
climate.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
config_flow.py Add zwave_js options flow to reconfigure server (#51840) 2021-06-24 13:15:42 +02:00
const.py Add support for Z-Wave JS siren (#52948) 2021-07-14 10:14:13 -04:00
cover.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
device_condition.py Initial support for zwave_js device conditions (#52003) 2021-07-11 21:22:33 -07:00
discovery.py Add support for Z-Wave JS siren (#52948) 2021-07-14 10:14:13 -04:00
discovery_data_template.py
entity.py Mark entities for dead zwave_js nodes as unavailable (#48017) 2021-07-03 22:06:07 -04:00
fan.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
helpers.py Change behavior of Z-Wave JS services (#52941) 2021-07-13 01:02:36 -04:00
light.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +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.27.1 (#52885) 2021-07-11 16:27:46 -04:00
migrate.py Fix zwave_js migration logic (#52070) 2021-06-21 16:45:47 -04:00
number.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
sensor.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
services.py Change behavior of Z-Wave JS services (#52941) 2021-07-13 01:02:36 -04:00
services.yaml Add zwave_js ping node service (#51435) 2021-06-14 16:38:35 -04:00
siren.py Add support for Z-Wave JS siren (#52948) 2021-07-14 10:14:13 -04:00
strings.json Initial support for zwave_js device conditions (#52003) 2021-07-11 21:22:33 -07:00
switch.py Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00

README.md

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.