rsw686 said:
I agree that it should show operating state not mode. That's the one thing Home Assistant is missing as I can't tell when my HVAC system is actually running. I'd be willing to help out with this effort.
Thank you for the detailed GitHub explanation and the offer to help improve MQTT HVAC.
I examined the pull request and it will permit MQTT HVAC to handle operation
state thereby allowing the chart to graph when the system is running. It uses a new topic called
activity_state_topic. However, upon closer inspection, it has a limitation.
This new activity topic simply wants to know if the HVAC system in active or idle (true/false). So if activity=true and the current operation mode is 'heat' then it concludes the operation state must be 'heat'. If activity=true and mode is 'cool' then state is 'cool'. The charting code knows how to handle heat/cool states so all is well.
Or is it? What if the operation mode is
auto? If activity=true and mode is 'auto' then state becomes 'auto' …. and the charting code doesn't know how to handle 'auto'. Therefore, nothing gets charted when state is 'auto' (that's also how the current version of MQTT HVAC behaves; when in auto mode, the chart fails to show a shaded area).
I reported this to the pull request's author and suggested that
activity_state_topic should be made smarter than just expecting true/false. Thermostats can report their state in greater detail; at the very least they can report off/heat/cool. The Proliphix thermostat can report something like 5 operating states. Instead of basing the state on the mode, base it on the received activity.
The activity must be off/heat/cool and if the thermostat reports in another format (mine reports with integer values) then allow for
activity_state_template to convert the received activity and shoehorn it into one of the three acceptable responses.
I received a reply that my observation and suggestion were valid and would be implemented. I noticed today that the pull request's title has reverted to "WIP" (Work In Progress).