Does anyone have this integrated with home assistant? Dont want to have to reinvent the wheel with the mqtt messages and I havent been able to find a good write up on configuring hestiapi with home assistant. I’ve got mqtt connected but not seeing temp info in the status messages.
I found the Things section in paper ui with generic MQTT things, if I change the broker to my rabbitmq instance I see its now posting payloads with data. Will that affect system values or are those populated a different way? I questioned changing this when i saw the topics were mentioning local like /hestia/local/
This will affect your system values. The embedded MQTT broker on the HestiaPi is how the LCD UI and openHAB talk. If you change the broker to subscribe to some other MQTT broker than the LCD will no longer show the current temp and settings and won’t be able to control the heater.
I don’t know much about how HomeAssistant works but if I assume that it’s able to connect to more than one MQTT broker at a time, see Interoperability with other OpenHAB instance and How to integrate with another OH Instance for some examples for how to integrate with another openHAB instance. Mostly pay attention to the MQTT stuff which should tell you which topics you need to subscribe and publish to.
Alternatively you can change the HestiaPi to use your other MQTT broker but that will require changes to both the openHAB Broker Thing and the raw source of the LCD UI to use your other MQTT broker.
Cool, found out I broke the UI pretty quickly by changing those
Ok, I may have to rethink how things will be set up then, unless those other posts show how to publish and consume to/from another mqtt server. Was hoping to only manage the one place where home assistant is publishing and consuming status and command messages and showing status in its UI. Thanks!
They do from an openHAB perspective. I can’t tell you how to do it from Home Assistant.
Home assistant only connects to a single mqtt broker from what i can find so far. it looks like I’m going to have to read up more on openhab to understand it better, seems quite complex compared to home assistant. Thought I was going to be able to just push messages from hestiapi to another broker and listen on that other broker for changes which would come from home assistant and also populate a temperature entity in home assistant.
Seems like a pretty bad limitation. Another option is it’s possible to bridge two MQTT brokers together: https://selfhostedhome.com/using-two-mqtt-brokers-with-mqtt-broker-bridging/, http://www.steves-internet-guide.com/mosquitto-bridge-configuration/
Yeah I might look into the bridging, i didnt research enough on hestiapi to know that it had its own internal broker and no easy way to point it to another broker as the main one. I used to use mosquitto as the broker but it was not reliable in my experience and pretty limited, I much prefer rabbitmq. Using another server as the broker could probably save some system resources on hestiapi. a much cooler feature in hestiapi would be an easier way to pub/sub stats out to another broker and listen for temp changes and programming for integration.
I noticed this warning in the Home Assistant docs:
I’ve been using Mosquitto for years with no complaints and no issues. And I’ve used some very complicated setups.
Using another server as the broker is definitely an option. But you will have to customize the config so both openHAB and the UI point to that external broker instead of the internal one. The internal one is required because the HestiaPi has to be self contained.
And again, of course you can configure openHAB to pub/sub to another broker for temp changes (see Integration with ANAVI Thermometer) an I’ve already provided the tutorial for how to command it from an external program. The main complaint, as I can see it, is that the configuration is complicated. Unfortunately I don’t know of any way to make it simpler. But it’s all possible.
I use rabbitmq in clusters for high availability for my day job so im much more comfortable with it and its been in use for my home for years. Moved it from a VM to a docker instance. Setting up this bridge now as it seems like a much easier way to integrate and then i dont have to mess with openhab or remap anything at all.
Bridge is running, now just need to test publishing messages to it for control from home assistant. This looks like exactly what I needed if it will properly read from messages published to the topics hestiapi is listening on for control, which I suspect it will.
Note for anyone else pointing this at a rabbitmq instance, looks like the mosquitto config needs
in the connection properties, it has something to do with the mqtt plugin in rabbit and authenticating.
One thing that you may encounter is that some of the topics used by HestiaPi deliberately and require the use of retained messages. That HA warning about RabbitMQ specifically warns about issues with retained messages.
Thanks, shouldnt be a problem though, I use the persistence in location tracking and other devices on the network. All is working out pretty good.
I don’t think you understand what I mean. The HestiaPi LCD and openHAB configurations depend on the messages on some of the MQTT topics to be retained. If you publish to these topics from HA through RabbitMQ and the messages are not retained correctly, as the warning message indicates, there might be problems on the HestiaPi side of things.
still working on the boost mode control but for anyone with home assistant this is my climate.yaml which enables control from a home assistant climate entity to control temp and report back current set temp, current temp, and be able to control the temp from a card on the dashboard
climate: !include climate.yaml
- platform: mqtt name: hestiaPi current_temperature_topic: "hestia/local/temperature" temperature_command_topic: "hestia/local/cmnd/setmintempsetpoint" temperature_state_topic: "hestia/local/mintempsetpoint" min_temp: 62 max_temp: 78
from there just add the climate card to the dashboard after you set up the bridge to your main mqtt server mentioned previously in this thread
Really appreciate the discussion here. I too am trying to get the architecture down to integrate the HestiaPi to HA. Just to sum this all up, the recipe is to:
- Set up Mosquito in bridge mode (via docker instance). Any specific guidance or instructions here? Not sure where to find info on bridging MQTT brokers.
- In HA create a climate.yaml per this thread
I assume with bridging there isn’t an issue with retained messages on the HestiaPi side as each platform is using its preferred broker?
Is there any other thing to worry about or limitation you found?
Hello fellow HA user I only use mine to control heat on my boiler so i might not have all thats needed but to bridge the broker on hestia to mine i believe all i did was add the below to the mosquitto config on hestia (/etc/mosquitto/mosquitto.conf) in the bridge section. the only thing to replace is the address and point to your other broker. the two topic in and out lines are what sends and receives the messages, the # means everything, you can limit if you want. Im using rabbitmq and have not seen any issues with retained messages.
connection hestiapi_bridge address yourOtherMQTTBrokerIPHere try_private false #topic <topic> [[[out | in | both] qos-level] local-prefix remote-prefix] topic # out 0 topic # in 0 # Set the version of the MQTT protocol to use with for this bridge. Can be one # of mqttv31 or mqttv311. Defaults to mqttv31. bridge_protocol_version mqttv311
Right now i have a simple automation that sets the temp to 70 at 4am, planning on more. the automation is simple as time as the trigger and the action looks like this
if someone wants to look into more for cooling and fan control, i used the app mqttexplorer pointed at hestia to see what messages came across when interacting with the ui on the lcd
This is perfect and just what I needed. Much appreciated!
Just to be clear on how you moved forward and got this into Home Assistant, you bridged the mosquito mqtt broker over to your rabbitmq broker and then used that for home assistant?
That is correct