Automatyzacja włączania i wyłączania ogrzewania

Cześć, podpowie mi ktoś jak wykonać prawidłowo automatyzację ogrzewania ?
Chciałbym obsługiwać włączanie i wyłączanie ogrzewania za pomocą suwaków które zrobiłem za pośrednictwem pomocników automatyzacji (fot niżej) Mianowicie są dwa suwaki jeden ma włączać drugi ma wyłączać ogrzewanie o zadanej godzinie. Stan suwaka ma odzwierciedlać godzinę wł/wył ogrzewania i teraz jak stworzyć do tego prawidłową automatyzację ? Zrobiłem dla każdego z suwaków po 24 automatyzacje tzn :

alias: ogrzewanie suwak 12 on
description: ‘’
trigger:

  • platform: time
    at: ‘12:00’
    condition:
  • condition: state
    entity_id: climate.dom
    state: ‘off’
  • condition: and
    conditions:
    • condition: state
      entity_id: input_number.godziny_wlaczania_ogrzewania
      attribute: hvac_modes
      state: ‘off’
      action:
  • service: input_boolean.turn_on
    target:
    entity_id: input_boolean.wlacznik_ogrzewania_on
    mode: single

i dla wyłączania

alias: 'ogrzewanie suwak 12 off ’
description: ‘’
trigger:

  • platform: time
    at: ‘12:01’
    condition:
  • condition: state
    entity_id: climate.dom
    state: heat
  • condition: and
    conditions:
    • condition: state
      state: ‘12.0’
      entity_id: input_number.godziny_wylaczania_ogrzewania
      action:
  • service: input_boolean.turn_on
    target:
    entity_id: input_boolean.wylacznik_ogrzewania_on_off
    mode: single

I tak dla każdej godziny i stanu suwaka , wydaje mi się to być topornym rozwiązaniem… próbowałem zaimplementować sposób z instrukcji Pomocnicy Automatyzacji | AI-Speaker ale nie pykło mi to nie potrafiłem odpowiednio dobrać szablonu. faktem jest że te 48 automatyzacji działa tylko czy to ma sens??

Czym jest u ciebie climate.dom?
Czemu aż 24/48 automatyzacji? - time pattern i masz 2 automatyzacje
Ale i tak mimo niepełnego zrozumienia pytania uważam że coś tutaj jest przekombinowane.
Czemu na stałe chcesz wyłączyć ogrzewanie? Nie lepiej zmniejszyć oczekiwaną temperaturę?

Mam ogrzewanie gazowe które obsługuję z dwóch poziomów (niestety jak robiłem modernizację nie było jeszcze kompatybilnych ze sobą urządzeń) tzn korzystam z systemu honewell evo home które jest kompatybilne z HA, drugi system to Termet ale integracji brak. Na Evo home nie mam wszędzie termostatów dla tego chcę wyłączać ogrzewanie (sprawdzone ma to dla mnie sens) ale ta automatyzacja w postaci 48 jest właśnie mało satysfakcjonująca i zastanawiam się czy można zastosować jakiś szablon który to wszystko ogarnie …

No dobra to w logikę nie wnikam.
Taki trigger chyba powinien działać:
Test_automation_on:
trigger:
- platform: time_pattern
hours: /1

Test_automation_off:
trigger:
- platform: time_pattern
minutes: 1

A w warunkach możesz użyć sensors.time.

Ok dzięki jutro sprawdzę czy to zadziała i się odezwę :+1:

Sory za zwłokę ale miałem wczoraj pełne ręce roboty… Ogólnie twój wzór sprawdziłem i ogarnia wszystko w jednej automatyzacji więc można powiedzieć że sukces. Dziękuję i pozdrawiam.

1 polubienie

Na zakończenie tematu moja automatyzacja wygląda w ten sposób:

alias: 'ogrzewanie wlaczane przez szablon czasu '
description: ''
trigger:
  - platform: time_pattern
    hours: '*'
  - platform: time_pattern
    minutes: '30'
condition:
  - condition: template
    value_template: >
      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '0.5') and
      is_state ('sensor.time', '00:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '1.0') and
      is_state ('sensor.time', '01:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '1.5') and
      is_state ('sensor.time', '01:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '2.0') and
      is_state ('sensor.time', '02:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '2.5') and
      is_state ('sensor.time', '02:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '3.0') and
      is_state ('sensor.time', '03:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '3.5') and
      is_state ('sensor.time', '03:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '4.0') and
      is_state ('sensor.time', '04:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '4.5') and
      is_state ('sensor.time', '04:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '5.0') and
      is_state ('sensor.time', '05:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '5.5') and
      is_state ('sensor.time', '05:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '6.0') and
      is_state ('sensor.time', '06:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '6.5') and
      is_state ('sensor.time', '06:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '7.0') and
      is_state ('sensor.time', '07:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '7.5') and
      is_state ('sensor.time', '07:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '8.0') and
      is_state ('sensor.time', '08:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '8.5') and
      is_state ('sensor.time', '08:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '9.0') and
      is_state ('sensor.time', '09:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '9.5') and
      is_state ('sensor.time', '09:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '10.0') and
      is_state ('sensor.time', '10:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '10.5') and
      is_state ('sensor.time', '10:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '11.0') and
      is_state ('sensor.time', '11:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '11.5') and
      is_state ('sensor.time', '11:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '12.0') and
      is_state ('sensor.time', '12:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '12.5') and
      is_state ('sensor.time', '12:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '13.0') and
      is_state ('sensor.time', '13:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '13.5') and
      is_state ('sensor.time', '13:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '14.0') and
      is_state ('sensor.time', '14:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '14.5') and
      is_state ('sensor.time', '14:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '15.0') and
      is_state ('sensor.time', '15:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '15.5') and
      is_state ('sensor.time', '15:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '16.0') and
      is_state ('sensor.time', '16:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '16.5') and
      is_state ('sensor.time', '16:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '17.0') and
      is_state ('sensor.time', '17:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '17.5') and
      is_state ('sensor.time', '17:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '18.0') and
      is_state ('sensor.time', '18:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '18.5') and
      is_state ('sensor.time', '18:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '19.0') and
      is_state ('sensor.time', '19:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '19.5') and
      is_state ('sensor.time', '19:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '20.0') and
      is_state ('sensor.time', '20:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '20.5') and
      is_state ('sensor.time', '20:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '21.0') and
      is_state ('sensor.time', '21:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '21.5') and
      is_state ('sensor.time', '21:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '22.0') and
      is_state ('sensor.time', '22:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '22.5') and
      is_state ('sensor.time', '22:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '23.0') and
      is_state ('sensor.time', '23:00') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '23.5') and
      is_state ('sensor.time', '23:30') %}

      true

      {% endif %}

      {% if is_state('input_number.godziny_wlaczania_ogrzewania', '24.0') and
      is_state ('sensor.time', '00:00') %}

      true

      {% endif %}
  - condition: state
    entity_id: climate.dom
    state: 'off'
action:
  - service: input_boolean.turn_on
    target:
      entity_id: input_boolean.wlacznik_ogrzewania_on
mode: single