2 Thermos mit 2 Fenstersensoren steuern

Hallo zusammen,
ich bin neu bei HA und versuche mich jetzt seit ca. 2 Wochen in die Thematik einzuarbeiten. Ich habe schon für einige Räume (1 Thermostat+1 Fenstersensor) kleine Automationen geschrieben, die auch wunderbar funktionieren. Sobald das Fenster aufgeht, geht die Heizung aus. Wenn das Fenster wieder geschlossen wird, wird das Thernostat auf die vorherige Temp vor dem Öffnen gesetzt. Umgesetzt mit snapshot.

Jetzt habe ich mein Wohnzimmer, welches gleichzeitig auch Esszimmer ist. Hier habe ich 2 Thermos und 2 Fenstersensoren. Ich bin seit mehreren Tagen am Versuchen das ganze auch für diese umzusetzen, scheitere aber immer wieder.

Idee:
Sobald eines der beiden Fenster aufgeht, werden die Zustände beider Thermostate in einer Szene gespeichert und danach ausgeschaltet. Sobald beide Fenster wieder zu sind, wird die zuvor gespeicherte Szene aufgerufen und aktiviert, sodass die Thermos wieder auf den Zustand vor dem Öffnen zurückgesetzt werden. Problem ist hier, dass die gespeicherte Szene nicht durch das öffnen des 2. Fensters überschrieben werden darf, das sonst der zustand “Heizung aus” gespeichert wird.

Ich kriege das ganze leider nicht zum Laufen. Ausschalten beider geht, aber irgendwas ist dann beim Speichern/Aufrufen des gespeicherten Zustand nicht richtig. Die Thermos bleiben aus.

EVE Thermos und Fenstersensoren über Matter ingegriert.

Kann mir bitte jemand weiterhelfen.

alias: Fenster-Thermostat-Steuerung
description: ""
triggers:
  - entity_id:
      - binary_sensor.eve_door_20ebn9901_door_4
      - binary_sensor.eve_door_20ebn9901_door_6
    to: "on"
    trigger: state
    for:
      hours: 0
      minutes: 0
      seconds: 0
  - entity_id:
      - binary_sensor.eve_door_20ebn9901_door_4
      - binary_sensor.eve_door_20ebn9901_door_6
    to: "off"
    trigger: state
    for:
      hours: 0
      minutes: 0
      seconds: 0
conditions: []
actions:
  - choose:
      - conditions:
          - condition: template
            value_template: >
              {{ is_state('binary_sensor.eve_door_20ebn9901_door_4', 'on') or
              is_state('binary_sensor.eve_door_20ebn9901_door_6', 'on') }}
          - condition: template
            value_template: |
              {{ not is_state('scene.thermostat_restore', 'scened') }}
        sequence:
          - data:
              scene_id: thermostat_restore
              snapshot_entities:
                - climate.eve_thermo_20ebp1701_4
                - climate.eve_thermo_20ebp1701_6
            action: scene.create
          - target:
              entity_id:
                - climate.eve_thermo_20ebp1701_4
                - climate.eve_thermo_20ebp1701_6
            data:
              hvac_mode: "off"
            action: climate.set_hvac_mode
      - conditions:
          - condition: state
            entity_id: binary_sensor.eve_door_20ebn9901_door_4
            state: "off"
            for:
              hours: 0
              minutes: 0
              seconds: 0
          - condition: state
            entity_id: binary_sensor.eve_door_20ebn9901_door_6
            state: "off"
            for:
              hours: 0
              minutes: 0
              seconds: 0
        sequence:
          - target:
              entity_id: scene.thermostat_restore
            action: scene.turn_on
            data: {}
mode: single

VG

Schau dir mal Better Thermostat an. Funktioniert hier schon lange einwandfrei.

danke für den Tipp, das hatte ich auch schon probiert, allerdings hat das mit dem externen Sensor nicht so gut funktioniert und ich wollte das erstmal “simpel” halten, und später das tuning noch machen.

Hi,

Wie wäre es, wenn du einen Helfer erstellst, welcher beim öffnen des ersten Fensters auslöst. Das 2. Fenster würde dann nicht mehr triggern (den Helfer natürlich in die automation mit einbinden und abfragen).

Also beide Thermostate und Fenstersensoren in einem Raum?

Wäre auch so mein Ansatz. Thermostate in einer Gruppe zusammenfassen, Fenstersensoren in einen Helper und den Rest BTT machen lassen.

Gruß

Die beiden Thermos/Sensoren sind in 2 verschiedenen Räumen. Da aber der Durchbruch zum WZ offen ist, sollen beide angesteuert werden. Den Ansatz von dem Helfer hab ich noch nicht ganz durchdrungen. Könnt ihr in meinem Code sehen, woran es vllt liegen könnte, dass es nicht klappt? Verträgt sich vllt create.scene mit irgendwas nicht?
Bei einem Therom+1Sensor klappt es wunderbar.

Leider konnte ich das Problem bis dato noch nicht lösen und so langsam steht die dunkle Jahreszeit wieder vor der Tür, daher würde ich das ganze gerne nochmal angehen.

Nochmal genaue Beschreibung:
Es befinden sich 2 Thermostate in 2 Räumen (also ein Thermo pro Zimmer (Wohnzimmer, Esszimmer). beide Räume haben einen Durchbruch und somit ist es quasi ein großer Raum. In WZ und EZ befindet sich jeweils ein Fenster mit Fensterkontakt.
Ich möchte nun, dass sobald sich einer der beiden Fenster öffnet, beide Thermos ausgehen und sobald beide Fenster wieder zu sind auch beide Theroms wieder auf die zuvor eingetsellte Temp hochfahren.

Hat jemand hier noch eine Idee?

Was hast Du denn in den letzten 9 Monaten getan, um Deine Anforderungen umzusetzen? Mehr als nur abzuwarten?

Mein Zielvorschlag, lerne wie man den Helfertyp input_number ausliest und beschreibt. Und dann wie oben gesagt beide Fenstersensoren in eine Gruppe und die Status Änderungen triggern. Und dann lege Deinen Entwurf hier vor und sage woran es scheitert.

EDIT
Von BT halte ich auch nicht viel weil hier im Forum zu oft negativ berichtet wurde. Ich selbst steuere alle Räume auch “manuell” mit Automatisationen.

Nutzt du Klimasensoren, um die Innenraumtemperatur zu nutzen oder nutzt du die Temperatur vom TRV?

Ich habe das ganze versucht via Status des hvac_mode zu machen, mit dem Speichern des Zustands und erneuten Laden dieses scene.turn_on und mit Helfer hatte ich auch schon mal probiert. Aber da weiß ich nicht mehr, wie weit ich da kam.

Was ist die Idee dahinter, dass ich den Workflow verstehe, dann würde ch den Ansatz nochmal verfolgen. Soweit ich verstehe, sollte ich beide Thermos Gruppieren, dass dies sozusagen als eins angeziegt wird. Wo kommt nun der Zustand des Thermos vor Öffnen des Fensters zum Tragen, irgendwie muss der ja gemerkt werden und dann wieder abgerufen werden?

Beides. Ich habe in den meisten Räumen 1-3 Geräte, die auch Temperatur anbieten. Meist “eiche” ich diese mit einem Referenzthermometer bevor ich sie in Betrieb nehme. Dann bilde ich einen Template Sensor und lasse den Durchschnitt errechnen - Aquara Temp Sensoren lasse ich sogar 2 x im Durchschnitt eingehen weil die sich am “genauesten” erwiesen haben. In allen Automatisationen arbeite ich dann mit dem Durchschnitt.

  • Trigger 1: Zustand der Gruppe geht von AUS zu AN (eines der Fenster wurde geöffnet) (*) → die momentan eingestellte Thermostat Temperatur wird in den input_number Helfer gespeichert UND ich setzte die Solltemperatur um 5 Grad herunter (sodaß die Heizung nicht anspringt)
  • Trigger 2: Zustand der Gruppe geht von AN zu AUS (beide Fenster wurden geschlossen) → die Temperatur aus dem Helfer wird ausgelesen und die Soll Temperatur am Thermostat gesetzt.

(*) Ich würde hier im Trigger immer mit einer Zeit arbeiten wie für 1 min um kurzfristiges Auf/zu abzufangen.

Was Du wissen mußt:

  • Wie lese ich die eingestellte Solltemp des Thermostats aus?
  • Wie schreibe ich einen Wert in den input_number?
  • Wie lese input_number aus?
  • Wie setzte ich den Wert aus input_number als Solltemperatur?

Wenn Du diese Bausteine beherrscht, wird alles in einer Automatisation zusammengesetzt.

gut, danke schön. Da bin ich jetzt dran.

Bzgl derGruppierung der beiden Thermostate: Das ist auch ein Helfer - Gruppe (Sensor), korrekt? Dann wähle ich hier die beiden Entitäen aus mit der Temperatur?

Ich werde das so einmal probieren. In Zukunft wollte ich noch in diesem Raum ein ext. Thermostat im Raum benutzen, das dann nicht die Temp am Gerät als Sollwert genommen wird, sondern am ext. Gerät. Aber das kommt später, wenn das andere einmal läuft

Helfer → Gruppe → Binärsensoren-Gruppe
und dann die Fenster einfügen wie
binary_sensor.aqara_fenstersensor_mitte_schlaf_links_contact

Nicht die Temperaturen sondern die Fenster würde ich in eine Gruppe legen. Du willst doch wissen, wann mindestens 1 Fenster von den beiden auf ist.

Gute Idee, eines nach dem anderen.

Ahhh, okay das hatte ich auch letztes jahr einmal versucht. Habe nochmal von 0 probiert und ich denke ich habe es mit deinen Hinweisen hinbekommen. Werde das Verhalten jetzt in der nächsten Zeit nochmal überprüfen/beobachten, ob es immer klappt. Danke soweit :slight_smile:

Nun würde ich mit noch weiter dran setzen. Ich habe einen EVE Thermo Control, der ext. Temperatur im Raum misst und gleichzeitig ist es hier möglich die Soll Temperatur an dieser Stelle hoch und runter zu schalten. Hast du hier Ansätze, wie ich den zusätzlich einbauen könnte? Da fehlts mir gerade dran, da ich zum einen die Temp als Solltemp nehmen möchte, und zum anderen über das Gerät diese steuern möchte.

Ist der in HA eingebunden und welche Entities werden geliefert?

Hi,
ja das ganze habe ich schon in HA eingebunden und folgende Entities stehen zur Verfügung. Denke Temp ist die interessante.

Interessant, danke.

Was mich wundert ist, daß Temperatur und andere Sensoren unknown/unavailable sind. Damit läßt sich schlecht arbeiten.

Läßt sich hier eine relevante Aktion ausführen und bewirkt diese auch etwas?

mich wundert auch, dass die identifiezieren Sachen sogar 2x da sind.

wobei bei den Entitien auch bei einem parr eine Fehlermeldung steht. Weiß nicht waarum es den doppelt gibt. Temp wird jetzt vernünftig angeziegt. Ist die aktuelle Raumtemp. Die war vorhin unknown, da die Batterie des Geräts leer war.

Und Ausführen geht identifizieren nicht, da es dies nicht zur Auswahl gibt

Ok, die kannst Du dann alternativ zur Temp. am Thermostat verwenden.

Bist Du hier mittlerweile fit?
Ohne wirst Du mit einer Heizungsautomation nicht weit kommen.

Fit würde ich das nicht nennen, verstehe aber wie das funktioniert und versuche dann eine Lösung zu finden :slight_smile: hat beim ersten Problem funktioniert mit Wert schreiben in Helfer und dann wieder auslesen.