Install the Woow EMQX add-on
Install the Woow EMQX add-on (EMQX 5.8.9): add the WoowTech repository, install and start it, host_network, the five ports, how you get in through Ingress, first login and changing the password, and port conflicts with Mosquitto.
Why this matters
The Home Assistant add-on store does not carry Woow EMQX by default, so before you can install it you have to add the WoowTech repository to your Home Assistant. The process is not hard, but if you have not sorted out three keywords first — "host_network mode", "ports 1883/18083" and "Ingress" — what usually happens is that the add-on will not start, and you are left in front of the log with no idea why.
By the end of this chapter you will be able to do the whole thing yourself: add the repository → install → start → log in for the first time with admin/public → change the default password. You will also know what each of the five ports is for, and what to do when Mosquitto has taken a port you need.
Core concepts
Woow EMQX is a Home Assistant add-on that WOOWTECH maintains as a fork of hassio-addons/addon-emqx. It ships EMQX 5.8.9 (Open Source) on the Erlang/OTP runtime, with a built-in SQLite store for its settings. The add-on runs with host_network: true, which means it does not seal its networking into a small virtual network inside the container; it sends and receives MQTT on the ports of the Home Assistant host itself.
The upside is that other browsers, phone apps and external devices can reach ports such as 1883 and 8883 on your host directly, with nothing in between. The cost is that you now have to care about who is holding a port: if you keep Home Assistant's Mosquitto add-on, both use 1883, so the two cannot start at the same time.
The add-on also serves its admin interface through ingress mode: you can open the EMQX Dashboard straight from the Home Assistant sidebar, with no need to remember http://<host>:18083. The add-on's config.yaml already sets both ingress_port: 18083 and host_network: true.
Terms at a glance
| Term | Plain English | What it means |
|---|---|---|
| Repository | add-on source | Where Home Assistant gets extra add-ons from |
| Host Network | host network mode | The mode in which the add-on uses the host's network directly |
| Ingress | entry channel | Opens the add-on's web page straight from the Home Assistant sidebar |
| Listener Port | listener port | Which ports the broker takes MQTT and admin traffic on |
| Web UI | web admin interface | The way in to the EMQX Dashboard |
One repo address matters here: https://github.com/WOOWTECH/Woow_ha_emqx — that is the repository source you are about to add to Home Assistant.
Hands-on
Add the WoowTech repository
In Home Assistant, go to Settings → Add-ons → Add-on store, open the ⋯ menu at the top right → Add repository, paste in
https://github.com/WOOWTECH/Woow_ha_emqxand click Add.Install Woow EMQX
Refresh the store, find Woow EMQX, open it and click Install (the download can take a while).
Start the add-on
Check that
host_networkis enabled on the add-on page, then click Start. Afterwards read the log and confirm there is no "port already in use" error.Open the Web UI and log in for the first time
Click Open Web UI and log in with the user name
adminand the passwordpublic. If you are asked to change the password, change it there and then to<your-new-password>, and do not usepublicagain before you create real MQTT accounts in a later chapter.
The five ports clients connect on
Because of host_network, these five ports are open on the Home Assistant host itself. The add-on README lists the following defaults.
| Port | Protocol | What it means |
|---|---|---|
| 1883 | MQTT | Standard MQTT (TCP) |
| 8083 | MQTT/WS | MQTT over WebSocket |
| 8084 | MQTT/WSS | MQTT over secure WebSocket (TLS) |
| 8883 | MQTTS | MQTT over SSL/TLS |
| 18083 | HTTP | EMQX Dashboard (the admin interface) |
Day to day you only need two of them: 1883 for devices and Home Assistant, and 18083 to open the Dashboard. The rest are WebSocket and TLS options. If another service is holding one of the ports — WebRTC uses 8083, for example — you have to stop the conflicting side first, then change the port on the Dashboard's Listeners page.
First login and changing the password
The default account for the EMQX Dashboard is admin/public. The official documentation is explicit about this: the first time you log in with the default credentials, EMQX detects that you are still on the default password and forces you to change it; the new password cannot be the same as the old one, and keeping public for real use is not recommended.
This is an important first step in protecting the admin surface: the Dashboard is the way in to controlling the whole broker, so anyone who guesses admin/public can rewrite all of your authentication and authorization. In Chapter 6 you will create real MQTT accounts for your devices and Home Assistant; in this chapter you only have to change the Dashboard login password.
If you forget the new password, EMQX gives you the CLI command emqx ctl admins passwd <username> <new-password> to reset it; Chapter 18 covers the details under diagnostics and the API.
Troubleshooting
- You added the repository but Woow EMQX does not show up in the store: refresh the page, or leave the store and come back in; check that you pasted the whole URL, including the trailing
Woow_ha_emqx. - It will not start, and the log says a port is in use: the most likely cause is that the Mosquitto add-on or WebRTC is running at the same time, and both hold 1883 or 8083. Stop the conflicting service first, then start EMQX.
- The Dashboard will not open: get in through Ingress (the EMQX icon in the sidebar), or use
http://<home-assistant-host>:18083instead. Check that nothing else is holding 18083. - Once you have changed it, really stop using
public: if you were not asked to change the password on first login, this is not a fresh install; if you are still on the default credentials, change them by hand in the Dashboard's user settings.
FAQ
Why must I change the password immediately after installing?
The default admin/public is a public value to anyone who has read the documentation. If your host is exposed to the outside, leaving it in place hands over control of the whole broker. Make changing it to a strong password of your own the very first thing you do.
Can Mosquitto and Woow EMQX run at the same time?
No. Both add-ons listen for MQTT on 1883, and once the port conflicts one of the two cannot start. Either pick one of them, or use Listeners to move one of them to a different port.
What is Ingress, and how does it differ from going straight to 18083?
Ingress is the reverse-proxy entry point Home Assistant provides: you open EMQX from the sidebar, with no port to remember and no worry about someone else connecting to it directly. Going straight to 18083 reaches the same Dashboard; the difference is security and convenience.
It uses more resources once installed — will it slow Home Assistant down?
EMQX costs a little more RAM/CPU than Mosquitto. The Woow README recommends at least 512MB RAM. If memory on your host is tight, Mosquitto may still be the lighter choice; if you want EMQX, check first that your hardware can carry it.