MQTT Water Heater

There isn’t much about water heaters in Home Assistant. I’ve recently worked out I can add a wall controller to my hot water system (Rinnai) rather easily.

Unfortunately nothing ‘smart’ is available, so what I’ll be doing is creating my own interface with an Arduino, which effectively just presses the buttons on the wall controller. I’d like to use MQTT to interface Home Assistant with this Arduino. From there I can program it to track and control the temperature (i.e. when I’m in the shower, drop the temp to X degrees).

I’m sure I can get around this for now using other components (probably MQTT climate), but it would great to be able to make use of the actual water heater component.

Any luck with getting the Rinnai water heater integrated?

Actually yes, it’s set up as a climate component as I needed something I could template, but it’s working well.

Got a bit complex, using an esp32cam in a box pointed at a disassembled Rinnai MC601QA - I then use seven segment OCR to read the temperature of the display and use that as my current temp. I also have some of the outputs of the esp32 connected to a relay board which is wired to the buttons on the Rinnai controller allowing me to simulate pressing the buttons by pulsing the relays.

I’ve set up an automation, so if I change the temp on my climate component, it presses the up or down button until my current temp (read from the screen), matches the desired temp.

Works well, takes a few seconds for the screen feedback loop to be read so not as fast as it could be. But I now have a voice controlled and automated hot water system and have definitely gone too far.

Another vote for this. I would love to be able to use an MQTT water heater device for my pool/spa heater


You can already implement a MQTT heater. Just define it as an HVAC device with modes: off and heat.

I have just done that recently to integrate my Rinnai Gas Heater to HA. I have done that by connecting to the data communication in the control panel (regular one, non wifi) as opposed to connecting to the buttons/display in the control panel.

Here is the relevant MQTT discovery setup:

My code full code is at:

Once all is complete I will write an article but the project requires electronics knowledge, soldering, etc. If somebody is interested in this and knows to work a logic analyzer I am happy to cooperate.


vote please Add support water heater by MQTT discovery