You are correct that mode_state_topic is the mode off, cool, heat, auto and not the operating state idle, cool, heat. From my digging in the MQTT climate module it doesn't appear that the capability to show if the system is idle, cooling, or heating is supported. I was planning to look into how to add this once my previous pull request for the low and high setpoints went through. I am publishing this to MQTT topic omnilink/thermostatX/current_operation
I've learned that the chart history for most climate platforms shows the operating mode BUT not all of them! The Proliphix platform, charts the state.
"Petro" helped me understand the connection between the frontend chart-widget and the platform property driving it. I described it in detail in my latest post in this thread:
In that post, I confirm that the chart is showing MQTT HVAC's operating mode, not state. For old hands on this forum, I think we can agree that it's a curious choice of parameter to chart. Seeing when the HAVC system is actively heating/cooling (its state) is more informative.
The author of the Proliphix platform understood that and chose to supply the chart with the HVAC system's state, not mode. Basically he used the appropriate Proliphix API call, opting for HvacState instead of HvacMode.
The MQTT HVAC platform needs to support a new MQTT topic representing the HVAC system's state. There's a pull request underway to create "activity_state_topic". However, it doesn't use this new topic to its full potential (set "current_operation" to state vs mode).
I already have a local instance of MQTT HVAC that:
- Automatically sets temperature step-size based on the chosen unit system (1 degree steps for imperial, 0.5 degree steps for metric).
- Allows you to override the step-size in the config yaml.
- Provides a MODE_COMMAND_TEMPLATE that allows you to convert the published Operation Mode (basically the other half of the existing ability to convert the subscribed Operation Mode). I needed this because mode is received as numeric values, that a template converts to text for display in HASS, then those text values must be converted back to integers for controlling the physical thermostat. The mode_command_template is used to perform that outbound conversion.
I plan to embellish "activity_state_topic" so it sets the "current_operation" state as opposed to how it currently works (basing it on "mode_state_topic").
I don't know how to work with GitHub yet, and jump through all the qualification steps, to submit this work for official inclusion in Home Assistant's repository. So, for now, it remains a separate beast in the config/custom_components/climate directory.
Edited by 123, 20 October 2018 - 11:16 AM.