Thermostatsteuerung über Fensterkontakt

Moin Community,

ich bin ganz neue hier und hätte da mal ne richtige Noob-Frage an euch.
Habe erst vor kurzem mit HA angefangen und bin dabei meine ersten Automationen zu erstellen.

Zu meiner Situation, ich betreibe neben HA noch einen Bosch SHC an welchen meine Twinguards, Tür- und Fensterkontakte sowie eine Steckdose angeschlossen sind.
Auzßerdem besitze ich eine Gasheizung mit Easycontrol (CT200) an welche meine Heizkörperthermostate gekoppelt sind. Ich kann mir vorstellen dass das viele von euch bei weitem nicht optimal finden aber wie gesagt, ich fange grade erst an.

Da Bosch es anscheinend witzig fand keine Schnittstelle zwischen SHC und Easycontrol anzubieten würde ich nun gern über HA eine Automation erstellen die, wenn der entsprechende Fensterkontakt geöffnet wird, die Temperatur am Thermostat auf die minimaltemperatur (5°C) setzt oder das ventil komplett schließt und wenn das Fenster wieder geschlossen wird wieder auf den in der Easycontrol app eingestellten Zeitplan zurückschaltet als wäre nichts gewesen.

Kann ja nich so schwierig sein dachte ich mir… leider bin ich anscheinend zu blöd :sob:

Was ich bis jetzt gemacht/geschafft habe:
-HA installieren :rofl:
-HACS installieren
-Bosch SHC integration installieren und Geräte einbinden
-Bosch thermostat integration installieren und easycontroll sowie Thermostate einbinden

Was ich versucht habe:
-better Thermostat
-erstellung einer eigenen Automatisierung

Ich wäre euch super dankbar wenn sich eventuell jemand erbarmen könnte mir zu helfen und den Einstieg zu erleichtern…

Danke schon mal im Voraus…

Hier mal meinen Automatisierung zum Thema Fenster offen → Heizung aus und umgekehrt.

alias: Büro - Heizung - Fenster
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.fenster_buro
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition:
  - condition: state
    entity_id: input_boolean.heizsaison
    state: "on"
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: binary_sensor.fenster_buro
            state: "on"
          - condition: not
            conditions:
              - condition: state
                entity_id: climate.heizung_buro
                attribute: hvac_modes
                state: "off"
        sequence:
          - service: climate.set_hvac_mode
            target:
              entity_id:
                - climate.heizung_buro
            data:
              hvac_mode: "off"
      - conditions:
          - condition: state
            entity_id: binary_sensor.fenster_buro
            state: "off"
        sequence:
          - service: climate.set_hvac_mode
            target:
              entity_id:
                - climate.heizung_buro
            data:
              hvac_mode: heat
    default: []
mode: single

Gruß
Osorkon

2 „Gefällt mir“

Hallo Osorkon,

vielen Dank erstmal, ich werde mich jetzt erstmal damit beschäftigen das alles zu verstehen, da merkt man erstmal wie komplex das alles ist… im Moment verstehe ich nämlich nur Bahnhof :see_no_evil:

Was für Thermostate benutzt du? Ich bin mir nämlich nicht sicher ob ich den hvac_mode “off” nutzen kann, so weit ich das verstanden habe können die Bosch Thermostate nur auf eine Minimaltemperatur von 5°c eingestellt werden :thinking:

Hast du eventuell noch Tipps zum Verständnis der Automation für mich?

Sry, ich sag ja, ich bin nen absoluter noob :see_no_evil::see_no_evil::see_no_evil:

Ich danke dir schon mal im Voraus und werde dich auf jeden Fall auf dem laufenden halten wie ich voran komme :blush:

Grüße, Marshall

Bei mir gibt Z-Wave den Ton an. Dementsprechend sind bei mir Z-Wave Thermostate im Einsatz.

  • Spirit von Eurotronic
  • Heat Controller von Fibaro

Zur Automatisierung selbst.

Als Auslöser dient der Zustand des Fenster Sensors. Also egal ob zu offen oder geschlossen.
Ändert sich der Zustand für eine Minute, wird die Automatisierung ausgelöst.

Als globale Bedingung, nur wenn Heiz-Session aktiv. Das ist bei mir ein input Boolean Helfer.

Als Aktion, dann eine Auswahl.
Option 1:
Wenn Fenster geöffnet und das Thermostat nicht bereits im Modus Off. Dann Thermostat in denn Modus off schalten.

Option 2:
Wenn Fenster geschlossen, dann Thermostat in den Modus Heat schalten.

Gruß
Osorkon

1 „Gefällt mir“

Bei mir hat Folgendes, in Verbindung mit Homematic-Heizkörperthermostate und Aqara-ZigBee-Fenstersensoren sehr gut funktioniert. Die Thermostate werden bei offenen Fenstern auf 5°C gestellt und nach dem Schließen auf die vorher eingestellte Temperatur zurückgestellt. Diese Steuerung ist noch ausbaufähig. Es könnte zB. die Außentemperatur bzw. die Heizsaison als Bedingung eingefügt werden. Allerdings ist es für die Ventile von Vorteil, wenn sie öfter mal bewegt werden.
Tipp: Um Doppelflügelfenster mit nur einem Sensor zu überwachen, habe ich den Sensor auf den linken und den Magneten auf den rechten Fensterflügel geklebt.
Dann ist es egal, welche Fensterseite man öffnet, außer man bringt beide in Kippstellung. Aber wahrscheinlich kommt irgendwann jeder auf diese Idee, um einen Sensor einzusparen.

alias: Schlafzimmer Fenster --> Ventilsteuerung mit AQARA-Kontakt
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.schlafzimmer_fensterkontakt_contact
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 5
condition: []
action:
  - service: scene.create
    data:
      scene_id: schlafzimmer_snapshot
      snapshot_entities:
        - climate.schlafzimmer
  - service: climate.set_temperature
    data:
      temperature: 5
    entity_id: climate.schlafzimmer
  - wait_for_trigger:
      - platform: state
        entity_id:
          - binary_sensor.schlafzimmer_fensterkontakt_contact
        to: "off"
        for:
          hours: 0
          minutes: 0
          seconds: 5
  - scene: scene.schlafzimmer_snapshot
mode: restart

Das kann auch im visuellen Editor dargestellt werden:

Außerdem habe ich für die Fenster noch eine kleine Automation entworfen, welche bei Öffnungszeiten von mehr als 30Min. und Außentemperaturen unter 15°C eine Nachricht an mein Handy sendet.

Ergänzung zur Handynachricht.
Manchmal hat es länger gedauert, bis die Nachricht auf dem Handy ankommt.
Mit folgendem Eintrag kann das priorisiert werden.

Gruß
Schorsch

1 „Gefällt mir“

Hi Schorsch. Deine Automation ist wirklich top. Ich habe die für meine Fenstersensoren übernommen (AVM Fritz und Aquara Fenstersensoren).
Funktioniert einwandfrei, vielen Dank dafür!
Gruß
AndiFidi

1 „Gefällt mir“

Würde nicht mit wait for trigger arbeiten.

Sollte nach dem Du das Fenster geöffnet hast, Home Assistant einen Neustart machen. Wird die Automatisierung abgebrochen. Wird nach dem Home Assistant wieder online ist, das Fenster wider geschlossen, bleibt die Bude kalt.

Gruß
Osorkon

1 „Gefällt mir“

@Osorkon : Da hast Du Recht, aber diese Automation ist besser als das was ich vorher hatte. Also für den Moment (ist ja meistens so) für mich optimal :slight_smile:

1 „Gefällt mir“

Da hast Du die Automatisierung von oben ohne “wait for trigger”

alias: Schlafzimmer Fenster --> Ventilsteuerung mit AQARA-Kontakt
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.schlafzimmer_fensterkontakt_contact
    to: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 5
    id: fenster_offen
  - platform: state
    entity_id:
      - binary_sensor.schlafzimmer_fensterkontakt_contact
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 5
    id: fenster_geschlossen
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - fenster_offen
        sequence:
          - service: scene.create
            data:
              scene_id: schlafzimmer_snapshot
              snapshot_entities:
                - climate.schlafzimmer
          - service: climate.set_temperature
            data:
              temperature: 5
            entity_id: climate.schlafzimmer
      - conditions:
          - condition: trigger
            id:
              - fenster_geschlossen
        sequence:
          - scene: scene.schlafzimmer_snapshot
mode: restart

Wobei ich sehe gerade, das hier mit Snapshot Szenen gearbeitet wird, soweit ich weiss überleben diese einen Home Assistant Neustart auch nicht.

Wenn das Thermostat einen OFF-Modus hat, würde ich diesen verwenden, wenn das Fenster geöffnet wurde. Und zurück in den Heat Modus wechseln, beim schließen des Fensters.

Das hätte den weiteren Vorteil, dass während das Fenster Offen ist und eine neue Soll Temperatur vom Heizplan empfangen wird, das Thermostat nicht anfängt zu heizen. Und erst beim Wechsel in den Heat Modus die neue Soll Temperatur greift.
So verhalten sich zumindest meine Thermostate.

Gruß
Osorkon

1 „Gefällt mir“

Kann vielleicht noch einen kleinen Tipp zur Steuerung geben.
Folgenden Ablauf hab ich bei mir umgesetzt.

Fenster auf → Regelung auf Frostschutz
Fenster zu → warte 5min → Regelung auf Solltemperatur

Hat folgenden Hintergrund:
Da ich das Fenster komplett öffne zum Lüften, kühlt die Raumluft zügig ab und der Temperatursensor fällt unter die Solltemperatur bei Anwesenheit. Nach dem schließen des Fenster, würde die Regelung versuchen wieder auf die Solltemperatur zügig hoch zu regeln und würde somit Heizen. Da aber die Wände wärme an die Raumluft abgeben, komme ich generell meistens innerhalb der 5min wieder annähernd auf die Solltemperatur, muss somit weniger zuheizen.

1 „Gefällt mir“

Ich habe es so in der Art aufgebaut

description: ""
mode: single
trigger:
  - platform: state
    entity_id:
      - binary_sensor.buero_fenster_contact
    from: "off"
    to: "on"
    for:
      hours: 0
      minutes: 1
      seconds: 30
    id: fenster-buero-auf
  - platform: state
    entity_id:
      - binary_sensor.buero_fenster_contact
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 5
      seconds: 0
    id: fenster-buero-zu
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: fenster-buero-auf
        sequence:
          - service: automation.turn_off
            data:
              stop_actions: true
            target:
              entity_id: automation.climate_buero
          - service: climate.set_temperature
            data:
              temperature: 5
            target:
              entity_id: climate.heizung_buero
      - conditions:
          - condition: trigger
            id: fenster-buero-zu
        sequence:
          - service: automation.turn_on
            data: {}
            target:
              entity_id: automation.climate_buero

Als Aktionen kannst du nehmen was du willst.

1 „Gefällt mir“

Also Leute, ihr seid echt der Hammer!!!

Vielen Dank für die vielen Antworten und die Geduld mit mir :see_no_evil:
Ich hab jetzt die Version von Schorsch nachgebaut, mit dem visuellen Editor war das sogar relativ einfach, selbst für jemanden der nich wirklich Ahnung hat wie mich^^

Testlauf ist durch und es schaut so aus als hätte es geklappt :heart:
Da ich natürlich versuche auch zu verstehen was ich da grade gebaut habe nochmal ne richtig blöde frage von mir… sehe ich das richtig, dass ich mit “scene.create” die momentanen Einstellungen speichere und dann wieder lade wenn das fenster geschlossen wird?

Ich haue nochmal meine YAML und nen screenshot an, vllt fällt euch ja auf dass ich doch noch nen fehler drin habe :see_no_evil: :see_no_evil: :see_no_evil:

Grüße

alias: Fenster Schlafzimmer
description: ""
trigger:
  - type: opened
    platform: device
    device_id: b641f09b31e48aae5e5e0fff892457fc
    entity_id: 91e27869f31b6ffc586c437ed9a89145
    domain: binary_sensor
condition: []
action:
  - service: scene.create
    metadata: {}
    data:
      scene_id: schlafzimmer_snapshot
      snapshot_entities:
        - climate.schlafzimmer
  - service: climate.set_temperature
    metadata: {}
    data:
      temperature: 5
    target:
      area_id: schlafzimmer
      device_id: 976a53be0ac5c083c840a486dfc13177
      entity_id: climate.schlafzimmer
  - wait_for_trigger:
      - type: not_opened
        platform: device
        device_id: b641f09b31e48aae5e5e0fff892457fc
        entity_id: 91e27869f31b6ffc586c437ed9a89145
        domain: binary_sensor
  - service: scene.turn_on
    metadata: {}
    target:
      entity_id: scene.schlafzimmer_snapshot
mode: restart

1 „Gefällt mir“

Ja genau so ist es :+1:

Ich persönlich würde beim Trigger immer mit Zustand anstelle von Gerät arbeiten. Hatte ich auch in meinem Code so.

1 „Gefällt mir“

Ok, dann versuch ich das mal, magst du mir vielleicht erklären warum lieber der zustand?

Vielleicht beugt das ja zukünftigen Fehlern vor :joy:

Grüße

Wenn du ein Gerät als Trigger nimmst und dieses mal kaputt geht oder ausgetauscht werden soll, musst du deine Automationen alle ändern (da sie an die device_id geknüpft sind) .

Bei Entitäten brauchst du das neue Gerät nur wieder wie das alte benennen und alle Entitäten bleiben gleich.

2 „Gefällt mir“

Hallo Osorkon,
sehr scharfsinnig analysiert. Du hast natürlich Recht. Habe es durchgespielt und es ist so, wie du es vorhergesagt hast.

Hallo Leute,
ich bin beeindruckt, was man hier lernen kann und wie gut das Feedback ist.
Ich werde meine Automationen nach den obigen Tipps und Beispielen umbauen, um alle Eventualitäten, wie z.B. Neustart, zu berücksichtigen.
Es ist auch so, dass ich, was Automationen und Code entwerfen angeht, nicht die hellste Kerze auf der Torte bin. Aber mit Hilfe der Community bleibt die Motivation erhalten und geht nicht im Frust unter. :muscle:

Ahhhh klar, das ergibt natürlich Sinn :sweat_smile:
Danke dir!!!
Dann werd ich das mal noch ändern und dann auch alle anderen Räume fertig machen :joy::joy::joy:

Hallo zusammen,
mittlerweile habe ich mich mit Node-Red angefreundet. Ich realisiere alle Automationen damit. Einer von vielen charmanten Vorteilen an Node-Red ist z.B., dass dort erstellte Scenen alle Eventualitäten überleben, da die Scene in einer Datei gesichert ist und z.B. bei einem Neustart wieder geladen wird. Da ich “nur” den Homematic-Accesspoint habe und keine CCU, steht mir, soweit ich es weiß, die Funktion climate-off nicht zur Verfügung, aber in Node-Red in Verbindung mit der Scenen-Erstellung klappt es ganz gut, die Soll-Temperaturen bei offenen Fenstern herunter zu fahren und nach dem Schließen wiederherzustellen. Ich habe auch schon viele Beleuchtungsaufgaben damit gelöst. Das macht ähnlich viel Spass, wie früher mit LEGO zu spielen.
Die Scenen-Erstellung in Node-Red hat mir auch bei einigen Benachrichtigungs- und Alarmautomatisierungen geholfen. Damit “missbrauche” ich diverse Leuchtmittel zur Signalisierung von Zu- oder Missständen, indem ich die Helligkeit und/oder Farbe, in Verbindung mit Blinken des Leuchtmittels verändere und nach dem Alarm den alten Zustan wiederherstelle. In Verbindung mit entsprechenden Sparachansagen über ALEXA, ist das sehr effektiv. Das habe ich z.B. mit meinen ZigBee-Rauchmeldern, dem Katzenmelder an der Haustür und dem Trockenlaufschutz der Pool-Umwälzpumpe verwendet.

Mahlzeit,
ich hab hier mal mitgelesen aber komm noch nicht ganz klar. Ich hab das so gemacht und den “wait for it” weggelassen aber funktioniert mein yaml so?

alias: Fenster Schlafzimmer
description: ""
mode: restart
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.fenster_schlafzimmer
    from: "off"
    to: "on"
conditions: []
actions:
  - metadata: {}
    data:
      scene_id: schlafzimmer_snapshot
      snapshot_entities:
        - climate.heizung_schlafzimmer
    action: scene.create
  - metadata: {}
    data:
      hvac_mode: "off"
    action: climate.set_temperature
    target:
      area_id: schlafzimmer
      device_id: f410dfdeed65da96a15de853bd1ecf37
      entity_id: climate.heizung_schlafzimmer
  - metadata: {}
    target:
      entity_id: scene.schlafzimmer_snapshot
    action: scene.turn_on
    data: {}