I’m struggling to work out how my heat pump & underfloor heating is working and I’m busy gathering data to help. I’d like to know how many UFH zones, if any, are on and to be able to graph this against the power drawn by the heat pump. My first problem is in creating an entitiy that summarises the states of all 12 UFH zones. Is this possible?
The entities are all like climate.[zone]_neo, and they have all come from HomeKit Controller - Home Assistant linked to a Heatmiser Neohub. They all have these attributes
I had in mind an entity that has a count of the number of climate entities which are in the state: “heating” (and could ideally also have the average temperature). I had assumed I could create a helper to do this, but I can’t work out how.
{% set ns = namespace(count = 0) %}
{% for climate in states.climate if 'heating' in climate.attributes.hvac_action %}
{% set ns.count = ns.count+1 %}
{% endfor %} {{ns.count}}
You will need to create a template sensor for this. To do this you will need access to your configuration.yaml file and will need to add:
template:
- sensor:
- name: number of climate in heating # or any other name you want #
state: >
{% set ns = namespace(count = 0) %}
{% for climate in states.climate if 'heating' in climate.attributes.hvac_action %}
{% set ns.count = ns.count+1 %}
{% endfor %} {{ns.count}}
If you haven’t done so already you can add the ‘file editor’ addon via settings / add-ons to allow easy access and editing of your configuration.yaml.
PS: after adding to or editing the configuration.yaml and once checking your configuration is valid via developer tools / yaml, you may need to restart home assistant for the changes to take place.
Thank you so much - it worked a treat! I wish I understood how to do that…
Is it possible to produce an average temperature of all the zones and just the heatings zones in the same loop?
If you ever need a means of easily controlling multiple climate entities, daenny developed a custom integration allowing you to create a Climate Group.
Thanks. That worked well until I tried to graph the result against other numeric entities. I added an INT pipe but didn’t seem to make it a graphable number.
- sensor:
- name: Neo zones heating
state: "{{ states.climate | selectattr('attributes.hvac_action', 'eq', 'heating') | list | count | int }}"
Hey @DJI I think you are trying to do something similar to what I do, which is effectively graph your heat pump power usage against the Target and Current temperature of your thermostats but only for the ones which are on?
Just obviously replace the sensors with your own sensors.
If you want to chat about heat pumps give me a shout. I basically take an average of my active thermostats Target and Current temperature and pass it to a heat pump so that the flow temperatures get calculated on real life requirements rather than a fixed static requirement. Seems to have increased efficiencies for us this winter. but I’ve only done it a few months ago so next winter will be a good test to see the difference.