#Heatmiser - How to know when heating is called for?

1 messages · Page 1 of 1 (latest)

worldly minnow
#

Heya, I have a number of heatmiser neo thermostats, they are all connected to home assistant. I can see when each one is calling for heat, but I'm unsure of the best way of having a single entity show if any of the many thermostats are currently calling for heat. I have tried looking though the existing sensors but nothing seems to be "boiler is on". I then tried to combine sensors using a helper but that didn't seem to be possible. I have no doubt it's a skill issue but I'm struggling to define the problem or know what to search for to solve the problem.

Thanks

worldly minnow
#

Any ideas what I can research to work out how to do this?

tropic shuttle
#

With my Sonoff TRVZB I check attribute hvac_action that must be set to heating:


        {{
          states.climate
            | selectattr('entity_id', 'search', 'climate.trv_')
            | selectattr('attributes.hvac_action', 'eq', 'heating')
            | list
            | length
        }}
#

This tells me how many climate entities is looking for a heating, and if the value is larger than 0, I turn on my shelly relay to enable the heating to the apartment

#

This is my full template sensor:

- sensor:
    - unique_id: 0ee7d58c-f738-49b7-b629-dd8a72a5149f
      name: "HVAC: Heating calls"
      state: >
        {{
          states.climate
            | selectattr('entity_id', 'search', 'climate.trv_')
            | selectattr('attributes.hvac_action', 'eq', 'heating')
            | list
            | length
        }}
#

And this is my automation to control the main pump:

  • I have another input number and I trigger the automation when number of climate heating is zero or equal>= above the target
  • When I turn off heating globally
  • When HA starts
alias: Heating - turn on or off main pump switch
description: >-
  Control the main switch for the heating pump. Turns it on when number of
  requests reaches threshold, but only turns it off if all values reached the
  point
triggers:
  - trigger: template
    value_template: |-
      {{ states('sensor.hvac_heating_calls')|int >=
          states('input_number.heating_call_threshold')|int }}
  - trigger: state
    entity_id:
      - input_boolean.hvac_heating_is_allowed
  - trigger: numeric_state
    entity_id:
      - sensor.hvac_heating_calls
    below: 1
  - trigger: homeassistant
    event: start
conditions: []
actions:
  - if:
      - condition: state
        entity_id: input_boolean.hvac_heating_is_allowed
        state: "off"
    then:
      - action: switch.turn_off
        target:
          entity_id: switch.hvac_heating_pump_switch
        data: {}
    else:
      - if:
          - condition: template
            value_template: |-
              {{ states('sensor.hvac_heating_calls')|int >=
                  states('input_number.heating_call_threshold')|int }}
        then:
          - action: switch.turn_on
            target:
              entity_id: switch.hvac_heating_pump_switch
            data: {}
        else:
          - if:
              - condition: template
                value_template: "{{ states('sensor.hvac_heating_calls')|int == 0 }}"
            then:
              - action: switch.turn_off
                target:
                  entity_id: switch.hvac_heating_pump_switch
                data: {}
mode: single