I have made a simple tutorial to try out ZWAVE2MQTT add-on in Home Assistant:
- Add MQTT to Home Assistant
I installed add-on Mosquito broker and added
mqtt: https://www.home-assistant.io/components/mqtt/ with
discovery: true https://www.home-assistant.io/docs/mqtt/discovery/ to
username: !secret mqtt_username
password: !secret mqtt_password
Install ZWAVE2MQTT add-on, (Optional: open port on router to
8091, or change to your needs)
Delete Zwave integration and remove
zwave: config from
(for quick test, you can just stop zwave network in zwave panel, but this is not recommended, because cause problems after Home Assistant restart)
Start ZWAVE2MQTT, open web ui, and setup the add-on:
In Zwave settings setup
Serial Port (Mine is
/dev/ttyACM0, same as for Zwave integration. Setup Poll Interval (Mine is
In MQTT settings setup
Host url- mqtt broker address (
Port (mqtt port, mine is
Reconnect peroid (Mine is
Prefix (default is
homeassistant to be discovered), enable
Auth, and add there your mqtt
In Gateway settings setup
ValueID topics) and
Entire Z-wave value Object) and enable
Go to Control Panel and the controller with powered nodes should appear, for battery nodes wait to be wake up or wake them manual.
The new zwave nodes are now in mqtt integration and have new entity names in Home Assistant.
Motion sensors are created as
_contact sensor with
open/closed. In Home Assistant they are as door sensor. So you must customize device in
(10.) If you want go back to Zwave integration, stop ZWAVE2MQTT add-on, start zwave network or enable back zwave integration and restart Home Assistant. Everything should be back again.
(11.) If you decide to stay, replace old entities with new entities in your setup(sensors, automations,…). You can also rename new entities with names from old zwave integration.
Please add your opinions, correcture,…
TESTED AND WORKS: dimmers, switches, motion sensors from Fibaro
PROBLEMS: Zipato rgb light only support dim/on/off - no colors in Home Assistant, but works in ZWAVE2MQTT
Since all the ZWave devices would be controllable within Home Assistant, you’d really only need to open ZWave2MQTT to external access if you had a need to reconfigure your zwave network while away from home. So, I think one could easily do without opening this service up to the world.
The less external exposure to the Internet the better.
Does the ZWAVE2MQTT addon have some type of user login or authentication method?
Way easier to send it through a nginx reverse proxy assuming the plugin has some type of authentication method built in.
Anyone tried a secure node, ie lock with this ?
Yes, just add your existing key if you are migrating, or new one
Thanks for making this post! I’m just wading into the waters over the past couple of days migrating from Hubitat (originally SmartThings).
Has anyone seen really slow and or unpredictable response from HA after setting up Z-Wave devices in ZWave2MQTT?
If I toggle the lights from the control panel it works super fast… Other MQTT devices work fine in my setup.
I hate to have one of these posts with low information but I don’t know where to start providing information. It seem to be set up right and works sometimes, just not always.
My devices are NOT Z-Wave plus… But I’m not replacing them… They cost too much as it was…
Lack of updates from my dimmers I understand but control always works flawlessly on the other platforms.
More info, works well while setting up, slowly degrades and stops working as I’m adding devices.
I work away from my server with the Aeon Stick to try to build the mesh away from the controller…
I really want this to work instead of integrating SmartThings to just handle Z-Wave devices.
Any shared experiences will be appreciated. Thanks.
Thx! It’s a excellent tutorial!
Haven’t used the zwave2mqtt setup yet - but based on my experience with different z-wave controllers:
Dive into the z-wave log and see which device is causing the trouble - almost everytime I’ve had issues with latency it’s been due to a device that was either polled extensively or set up to send reports every millesecond or on each absolutely insignificant change of some parameter and thereby flooding the mesh…
(On another system I found an error in the software that caused polling of a Greenwave Powernode 6 (seven entities) every x millisecond instead of every x second - having six of those in my system, you can imagine the queue )
That sounds extremely valid.
I can’t for the life of me find per device polling.
I only see the general setting under z-wave.
Thanks for the guide.
One issue I am running into is that if I restart HA, my lights and switches don’t show up until I restart the addon.
Edit: Fixed my issue…I was missing the birth message in my config file under mqtt.
Maybe I miss something. I have a working set up with 30 Zwave plus devices. Why should I use this approach? What is the benefit from using zwave via mqtt?
The biggest benefit would be separating Z-Wave from Home Assistant, so that your Z-Wave network doesn’t have to restart when you restart Home Assistant, for example.
Then how do I manage my zwave devices? For example new devices?
Through the ZWAVE2MQTT add-on…
A simple question that I didn’t find the answer on anywhere:
When using zwave2mqtt (and zigbee2mqtt, too) as add-on in Hass.io - when restarting Hass.io, aren’t all add-ons also restartet?
If so, won’t that include restarting z-wave/Zigbee networks?
Running them “separately” in Docker (I know add-ons are also in Docker, what I mean is non-hass.io-docker-verdions, you get what I mean, I hope) will keep things running during restart of Hass.io - but my guess would be that’s not the case when it’s an add-on - but somebody can probably clarify?
The addons don’t restart when you restart Hass.
That is the main benefit of running zwave2mqtt your zwave doesn’t restart when Hass does.
Anyone having trouble with the discovery picking up the zwave2mqtt devices?
I have verified that they are hitting mqtt fine and other discovery devices seem to be working… just not these…