I bought an Aqualisa Visage Q Smart Digital Shower. It equipped an ESP32 chip. It connects to Azure IoT hub in the cloud over Wi-Fi using TLS-enabled MQTT. The hub’s address is aqualisa-production-iothub1.azure-devices.net. I did the followings and am managed to report the shower’s status to Home Assistant. However, I am not yet able to control it. Here is what I did.
- My Home Assistant and Mosquitto MQTT broker (non-TLS) are running on a Raspberry Pi. I set up a local DNS record on my router which resolves
aqualisa-production-iothub1.azure-devices.netas the Pi’s IP address. If your router does not support it, you will have to install a dnsmasq (e.g. using a Home Assistant add-on), add the above DNS record, and set up a dedicated Wi-Fi network to use the dnsmasq as the DNS resolver. Configure your shower to connect to the Wi-Fi network. - Run a second Mosquitto MQTT broker with TLS-enabled listening on TCP port 8883 on the Pi. It will receive the messages from the shower and forward them to the primary MQTT broker. Here is my config file:
listener 8883
cafile /mosquitto/certs/ca.crt
certfile /mosquitto/certs/server.crt
keyfile /mosquitto/certs/server.key
require_certificate false
allow_anonymous true
connection mosquitto1883
address <primary_mqtt_broker_address>:1883
remote_username <username_on_primary_mqtt_broker>
remote_password <password_on_primary_mqtt_broker>
bridge_insecure true
topic devices/# both 1 "" aqualisa/
The last line appends “aqualisa/” to the messages’ topic after forwarding to your primary MQTT broker.
- Connect an MQTT Explorer to both brokers, turn on and off the shower for a few seconds, and ensure you see the shower’s messages. On the second broker, you should see the topic “devices/{sn}/messages/events” where {sn} is your shower’s serial number:
Copy the serial number.
On the primary broker, you should see the topic “aqualisa/devices/{sn}/messages/events”.
- Paste the following AI prompt to your favorite AI model (I used Google Gemini). Follow the procedure to add the shower to Home Assistant. Replace {sn} below with the serial number you copied above.
In an MQTT broker, there is a topic “aqualisa/devices/{sn}/messages/events/name=value”. It is a digital shower’s status. The value is like this:
{“message_type”:1,“live_on_off”:0,“live_at_temperature”:0,“live_flow”:2,“live_outlet”:1,“live_temperature”:32,“live_timer”:0,“live_time_run”:0,“request_on_off”:0,“request_flow”:2,“request_outlet”:1,“request_temperature”:38,“request_timer”:0,“usage_run_time”:12,“usage_average_temperature”:22,“timestamp”:“2026-11-07T20:55:07Z”}
Provide detailed procedure on how to add an MQTT device on Home Assistant’s graphical user interface. The device shall contain 3 sensors:
a binary sensor to indicate the shower’s on/off state. The attribute is “live_on_off”.
a temperature sensor to indicate the water temperature. The attribute is “live_temperature”.
A usage run time. The attribute is “usage_run_time”.
Then you will have the shower set up in Home Assistant.
If you know how to turn on or off the shower, please share what topic and message should be published.
