22e475790f
* Only replace a node if the mfgr id / prod id / prod type differ * Prefer original device name for unready node * move register_node_in_dev_reg into async_setup_entry * simplify get_device_id_ext * Don't need hex ids * Revert "move register_node_in_dev_reg into async_setup_entry" This reverts commit f900e5fb0c67cc81657a1452b51c313bccb6f9e1. * Revert Callable change * Revert device backup name * Add test fixtures * Update existing not ready test with new fixture data * Check device properties after node added event * Add entity check * Check for extended device id * better device info checks * Use receive_event to properly setup components * Cleanup tests * improve test_replace_different_node * improve test_replace_same_node * add test test_node_model_change * Clean up long comments and strings * Format * Reload integration to detect node device config changes * update assertions * Disable entities on "value removed" event * Disable node status sensor on node replacement * Add test for disabling entities on remove value event * Add test for disabling node status sensor on node replacement * disable entity -> remove entity Co-authored-by: Martin Hjelmare <marhje52@gmail.com> |
||
---|---|---|
.. | ||
docs | ||
translations | ||
triggers | ||
README.md | ||
__init__.py | ||
addon.py | ||
api.py | ||
binary_sensor.py | ||
climate.py | ||
config_flow.py | ||
const.py | ||
cover.py | ||
device_action.py | ||
device_automation_helpers.py | ||
device_condition.py | ||
device_trigger.py | ||
discovery.py | ||
discovery_data_template.py | ||
entity.py | ||
fan.py | ||
helpers.py | ||
light.py | ||
lock.py | ||
manifest.json | ||
migrate.py | ||
number.py | ||
select.py | ||
sensor.py | ||
services.py | ||
services.yaml | ||
siren.py | ||
strings.json | ||
switch.py | ||
trigger.py |
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
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
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.