It has finally happened, after months of waiting I have had the chance to test the Zigbee2MQTT web-based frontend (or dashboard as I previously called it). So far, the Zigbee2MQTT frontend has been everything I hoped for and covers all the functionality offered by Zigbee2MQTT Assistant. And as the latter application hasn't been updated in almost a year, I'm delighted the official frontend has allowed me to ditch it for good.
In this short article, I will be showing you how to set everything up and explaining exactly what the frontend can do. If you haven't tried using it yet, I recommend you start immediately!
Enabling the Zigbee2MQTT frontent
The Zigbee2MQTT frontend is not enabled by default, but you can do so by adding just a few lines of YAML to your configuration file:
frontend:
# Optional, default 8080
port: 8080
# Optional, default 0.0.0.0
host: 0.0.0.0
# Optional, enables authentication, disabled by default
auth_token: your-secret-token
I am running Zigbee2MQTT on my Unraid server and had to change the networking mode from bridge to host to be able to access the frontend. I also changed the port to 9110 as 8080 is used by many other applications. With the configuration set up, you can restart the Zigbee2MQTTT Docker container, and you will already be able to access the frontend.
Understanding the Zigbee2MQTT frontend
When you first log in, you will be greeted by an overview of your Zigbee devices. You will be able to see the friendly name, the IEEE address, the manufacturer, model, the link quality, as well as information on how the node is powered. By the way, when hovering over the battery's icon, the remaining percentage is shown.
Zigbee2MQTT dashboard
As someone who uses Home Assistant, I don't ever use Zigbee2MQTT's frontend dashboard, as it basically allows me to do exactly what I do in Home Assistant. But obviously without any of my other integrations or automations. If you wanted to, you could fully control your Zigbee2MQTT devices from here.
The Zigbee2MQTT network map
The network map is Possibly the best feature of the Zigbee2MQTT frontend. Let's call it a tie with the OTA function. The map gives you a detailed and visual insight in to your Zigbee mesh network. This can be useful if you're noticing that one of your Zigbee devices is struggling to get a decent link. Or if you want to find out how many connections your routers have. Incidentally, it was found out that previous Gledopto LED strip controllers wouldn't act as routers using a map just like this one. And as you might also be able to see, the newer Gledopto LED strip controller does now fully function as it should.
Making firmware updates easy with Zigbee2MQTT
Updating the firmware of my Zigbee devices was previously an absolute nightmare, as I don't really enjoy working directly with MQTT. I like to have it as a communication protocol, but I dislike sending and receiving messages. Unfortunately, that is precisely what you had to do to download and install OTA (over-the-air) updates.
The Zigbee2MQTT frontend finally makes OTA updates as easy as they should be. Simply switch to the appropriate tab, and you will see all of your devices, with those needing an update highlighted. The update process is started by clicking on the red button.
Touchlink without any manual commands
Touchlink was another unnecessarily complicated feature I have previously had to use. For those that have never heard of Touchlink, it is a Zigbee feature which allows devices physically close to each other to communicate with each other without being in the same network.
Just as the OTA updates, you needed to execute multiple commands and find the responses when they came to get it working. Luckily, the Touchlink function has also been added to the frontend.
No need for the Zigbee2MQTT configuration file
Technically, there is still a need for the configuration file, as it stores all of your settings. But, when using the web-based frontend, there is no need to edit it any more. While I don't mind YAML, having the settings as part of the frontend should make Zigbee2MQTT much more user-friendly.