• 1 Post
  • 8 Comments
Joined 1 年前
cake
Cake day: 2024年6月30日

help-circle






  • I use the generic thermostat but I want to switch the TRVs to different temperatures/states depending on a schedule and if we are at home or not. The automation changed over the last 3 or 4 years but basicly it was one of my first experiments with HA. It worked flawless and did what it should.

    Maybe it’s not the best or refined but it worked.

    triggers:
      - entity_id:
          - sensor.wohnzimmer_temp
        trigger: state
    conditions:
      - condition: and
        conditions:
          - condition: state
            state: "off"
            entity_id: binary_sensor.balkontur_contact
          - condition: state
            entity_id: input_boolean.wohnzimmer_heizung
            state: "on"
          - condition: template
            value_template: >-
              {% if states('input_boolean.away_mode')=='off' %} {% if
              states('schedule.testkalender')=='on' %} {{
              states('sensor.wohnzimmer_temp') | float <
              states('input_number.wohnzimmer_temperatur_tag') | float + 1 }} {%
              else %} {{ states('sensor.wohnzimmer_temp') | float <
              states('input_number.wohnzimmer_temperatur_nacht') | float + 1 }} {%
              endif %} {% else %} {{ (states('sensor.wohnzimmer_temp') | float) |
              round  < states('input_number.temperatur_away_mode') | float + 1 }} {%
              endif %}
            enabled: true
    actions:
      - action: climate.set_temperature
        target:
          entity_id: climate.heizung_wohnzimmer
        data:
          temperature: |
            {% if states('schedule.testkalender')=='on' %}
              {{ states('input_number.wohnzimmer_temperatur_tag') | int + states('input_number.wohnzimmer_heizung_offset') | int }}
            {% else %}
              {{ states('input_number.wohnzimmer_temperatur_nacht') | int }}
            {% endif %}
          hvac_mode: |
            {% if states('input_boolean.away_mode')=='off' %}
              {% if states('schedule.testkalender')=='on' %}
                {% if states('sensor.wohnzimmer_temp') | float < states('input_number.wohnzimmer_temperatur_tag') | float %}
                  heat
                {% else %}
                  off
                {% endif %}
              {% else %}
                {% if states('sensor.wohnzimmer_temp') | float < states('input_number.wohnzimmer_temperatur_nacht') | float %}
                  heat
                {% else %}
                  off
                {% endif %}
              {% endif %}
            {% else %}
              {% if states('sensor.wohnzimmer_temp') | float < states('input_number.temperatur_away_mode') | float %}
                heat
              {% else %}
                off
              {% endif %}
            {% endif %}       
    mode: single