Automation, die abhängig von der Raumtemperatur und Uhrzeit den IR-Heizkörper steuert

Hallo zusammen,

ich habe momentan eine Funk Termostat und Funk-Relais im Bad, welche ein IR-Heizpanel ansteuern.

Es sieht so aus:

Abhängig vom Wochentag gibt es zwei Zeitspanen (6.00-8.00 und 20.00-22.00)
wann das Thermostat das Relais aufmacht bis 24° erreicht werden, dann macht er zu.
In der Zeit zwischen diesen zwei Zeitspanen wird die Temperatur bei 20° gehalten (vermutlich wird einfach nicht geheizt).

Ich möchte gerne dieses Verhalten über HA realisieren.
Dafür habe ich mir einen Temperatursensor und ein Relais gekauft.

Für die Abfrage Arbeitstag/Wochenende/Feiertag kann ich den “Workday Sensor” nutzen.

Habt Ihr eine Idee, wie ich solch eine Automation gestalten kann? (es fängt schon damit an, dass man beim Auslöser Zeit keine Zeitspanne angeben kann, es sei denn ich habe es nicht gefunden…) Gibt es vielleicht eine passende Vorlage?

Danke und VG

Alex.

Du könntest das mit diesem Schema lösen.

trigger:
  - platform: time
    at: "20:00:00"
condition:
  - condition: time
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
    after: "20:00:00"
    before: "22:00:00"
action:
  - service: light.turn_on
    target:
      entity_id: light.dein_licht

Als Bedingung könntest du noch deinen Temposensor einbauen.

Edit: oder noch besser, du nimmst den Temperatursensor als Trigger ( <24° C) und die Zeit/Wochentag als Bedingung und schaltest das Relais der Heizung.

1 „Gefällt mir“

Dafür gibt es den Helfer - Zeitplan (Scheduler). Leg dir einen an und nimm diesen dann als Bedingung.

Und für die Heizung selber, schau dir da z.B. mal Generic Thermostat an:

Dann könntest du vielleicht sogar mit der Blueprint Advanced Heating Control arbeiten (von mir ungetestet).

1 „Gefällt mir“

@ AlSol
Also ich habe das über Scheduler gelöst, nach einem Tipp hier im Forum. Ich bin sehr zufrieden damit.
Vorschlag für eine ganz simple Heizungssteuerung gesucht - Allgemein - simon42 Community
Hier hat lars812 auch ein schönes HowTo gepostet.
Gruß Olaf

1 „Gefällt mir“

Guten Morgen Zusammen,

ich dachte mir, dass die Methode, die Max beschrieben hat für mich als HA Anfänger “einfacher” sein könnte, habe ich entschieden ihr vorerst zu folgen.

Wie in der Doku beschrieben ist, konnte ich die Intergration auf dem konventionellen Weg nicht zufügen:


image

Daraufhin habe ich den Quellcode aus der Doku in Configuration.yaml zugefügt und abgeändert.
HA neu getartet.
Leider erscheint die Integration nicht unter anderen Integrationen, wie es in der Doku beschrieben ist.


Vielleicht hat Jemand diesen Weg schon durchgemacht? Wo ist der Hacken?

Darüber hinaus.

Wie rolle ich denn danach meine Automation aus?
Helfer Zeitplan ist erstellt.

Ich verstehe nicht ganz, was der Auslöser und Aktion sein muss. (Bedingung wird wohl die Einhaltung vom Helfer Zeitplan sein.

Danke Euch schon mal

Du hast aber für das Relais eine switch-Entität (on/off) und für die Temperatur eine sensor-Entität? Zeig mal deinen Code.

Wenn der passt, solltest du eigentlich eine neue climate-Entität bekommen.

climate:
  - platform: generic_thermostat
    name: IR_Heizkörper_Bad_Keller
    heater: switch.heizkorper_bad_keller
    target_sensor: sensor.klima_bad_eg_temperature
    min_temp: 20
    max_temp: 25
    ac_mode: false
    target_temp: 17
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_hvac_mode: "off"
    away_temp: 16
    precision: 0.1    

Die Bennenung der Geräte ist nicht schlüssig, ist nur zum Testen an einer Testschaltung

habe ich auch, hatte vorhin nicht gesehen

Und damit findest du keine neue climate-Entität: climate.ir_heizkorper_bad_keller ?

Ahh okay, dein Edit hatte ich nicht gesehen. Dann passt jetzt alles @AlSol ?

doch, schon, habe editiert.

Wie kann nun die Automation aussehen?

Auslöser ist der Numerischer Zustand des Temperatursensors <24°
Bedingung Helfer Zeitplan ist “an”
Dann schalte Heizkörper ein.

Es steht aber nirgend dass die 24° in dieser Zeitspanne gehalten werden sollen, sprich, beim Erreichen 24° wieder Heizkörper ausschalten.

Und in der Zwischenzeit soll die T nicht unter 20° fallen.

Wie kann ich sinngemäß die Automation gestalten?

Hier hast du sie sogar schon in Verwendung: Vorschlag für eine ganz simple Heizungssteuerung gesucht - #8 von AlSol
:wink: :+1:

nicht ganz. Das ist die Methode aus dem Vorschlag von Olaf mit Scheduler Card und so.
Ist noch viel zu kompliziert für mich. Finde dort nicht die notwendige Bedingung

Update:

so sieht die Entität aus:


Ich hätt gesagt, im Heizbetrieb mahct er nix bis die Leerlauf T < ist als Ist Temeratur. Verändere ich die Leerlauf T > als die Ist T, klackt mein Schalter und schaltet den IR-Heizörper ein:
image

Also muss diese Entität in die Aktion, nur leide hat sie keine eindeutige ID, die wir sonst rauskopieren und in die Automation einfügen…
image

Eine Idde für die Automation Gestaltung?

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Die Entität steht doch in deinem Screenshot:
climate.ir_heizkorper_bad_keller

Versuch es doch mit dem Scheduler in deinem 2. Thread.
Ist doof, wenn wir in 2 verschiedenen Threads jetzt nach Lösungen suchen.

Leider kann man nach der Methode im anderen Thread nur nach Zeitplan aus und einschalten. Leider lässt sich da der Temperatursensor nicht einbinden.
Daher würde ich gerne bei Deiner Methode bleiben.

Bur fehlt mir die Inspiration wie ich intelligent die Automation gestalten kann.

richtig, allerdings hat sie keine ID um sie als solche in der Automation anzugeben…

Dann brauchst du ja das Generic Thermostat nicht mehr.

Trigger: Zustandsänderung des Temperatursensors

Aktion:
Option 1: Wenn Temp <24° und Zeit zw. 8 und 20 Uhr, dann switch einschalten
Option 2: Wenn Temp bspw. >26°, dann switch ausschalten

description: ""
mode: single
triggers:
  - entity_id:
      - sensor.temperatursensor
    trigger: state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor
            below: 24
          - condition: time
            after: "08:00:00"
            before: "20:00:00"
        sequence:
          - action: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: switch.heizung
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor
            above: 26
        sequence:
          - action: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: switch.heizung

Danke Maxe,

werde ich versuchen durchzuspielen, bzw. mit dem Helfer für die Zeitangabe zu verheiraten (es sei denn, Du hast was parat)

Aus reinen Neugierde, ich war schon stolz, den Generischen Thermostat eingerichtet zu haben.
Wie funktioniert er denn standardmäßig?
Da diese Entität NUIR über Yaml hergestellt werden konnte, besitzt sie keine ID, die wir sonst rauskopieren und in die Automation einfügen würden.
Ich kann sie zwar Single als Schalter (siehe Bilder davor) nutzen, aber nicht in di Automation einbauen.
Ist es richtig, oder habe ich etwas missverstanden?

Hast du es denn dann mal mit einer unique_id probiert

climate:
  - platform: generic_thermostat
    name: IR_Heizkörper_Bad_Keller
    unique_id: heizungbadkeller
    heater: switch.heizkorper_bad_keller
    target_sensor: sensor.klima_bad_eg_temperature
    min_temp: 20
    max_temp: 25
    ac_mode: false
    target_temp: 17
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_hvac_mode: "off"
    away_temp: 16
    precision: 0.1

Wie eine climate Entität.

Einfach den dann als Bedingung nehmen, anstatt der Uhrzeit.

Moin Maxe,

ich hatte zu deiner Antwort leider keine Benachrichtigung erhalten.
Sorry. Habe erst jetzt gefunden.

Ich habe nun Deinen Vorschlag Stück weit überarbeitet und meinen Zeithelfer als Bedingung mitgenommen.

Also, wenn Zeitplan an ist und T<24° ist, schaltet sich der Switch ein.
Wenn Zeitplan aus ist und T<20° ist, schaltet sich der Switch ebenfalls an.
Im Moment wird in beiden Fällen geguckt, dass T nicht >25° ist, dann geht der Switch aus.
Diese 25° Schwelle sollte nur dann gelten, wenn Zeitplan an ist, denn wenn er aus ist (also quasi Tagsüber) sollte der Switch bereits bei z.B. 22° ausgehen.

Wie kann ich diese 2 Schwellenwerte abhängig von dem Zeitplan involvieren?

alias: Dumy Heizung
description: ""
triggers:
  - entity_id:
      - sensor.temperatursensor_bad_keller_temperature
    trigger: state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor_bad_keller_temperature
            below: 24
          - condition: state
            entity_id: schedule.zeitplan_heizung_bad_keller
            state: "on"
        sequence:
          - action: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.schalter_ir_heizkorper_bad_keller
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor_bad_keller_temperature
            above: 25
        sequence:
          - action: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.schalter_ir_heizkorper_bad_keller
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor_bad_keller_temperature
            below: 20
          - condition: state
            entity_id: schedule.zeitplan_heizung_bad_keller
            state: "off"
        sequence:
          - action: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.schalter_ir_heizkorper_bad_keller
mode: single

Vielen Dank

Alex

Wenn Du den Generic Thermostat verwenden tust, schaltest Du den Switch gar nicht mehr!
Du stellst nur die Soll-Temperatur ein, den Rest erledigt das Genric Thermostat selbst.

Gruß
Osorkon

Einfach die Optionen erweitern.
In die 2. Option nimmst du noch scheduler=on mit rein und dann machst du noch ne 4. Option.

alias: Dumy Heizung
description: ""
triggers:
  - entity_id:
      - sensor.temperatursensor_bad_keller_temperature
    trigger: state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor_bad_keller_temperature
            below: 24
          - condition: state
            entity_id: schedule.zeitplan_heizung_bad_keller
            state: "on"
        sequence:
          - action: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.schalter_ir_heizkorper_bad_keller
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor_bad_keller_temperature
            above: 25
          - condition: state
            entity_id: schedule.zeitplan_heizung_bad_keller
            state: "on"
        sequence:
          - action: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.schalter_ir_heizkorper_bad_keller
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor_bad_keller_temperature
            below: 20
          - condition: state
            entity_id: schedule.zeitplan_heizung_bad_keller
            state: "off"
        sequence:
          - action: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.schalter_ir_heizkorper_bad_keller
      - conditions:
          - condition: numeric_state
            entity_id: sensor.temperatursensor_bad_keller_temperature
            above: 22
          - condition: state
            entity_id: schedule.zeitplan_heizung_bad_keller
            state: "off"
        sequence:
          - action: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.schalter_ir_heizkorper_bad_keller
mode: single
1 „Gefällt mir“

Ich verstehe immer noch nicht, wie ich diese Entität ansprechen kann.
Habe nun zwei GEneric Terostate angelegt Heizung an (Tmin=20 Tmax=25°) für den Zeithelfer “An” und Heizung aus (Tmin 20, Tmax=21°) für zeit tagsüber (Zeithelfer “AUS”).

    #####Generischer Termostat Bad Keller (Heizung AN)
climate:
  - platform: generic_thermostat
    name: IR_Heizkörper_Bad_Keller_an
    unique_id: heizungbadkeller_an
    heater: switch.schalter_ir_heizkorper_bad_keller
    target_sensor: sensor.temperatursensor_bad_keller_temperature
    min_temp: 20
    max_temp: 25
    ac_mode: false
    target_temp: 17
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_hvac_mode: "off"
    away_temp: 16
    precision: 0.1  
    
      #####Generischer Termostat Bad Keller (Heizung AUS)
    
    climate:
  - platform: generic_thermostat
    name: IR_Heizkörper_Bad_Keller_aus
    unique_id: heizungbadkeller_aus
    heater: switch.schalter_ir_heizkorper_bad_keller
    target_sensor: sensor.temperatursensor_bad_keller_temperature
    min_temp: 20
    max_temp: 21
    ac_mode: false
    target_temp: 17
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_hvac_mode: "off"
    away_temp: 16
    precision: 0.1    

Zwei Fragen,

was soll in der Automation als Auslöser dienen und Wie kann ich in der Aktion die Entität von Generic Termostat ansprechen: