Introduction
Currently, there are 3 different ways to integrate a ZWave network . This is a broad overview of each method.
- Zwave JS Addon & Zwave JS Integration (Websockets)
- ZWave JS UI & Zwave JS Integration (Websockets)
- ZWave JS UI & MQTT Integration (MQTT)
Note: The legacy Zwave 1.4 and OpenZwave (Beta) integrations no longer exist and are not covered in this overview.
Glossary
- Addon - Click on the link for a description.
- Integration - Click on the link for a description.
- Zwave JS Driver - A device driver that interfaces directly with your Zwave USB Stick.
- Zwave JS Server - A server that bridges the information from the Zwave JS Driver to a Websocket connection.
- Zwave JS Integration - The Home Assistant integration that communicates with the Zwave JS Server through Websockets.
- Websockets - A method of communication over a single TCP Connection.
- MQTT Client - A client that sends & receives topics to/from a MQTT Broker.
- MQTT Broker - A “Server” that contains all MQTT Topics.
Zwave JS
If you’re just starting out, this is the method you probably want to use. With a fresh setup, you’ll be up and running quickly.
Zwave JS Addon is an addon that runs next to home assistant. This means, if the home assistant container unexpectedly shuts down, your Zwave network will still run.
The Zwave JS Addon has the Zwave JS Driver and the Zwave JS Server built into it. The Zwave JS Driver controls the USB Stick, and the Zwave JS Server handles the communication with home assistant’s Zwave JS Integration through Websockets.
Communication Flow
Requirements: Home Assistant Core (Comes with HomeAssistant OS), Zwave JS Addon, and the ZWave JS integration.
ZWave JS UI (formerly ZwaveJS2MQTT, Using Websockets)
ZWave JS UI is an container/addon that runs next to home assistant. This means, if the home assistant container unexpectedly shuts down, your ZWave network will still run.
The ZWave JS UI Addon has the Zwave JS Driver , the Zwave JS Server, an MQTT Client, and a Graphical UI built into it. The Zwave JS Driver controls the USB Stick, and the Zwave JS Server handles the communication with home assistant’s Zwave JS Integration through websockets. The MQTT Client is unused, but can optionally be turned on. The Graphical UI can be used to perform various actions that the home assistant Zwave JS Integration cannot perform.
Communication Flow
Requirements: Home Assistant Core (Comes with HomeAssistant OS), ZwaveJS2MQTT Addon, and the Zwave JS integration.
ZWave JS UI (formerly ZwaveJS2MQTT, using MQTT)
ZWave JS UI is an container/addon that runs next to home assistant. This means, if the home assistant container unexpectedly shuts down, your ZWave network will still run.
The ZWave JS UI Addon has the Zwave JS Driver , the Zwave JS Server, an MQTT Client, and a Graphical UI built into it. The Zwave JS Driver controls the USB Stick, and the MQTT Client handles the communication with home assistant’s MQTT Integration through the MQTT Broker. The Zwave JS Server is unused, but can optionally be turned on. The Graphical UI can be used to perform various actions that the home assistant Zwave JS Integration cannot perform.
Requirements: Home Assistant Core (Comes with HomeAssistant OS), ZwaveJS2MQTT Addon, MQTT Broker, and the MQTT integration.
Migrating Guides
OpenZwave (beta) → ZWave JS UI