hass-core/homeassistant/components/zwave_js
Raman Gupta 152dbfd2fe
Add button entity to ping zwave_js node ()
* Add button entity to ping zwave_js node

* Fix docstring

* Fix docstrings

* Fix and simplify tests

* Fix name

* Update homeassistant/components/zwave_js/button.py

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

* Update homeassistant/components/zwave_js/services.py

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

* Update homeassistant/components/zwave_js/button.py

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

* Update homeassistant/components/zwave_js/button.py

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

* Update homeassistant/components/zwave_js/button.py

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

* review comments

* Update homeassistant/components/zwave_js/button.py

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

* Update homeassistant/components/zwave_js/button.py

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

* Remove self.client line

* Add callback to remove entity

* Add extra dispatch signal on replacement

* Combine signals for valueless entities

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-14 15:38:22 -05:00
..
docs
translations [ci skip] Translation update 2022-02-12 00:16:37 +00:00
triggers
__init__.py Add button entity to ping zwave_js node () 2022-02-14 15:38:22 -05:00
addon.py Fix ParamSpec Callable return types () 2022-01-09 06:03:18 +01:00
api.py Add is_controller_node flag to WS node status () 2022-02-12 22:08:39 +01:00
binary_sensor.py
button.py Add button entity to ping zwave_js node () 2022-02-14 15:38:22 -05:00
climate.py Enable no_implicit_reexport for core files [mypy] () 2022-01-26 10:55:06 +01:00
config_flow.py
const.py
cover.py
device_action.py Improve zwave_js device automation strings for config parameters () 2022-02-14 15:14:02 -05:00
device_automation_helpers.py Improve zwave_js device automation strings for config parameters () 2022-02-14 15:14:02 -05:00
device_condition.py Improve zwave_js device automation strings for config parameters () 2022-02-14 15:14:02 -05:00
device_trigger.py Improve zwave_js device automation strings for config parameters () 2022-02-14 15:14:02 -05:00
diagnostics.py Add version info to zwave js device diagnostics () 2022-01-20 12:55:47 -08:00
discovery.py
discovery_data_template.py
entity.py Simplify get_unique_id helper function for zwave_js () 2022-02-10 08:46:32 +01:00
fan.py Allow toggles (switches) state to be None () 2022-01-23 11:31:01 +01:00
helpers.py Add button entity to ping zwave_js node () 2022-02-14 15:38:22 -05:00
light.py
lock.py
manifest.json Add loggers to integration manifest.json () 2022-01-28 13:37:53 -08:00
migrate.py Simplify get_unique_id helper function for zwave_js () 2022-02-10 08:46:32 +01:00
number.py
README.md
select.py Update typing (4) [u-z] () 2022-01-11 21:26:45 +01:00
sensor.py Add button entity to ping zwave_js node () 2022-02-14 15:38:22 -05:00
services.py Add button entity to ping zwave_js node () 2022-02-14 15:38:22 -05:00
services.yaml
siren.py
strings.json
switch.py Allow toggles (switches) state to be None () 2022-01-23 11:31:01 +01:00
trigger.py

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.