Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Hier könnt Ihr gerne Eure Automatisierungen reinstellen, die Ihr gerne mit allen Teilen wollt. Einen kurze Beschreibung sowie ein Aussagekräftiger Titel sind erwünscht.


Antworten
Benutzeravatar
Osorkon
Administrator
Beiträge: 871
Registriert: Sa 17. Jul 2021, 16:53
1
Wohnort: Langenargen
Has thanked: 19 times
Been thanked: 147 times
Kontaktdaten:

Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Osorkon »

Die Heizsaison startet bald, wird Zeit sich mit der Heizung auseinanderzusetzen.

Hier mal eine Automatisierung zur Fenster Offen Erkennung in Zusammenspiel mit der Scheduler Componente aus dem HACS.
Benötigt wird ebenfalls die Scheduler Card .

Das besondere daran ist, dass wenn Ihr eine bestimmte Namenskonvention für die Entitäten verwendet. Eine einzige Automatisierung für die Fenster Offen Erkennung ausreicht und zwar für alle Räume! 😀😱

Es sind insgesamt drei Domains im Spiel:

  • binary_sensor -> Das Fenster
  • climate -> Die Heizung
  • switch -> der Scheduler Schalter

Die Idee ist über den Raum Namen alle beteiligten generisch anzusprechen.

Die Namenskonvention sieht folgendermassen aus:

  • binary_sensor_fenster_{{raum}} , Friendly Name = Fenster {{raum}}
  • climate.heizung_{{raum))
  • switch.schedule_heizplan_{{raum}}

Am Beispiel Bad heissen die Entitäten:

  • binary_sensor.fenster_bad , Friendly Name = Fenster Bad
  • climate.heizung_bad
  • switch.schedule_heizplan_bad

Habt ihr mehrere Heizkörper-Thermostate oder Fenster im Raum, könnt Ihr diese zu einer Gruppe zusammenführen und die Gruppe ansprechen.

Hier mal die Automatisierung für Heizkörper-Thermostate ohne OFF Modus.
Wird eine Fenster im Raum geöffnet und es ist gerade Heizsaison. Wird der Heizplan ausgeschaltet und die Soll-Temperatur auf 7°C gestellt.
Wird das Fenster wieder geschloßen, wird der Heizplan eingeschaltet und die im Heizplan hinterlegte Soll-Temperatur eingestellt.

Das Template

Code: Alles auswählen

{{ trigger.to_state.name.split(' ')[1] | lower }}

ermittelt den Namen des Sensors der die Automatisierung ausgelöst hat. Teilt den String auf, da wo ein Leerzeichen erkannt wird und gibt den 2ten String in Kleinbuchstabeen als Ergebnis aus.
Am Beispiel "Fenster Bad",lautet das Ergebnis "bad", also unser Raum.

Das Template

Code: Alles auswählen

{{ trigger.id }}

ermittelt die Trigger-ID, in unserem Fall "on" oder "off"
Somit lässt sich dann in Abhängigkeit der Trigger-ID der dienst switch.turn__{{ trigger.id }} nutzen.

Code: Alles auswählen

alias: Heizung Fenster Automatik Temperatur
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.fenster_bad
    from: "off"
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: "off"
  - platform: state
    entity_id:
      - binary_sensor.fenster_bad
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: "on"
condition:
  - condition: state
    entity_id: input_boolean.heizsaison
    state: "on"
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "off"
        sequence:
          - service: switch.turn_{{ trigger.id }}
            data: {}
            target:
              entity_id: >
                switch.schedule_heizplan_{{ trigger.to_state.name.split(' ')[1] | lower }}
          - service: climate.set_temperature
            data:
              temperature: 7
            target:
              entity_id: >-
                climate.heizung_{{ trigger.to_state.name.split(' ')[1] | lower }}
      - conditions:
          - condition: trigger
            id: "on"
        sequence:
          - service: switch.turn_{{ trigger.id }}
            data: {}
            target:
              entity_id: >
                switch.schedule_heizplan_{{ trigger.to_state.name.split(' ')[1] | lower }}
mode: parallel
max: 10

Für Heizkörper-Thermostate mit einem Off-Modus, können wir das theermostt auf Off setzen anstatt eine niedrige Soll-Temperatur vorzugeben.

Code: Alles auswählen

alias: Heizung Fenster Automatik  Off-Modus
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.fenster_bad
    from: "off"
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: "off"
  - platform: state
    entity_id:
      - binary_sensor.fenster_bad
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: "on"
condition:
  - condition: state
    entity_id: input_boolean.heizsaison
    state: "on"
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "off"
        sequence:
          - service: switch.turn_{{ trigger.id }}
            data: {}
            target:
              entity_id: >
                switch.schedule_heizplan_{{ trigger.to_state.name.split(' ')[1] | lower }}
          - service: climate.set_hvac_mode
            data:
              hvac_mode: "off"
            target:
              entity_id: >-
                climate.heizung_{{ trigger.to_state.name.split(' ')[1] | lower
                }}
      - conditions:
          - condition: trigger
            id: "on"
        sequence:
          - service: switch.turn_{{ trigger.id }}
            data: {}
            target:
              entity_id: >
                switch.schedule_heizplan_{{ trigger.to_state.name.split(' ')[1] | lower }}
mode: parallel
max: 10

Diesmal wird der mode: parallel verwendet, schließlich können gleichzeitig in mehreren Räumen die Fenster geöffnet oder geschlossen werden.

Um weitere Räume in der Automatisierung zu berücksichtigen, müssen nur noch die jeweiligen Fenster Sensoren als Entitäten für die bereits definierten Trigger hinzugefügt werden.

Code: Alles auswählen

trigger:
  - platform: state
    entity_id:
      - binary_sensor.fenster_bad
      - binary_sensor.fenster_buero
      - binary_sensor.fenster_kueche
      - binary_sensor.fenster_wz
      - binary_sensor.fenster_sz
    from: "off"
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: "off"
  - platform: state
    entity_id:
      - binary_sensor.fenster_bad
      - binary_sensor.fenster_buero
      - binary_sensor.fenster_kueeche
      - binary_sensor.fenster_wz
      - binary_sensor.fenster_sz
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: "on"

Diese Automatisierung lässt sich natürlich auch ohne der Scheduler Componente verwenden, allerdings sinnvoll nur bei Thermostaten mit einen Off-Modus. Da nur dann die gleiche Soll-Temperatur beim schließen des Fenster wiederhergestellt wird, die auch vor dem öffnen des Fensters vorgeherrscht hat.

Beim Erstellen der Heizpläne über die Scheduler Karte wäre noch wichtig zu erwähnen, das ihr als Entität sowohl das Heizungsthermostat wie auch den Fenster Sensor hinzufügt. Wichtig, da wir das Fenster als Bedingungen verwenden möchten, sprich der Plan soll nur dann die vorgegebene Soll- Temperatur setzen, wenn das Fenster geschlossen ist. Ebenfalls müsst ihr "Erneut prüfen wenn sich die Zustände ändern" anwählen.
Die Bedingung sorgt dafür, dass wenn das Fenster offen steht und ihr aus welchen Grund auch immer den Heizplan einschaltet, die Soll Temperatur nicht eingestellt wird. Das geschieht erst wenn das Fenster geschlossen wird.
Wichtig auch, das Ihr hier an dieser Stelle den Namen Heizplan {{raum)), also Heizplan Bad vergibt und nicht die Entität des switches ändert.

Code: Alles auswählen

type: custom:scheduler-card
include:
  - climate.heizung_bad
  - binary_sensor.fenster_bad
title: Heizplan Bad
discover_existing: false
Bildschirmfoto 2022-09-10 um 00.19.31.png

Auch wenn Ihr die Automatisierung in der Form nicht gebrauchen könnt oder anwenden wollt.
Zeigt das Bsp. wie Ihr die trigger.id und oder trigger.to_state in anderem Zusammenhang verwenden könnt.

Gruß
Osorkon

Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 336
Registriert: Do 22. Jul 2021, 16:57
1
Has thanked: 16 times
Been thanked: 6 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Friedi »

Im neuen core 2022.9.x gibt es den neuen Helfer „weekly schedule“.
Da ich derzeit im Urlaub bin, habe ich noch nicht installiert, könnte mir aber vorstellen, dass das damit auch funktioniert.

Benutzeravatar
Osorkon
Administrator
Beiträge: 871
Registriert: Sa 17. Jul 2021, 16:53
1
Wohnort: Langenargen
Has thanked: 19 times
Been thanked: 147 times
Kontaktdaten:

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Osorkon »

@Friedi der neue Helfer Scheduler ist ist was den nutzen angeht sehr ernüchternd.

Du legst einen Plan auf Wochenbasis an. Sagst zu welchen Zeiten je Wochentag diese aktiv ist. Als Ergebniss bekommst Du eine neue Entität namens schedule.plan_xyz.
Diese Entität nimmt den Zustand An oder Aus, als Attribut bekommst Du den Zeitstempel des nächsten Events.
Am besten vergleichbar mit einem Kalender. Das taugt in der Form nicht für einen Heizplan, Du kannst keine Temperaturen, Ausnahmen/ Bedingungen, etc. berücksichtigen.

Den Mehrwert des neuen Helfers, habe ich zumindest für mich noch nicht erkannt.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 336
Registriert: Do 22. Jul 2021, 16:57
1
Has thanked: 16 times
Been thanked: 6 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Friedi »

OK, danke für die Info @Osorkon.
Wieder ein Punkt weniger, den ich checken muss 😎

Benutzeravatar
TOM
Beiträge: 7
Registriert: Do 14. Apr 2022, 15:51
Has thanked: 5 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von TOM »

Danke für die Mühen.
Werde ich gleich mal checken mit den neuen zigbee Heizkörperthermostaten

Benutzeravatar
TOM
Beiträge: 7
Registriert: Do 14. Apr 2022, 15:51
Has thanked: 5 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von TOM »

Wie ist das, wenn ich noch ein Wand/Raumthermostat im Einsatz habe(n möchte)
Kann ich das als Ist-Referenz verwenden, so das nicht mehr der interne
Temperaturfühler vom Heizkörperthermostat dafür verwendet wird?

Bei mir zb im Wohnzimmer: 3 Heizkörperthermostate sollen nach Temperatur von 1 Wandthermostat
geregelt werden

Benutzeravatar
Friedi
Beiträge: 336
Registriert: Do 22. Jul 2021, 16:57
1
Has thanked: 16 times
Been thanked: 6 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Friedi »

TOM hat geschrieben: Sa 10. Sep 2022, 17:11

Wie ist das, wenn ich noch ein Wand/Raumthermostat im Einsatz habe(n möchte)
Kann ich das als Ist-Referenz verwenden, so das nicht mehr der interne
Temperaturfühler vom Heizkörperthermostat dafür verwendet wird?

Bei mir zb im Wohnzimmer: 3 Heizkörperthermostate sollen nach Temperatur von 1 Wandthermostat
geregelt werden

Klar geht das 👍

Benutzeravatar
Osorkon
Administrator
Beiträge: 871
Registriert: Sa 17. Jul 2021, 16:53
1
Wohnort: Langenargen
Has thanked: 19 times
Been thanked: 147 times
Kontaktdaten:

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Osorkon »

@Friedi für die Soll-Temperatur Vergabe, ja. Findet sich hier auch ein Bsp. Suche : Wandthermostat.

Die ist Temperatur ist eine andere Geschichte. 😉

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 336
Registriert: Do 22. Jul 2021, 16:57
1
Has thanked: 16 times
Been thanked: 6 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Friedi »

Osorkon hat geschrieben: Sa 10. Sep 2022, 17:54

@Friedi für die Soll-Temperatur Vergabe, ja. Findet sich hier auch ein Bsp. Suche : Wandthermostat.

Die ist Temperatur ist eine andere Geschichte. 😉

Gruß
Osorkon

Wem sagst du das? Ich war mal Messtechniker …
Klar, muss man testen, wann der Istwert tatsächlich auch erreicht wird. Wahrscheinlich liegt der über dem Soll durch den zeitlichen Verzug der Wärmeausbreitung.

Benutzeravatar
TOM
Beiträge: 7
Registriert: Do 14. Apr 2022, 15:51
Has thanked: 5 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von TOM »

Friedi hat geschrieben: Sa 10. Sep 2022, 17:41
TOM hat geschrieben: Sa 10. Sep 2022, 17:11

Wie ist das, wenn ich noch ein Wand/Raumthermostat im Einsatz habe(n möchte)
Kann ich das als Ist-Referenz verwenden, so das nicht mehr der interne
Temperaturfühler vom Heizkörperthermostat dafür verwendet wird?

Bei mir zb im Wohnzimmer: 3 Heizkörperthermostate sollen nach Temperatur von 1 Wandthermostat
geregelt werden

Klar geht das 👍

Wie gehst du da aber vor? Wäre sehr dankbar für die Unterstützung

Benutzeravatar
Friedi
Beiträge: 336
Registriert: Do 22. Jul 2021, 16:57
1
Has thanked: 16 times
Been thanked: 6 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Friedi »

TOM hat geschrieben: Di 13. Sep 2022, 16:56

Wie gehst du da aber vor? Wäre sehr dankbar für die Unterstützung

Prinzipiell kannst du dein zu steuerndes Thermostat so hoch stellen, wie du willst. Ich würde es mal mir +2°C über Soll stellen.Wenn dann die Solltemperatur an deinem Wandthermostat erreicht ist, schaltest du das Thermostat ab.
In der Praxis wirst du bei einer niedrigeren Temperatur abschalten müssen, da ja je nach Raumgröße ein zeitlicher Verzug vorhanden ist. Das heißt, wenn die Solltemperatur an deinem Wandthermostat erreicht wird, wird der Raum dennoch etwas wärmer. Und genau das musst du halt durch probieren ermitteln.

Benutzeravatar
TOM
Beiträge: 7
Registriert: Do 14. Apr 2022, 15:51
Has thanked: 5 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von TOM »

Ist das korrekt so, dass template anzulegen (sensors.yaml)

Code: Alles auswählen

  - platform: template
    sensors:
      to_state_name.split:
        friendly_name: "to state name split"
        icon_template: "mdi:home-automation"
        value_template: >-
          {{ trigger.to_state.name.split(' ')[1] | lower }}

Edit: sooo funktioniert das leider nicht, da habe ich wohl noch nicht ganz gecheckt, wie das mit den Templates funktioniert :shock:

Zuletzt geändert von TOM am Di 13. Sep 2022, 20:28, insgesamt 2-mal geändert.
Benutzeravatar
TOM
Beiträge: 7
Registriert: Do 14. Apr 2022, 15:51
Has thanked: 5 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von TOM »

Friedi hat geschrieben: Di 13. Sep 2022, 17:29
TOM hat geschrieben: Di 13. Sep 2022, 16:56

Wie gehst du da aber vor? Wäre sehr dankbar für die Unterstützung

Prinzipiell kannst du dein zu steuerndes Thermostat so hoch stellen, wie du willst. Ich würde es mal mir +2°C über Soll stellen.Wenn dann die Solltemperatur an deinem Wandthermostat erreicht ist, schaltest du das Thermostat ab.
In der Praxis wirst du bei einer niedrigeren Temperatur abschalten müssen, da ja je nach Raumgröße ein zeitlicher Verzug vorhanden ist. Das heißt, wenn die Solltemperatur an deinem Wandthermostat erreicht wird, wird der Raum dennoch etwas wärmer. Und genau das musst du halt durch probieren ermitteln.

Klingt einleuchtend
Wie sieht da aber so eine Automation dafür aus?

Benutzeravatar
Osorkon
Administrator
Beiträge: 871
Registriert: Sa 17. Jul 2021, 16:53
1
Wohnort: Langenargen
Has thanked: 19 times
Been thanked: 147 times
Kontaktdaten:

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Osorkon »

TOM hat geschrieben: Di 13. Sep 2022, 20:11

Ist das korrekt so, dass template anzulegen (sensors.yaml)

was versuchst du da mit dem Template Sensor zu erreichen??

Code: Alles auswählen

trigger.to_state

erfordert einen Trigger. Dieses Template kann nur innerhalb einer Automatisierung verwendet werden. Und nicht als Template Sensor?

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
TOM
Beiträge: 7
Registriert: Do 14. Apr 2022, 15:51
Has thanked: 5 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von TOM »

Osorkon hat geschrieben: Di 13. Sep 2022, 20:29
TOM hat geschrieben: Di 13. Sep 2022, 20:11

Ist das korrekt so, dass template anzulegen (sensors.yaml)

was versuchst du da mit dem Template Sensor zu erreichen??

Code: Alles auswählen

trigger.to_state

erfordert einen Trigger. Dieses Template kann nur innerhalb einer Automatisierung verwendet werden. Und nicht als Template Sensor?

Gruß
Osorkon

:shock: ja ich dachte mir schon, was ich und wie ich damit was anfangen soll.... du meinst keinen template_sensor, sondern du hast das template in der Automation integriert

Benutzeravatar
Osorkon
Administrator
Beiträge: 871
Registriert: Sa 17. Jul 2021, 16:53
1
Wohnort: Langenargen
Has thanked: 19 times
Been thanked: 147 times
Kontaktdaten:

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Osorkon »

Noch ergänzend ein Hinweis.

Entscheidend ist die richtige Benennung der Entitäten, wie bereits im Eingangsbeitrag beschrieben.
Jedoch für den Trigger, in unserem Fall das Fenster. Also der Binary Sensor. Habe ich den Friendly Namen zu Ermittlung des Raums verwendet.
Das heisst es reicht nicht aus die Entität nach diesem Schema zu benennen " binary_sensor.fenster_bad"
Sonder Der Friendly Name muss ebenfalls "Fenster Bad" lauten.
zumindest wenn ihr diese template aus dem Eingangsbeitrag verwendet.

Code: Alles auswählen

{{ trigger.to_state.name.split(' ')[1] | lower }}

Man kann natürlich auch die entity_id des Triggers verwenden, dann ist der Friendly Name nicht mehr relevant.
Dann lautet das template aber so:

Code: Alles auswählen

{{ trigger.to_state.entity_id.split('_')[2] }}

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Osorkon
Administrator
Beiträge: 871
Registriert: Sa 17. Jul 2021, 16:53
1
Wohnort: Langenargen
Has thanked: 19 times
Been thanked: 147 times
Kontaktdaten:

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Osorkon »

Um die Umlaute aus dem Friendly Namen zu entfernen, bzw. zu ersetzen.
Als Bsp.:

  • ä -> ae
  • ö -> oe
  • ü -> ue
  • ß -> ss

folgendes template verwenden.

Code: Alles auswählen

{{ trigger.to_state.name.split(' ')[1] | lower | replace("ä", "ae") | replace("ö", "oe") | replace("ü", "ue") | replace("ß", "ss") }}

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 336
Registriert: Do 22. Jul 2021, 16:57
1
Has thanked: 16 times
Been thanked: 6 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Friedi »

TOM hat geschrieben: Di 13. Sep 2022, 20:13

Klingt einleuchtend
Wie sieht da aber so eine Automation dafür aus?

Falls @Osorkon bis dahin nix postet, erinnere mich mal in ca. einer Woche.
Bin am Strand und muss den Wellen lauschen 🌊

Benutzeravatar
Osorkon
Administrator
Beiträge: 871
Registriert: Sa 17. Jul 2021, 16:53
1
Wohnort: Langenargen
Has thanked: 19 times
Been thanked: 147 times
Kontaktdaten:

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Osorkon »

@Friedi ist nicht meine Baustelle und halte auch nichts davon in das Regelverhalten der Thermostat einzugreifen.
Lasse die Thermostate das tun wozu sie bestimmt sind, nämlich auf die eingestellte Temperatur zu regeln.
Stelle die Soll-Temperatur ein und diese Heizen den Raum auf die gewünscht Temperatur auf. Gemessen am Thermostat selbst, ggf. mit einem Temperatur Offset korrigiert.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 336
Registriert: Do 22. Jul 2021, 16:57
1
Has thanked: 16 times
Been thanked: 6 times

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Friedi »

Mache ich genauso.
Es ging ja nur um die Möglichkeit …

Benutzeravatar
Osorkon
Administrator
Beiträge: 871
Registriert: Sa 17. Jul 2021, 16:53
1
Wohnort: Langenargen
Has thanked: 19 times
Been thanked: 147 times
Kontaktdaten:

Re: Heizpläne mit der Scheduler Component und Fenster offen Erkennung

Beitrag von Osorkon »

Außerdem werden diesen Winter die Heizungen auf max 17°C gestellt.
Kann es mir bei diesen Gas Preisen nicht mehr leisten. 😱
Und Kalt Duschen soll das Immunsystem stärken.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Antworten