Temperatursteuerung größer als

DayOne

New member
Hiho,

Ich komm gerade nicht klar. Ich möchte das meine Klima angeht wenn die Temperatur über 24c geht und aus wenn die Temperatur unter 21c.
So sieht es aktuell aus für das einschalten.

YAML:
alias: Klima Schlafzimmer/AN
description: ""
trigger:
  - type: temperature
    platform: device
    device_id: 6d7ade459dbfc16d77ca7748edfcd497
    entity_id: sensor.fuhler_schlafzimmer_temperature
    domain: sensor
    above: 24
condition:
  - condition: time
    weekday:
      - sun
      - sat
      - fri
      - thu
      - wed
      - tue
      - mon
    after: "21:00:00"
action:
  - type: turn_on
    device_id: bfd22027941d79b16fee72fabaf3d4fc
    entity_id: switch.klima
    domain: switch
mode: single

Mein Problem ist, wenn die Temperatur bereits über 24c ist, was sie zurzeit eigentlich immer ist startet das Programm nicht. Daher würde ich gerne >24c machen, aber das geht nicht.

Irgendwie muss ich das doch hinbekommen oder?
 
Zuletzt bearbeitet:
Du meinst also das ich zu einer festen Zeite das Programm starten lasse? Dann hab ich aber doch das Problem falls die Temperatur da schon unter 21c ist das es dann nicht ausschaltet.

Gibt's keine Möglichkeit mit größer oder kleiner zu arbeiten?
 
Du hast im Prinzip den selben Code, wie ich, aber meiner Funktioniert.
Wenn Temperatur >25 Grad UND es ist NACH 13:00 Uhr, sollen bestimmte Rolläden geschlossen werden. Macht er auch einwandfrei.
Code:
alias: Rollo schließen bei >25 Grad
description: >-
  Schließt die vorderen Rollos wenn die Temperatur über 25 Grad ist und es nach
  13 Uhr ist
trigger:
  - platform: numeric_state
    entity_id: weather.home
    attribute: temperature
    above: 25
condition:
  - condition: time
    after: "13:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
action:
  - service: cover.close_cover
    data: {}
    target:
      entity_id:
        - cover.wohnzimmer_rollo_1_curtain
        - cover.wohnzimmer_rollo_3_curtain
        - cover.buro_rollo_curtain
mode: single
Sieht nicht viel anders aus, als deiner, nur sind manche Befehle an anderer Stelle. Ich habe den Code nicht selbst geschrieben, sondern mit dem Automatisierungs Editor erstellt. Ob es da nun einen Unterschied macht, an welcher Stelle die Befehle stehen, keine Ahnung.

Das deine Schaltung nur nach 21 Uhr geht, ist Dir aber bewußt ?
Und vermutlich auch nur bis Mitternacht, danach ist ein neuer Tag.
Für das Ausschalten mußt Du auch eine zweite Routine schreiben.
 
Ja das mit dem ausschalten hab ich in einer zweiten Routine gemacht. Aber das einschalten klappt ja schon nicht.
Ab 21 Uhr ist mir bewusst.
 
Du kannst bei Automatisierung, dann deine Routine anklicken und dann rechts oben auf Abläufe klicken. Da kannst Du sehen, ob die Routine ausgelöst hat und nur das Zielgerät nicht reagiert hat oder ob die Routine gar nicht erst angesprochen hat. In letztem Fall hat der auslösende Sensor wohl nicht gearbeitet, vermute ich mal.
Oder mal auf die 3 Punkte klicken und auf Ausführen und gucken, ob es dann geht.

Leider hast Du deinen YAML Code nicht, wie es richtig wäre, als CODE eingefügt, so das man keine Leerzeichen sehen kann, die aber in YAML extrem wichtig sind.
Füge deinen YAML Code doch bitte noch einmal als YAML Code ein.
 
Hab's geändert.

Wenn ich manuell ausführe geht es. Nur es startet nicht wenn die Temperatur schon von Anfang an über 24c ist. Wenn ich Google heißt es das es normal ist. Das er nur einmal sendet von 24c auf 25c aber nicht mehr wenn du schon vorbei bist.
 
Ja, durchaus möglich. Bei mir fährt das Rollo aber auch nur zu und dann ist es gut. :D
Aber schau mal bei deiner Routine rechts oben die drei Punkte. Da kann man "Modus ändern" auswählen und dort dann zwischen "Einzeln", "Neu starten", In Warteschlange" und "Parallel" auswählen. Ich bin mir nicht sicher, wofür das wirklich ist, aber stell es mal auf "Neu starten". Meine Vermutung geht dahin, das er bei "Einzeln" die Routine eben nur einmal startet.
Bei "Neu starten" er dann vielleicht die Routine startet und danach quasi die Werte zurück setzt und nochmal startet.
Möglich, das Du dann eine Zeitverzögerung mit einbauen mußt, damit er nicht immer wieder neu startet oder, was sicher besser wäre, unter Bedingung den Status der Klimaanlage abfragen. Also nur ein Einschaltsignal senden, wenn diese aus ist.
 
Ne hab mich da wohl schlecht ausgedrückt. Wenn ich manuell einmal starte, funktioniert es die ganze. Nacht. Weil er dann immer einschaltet sobald die 24c überschritten sind und wir nach 21 Uhr haben. Nächsten Tag aber wenn es 21Uhr ist. Dann startet er nicht weil die Temperatur bereits über 24c ist. Starte ich dann wieder manuell funktioniert es wieder. Problem ist das er nur startet wenn er von 24c auf 25c geht. Ist aber bereits 25c vor 21Uhr rafft er es nicht mehr und startet gar nicht von alleine.
 
Ok, meine Rolläden Routine steht auf Modus einzeln und macht ihren Job auch jeden Tag immer wieder aufs neue, wobei bei mir das Auslösende Ereignis ">25 Grad nach 13 Uhr" ja eigentlich immer zutrifft, da es Nachts ja kälter ist.
Ich denke, Du solltest das mal mit einem anderen Modus versuchen oder eben deinen Code mal in einen CODE Block packen und hier rein setzen.
Soweit ich weißt werden bei der manuellen Auslösung ein paar Bedingungen nicht abgefragt, sondern die Routine wird ausgeführt, fertig.
Falls also doch ein Fehler im Code ist, können wir den nur so sehen.
 
CODE Block packen und hier rein setzen.
Hab ich doch oben aktualisiert.

So wie ich er Googlet habe. Gibt's nicht kleiner oder größer sondern nur dein Schaltwert wird gerade überschritten. Ist die Routine für später angesetzt wo der schaltwert bereits überschritten ist, hab ich Pech.
Kann mir aber nicht ganz erklären wieso das so ist bei Homeassistent. Bei Homematic kriege ich die Routine Problemlos zu laufen. Da wird öfter abgefragt und ist die temp dann über 24c geht die Klima an.
 
ich würde mal versuchen, trigger und condition zu tauschen. Die Uhrzeit gibt es auf jeden Fall einmal neu am Tag und dann startet die Automation. Dann erst nach der Temperatur prüfen.
 
Du brauchst einen 2. Trigger mit der Zeit.
deshalb sollst du das machen, du musst überhaupt nichts am Modus ändern. Ein Trigger ist ein Ereignis und kein Zustand. Also alle Trigger, die in Frage kommen (oder) und dann die Conditions, die du haben willst (und) -> nach 21 und zu warm.
 
deshalb sollst du das machen, du musst überhaupt nichts am Modus ändern. Ein Trigger ist ein Ereignis und kein Zustand. Also alle Trigger, die in Frage kommen (oder) und dann die Conditions, die du haben willst (und) -> nach 21 und zu warm.
Also so

Code:
alias: Klima Schlafzimmer/AN
description: ""
trigger:
  - type: temperature
    platform: device
    device_id: 6d7ade459dbfc16d77ca7748edfcd497
    entity_id: sensor.fuhler_schlafzimmer_temperature
    domain: sensor
    above: 24
  - platform: time
    at: "21:00:00"
condition:
  - condition: time
    weekday:
      - sun
      - sat
      - fri
      - thu
      - wed
      - tue
      - mon
    after: "21:00:00"
action:
  - type: turn_on
    device_id: bfd22027941d79b16fee72fabaf3d4fc
    entity_id: switch.klima
    domain: switch
mode: single


Edit: so ging sie jetzt gerade an.
Jetzt stellt sich mir die Frage allerdings ob sie auch angeht wenn es nicht über 24c ist.
 
Zuletzt bearbeitet:
Ohne HA selber zu nutzen und ich habe grade auch keins zur Hand um es nachzustellen, aber hier scheint mir die Verwendung von "Auslöser" für "Bedingungen" einfach nicht gut zu passen.

In dem Moment wo ein trigger wahr wird, werden die Bedingungen geprüft.

Wir haben also a) "Die Temperatur steigt auf über 24 Grad" mit der Bedingung "es ist nach 21 Uhr" - das KANN passen, wenn es eben nicht vorher schon wärmer war. b) "es ist genau 21 Uhr" mit der Bedingung "es ist nach 21 Uhr" - naja, nein.

Wenn b) hier also komplett rausfällt wird die Automatisierung immer dann ausgelöst, wenn die Temperatur grade auf über 24 Grad steigt, und nur dann werden die Bedingungen geprüft. Wie gesagt, kann passen, muss aber nicht, erscheint nicht sehr sinnvoll.

Sinnvoller wäre, sowohl Uhrzeit als auch Temperatur als Bedingungen zu verwenden, und sich einen anderen Trigger auszudenken, um besagte Bedingungen zu prüfen. Vielleicht alle x Minuten oder (falls das möglich ist) eine generelle Änderung der Temperatur.

Edit - sofern man fest davon ausgeht, dass es um 21 Uhr bereits so warm ist und nicht später wärmer wird, dann würde ggf. auch die Uhrzeit als Trigger ausreichen, nur darf sich "um 21 Uhr" und "nach 21 Uhr" dann halt nicht gegenseitig ausschließen.
 
Zuletzt bearbeitet:
Einfach die 2 Trigger Temperatur steigt über 24°C und Uhrzeit 21:00 Uhr ebenfalls als Bedingung verwenden.

Steigt die Temperatur über 24°C und es ist nach 21 Uhr -> Klima einschalten.
Um 21 Uhr, wenn Temperatur bereits über 24°C -> Klima einschalten.

Das Einschalten und Ausschalten lässt sich auch in eine Automatisierung packen.
Dazu wird die trigger ID verwendet in Kombination mit Auswahl als Aktion.

Eine von unzähligen Möglichkeiten.

YAML:
alias: Klima Schlafzimmer Automatic
description: ""
mode: single
trigger:
  - platform: time
    at: "21:00:00"
    id: einschalten
  - platform: numeric_state
    entity_id: sensor.fuhler_schlafzimmer_temperature
    above: 24
    id: einschalten
  - platform: numeric_state
    entity_id: sensor.fuhler_schlafzimmer_temperature
    below: 21
    id: ausschalten
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: einschalten
          - condition: numeric_state
            entity_id: sensor.fuhler_schlafzimmer_temperature
            below: 24
          - condition: state
            entity_id: switch.klima
            state: "off"
          - condition: time
            after: "21:00:00"
        sequence:
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.klima
      - conditions:
          - condition: trigger
            id: ausschalten
          - condition: state
            entity_id: switch.klima
            state: "on"
        sequence:
          - service: switch.turn_off
            data: {}
            target:
              entity_id: switch.klima


EDIT:
Wenn die Klimaanlage auch nach Mitternacht eingeschaltet werden soll.
z.B. zwischen 21 und 02 Uhr, muss die Bedingung so aussehen:

YAML:
condition: time
after: "21:00:00"
before: "02:00:00"

Nur nach 21 Uhr, bedeuten zwischen 21 und 00 Uhr.
 
Zuletzt bearbeitet:
@Giftfrosch
Wollte noch Mal Feedback geben.

So scheint es zu funktionieren. Hab jetzt noch zusätzlich die Bedingung mit dem Fenster eingepflegt. Klima Brauch ja nicht angehen wenn ich das Fenster auf habe.

Code:
alias: Klima Schlafzimmer/AN
description: ""
trigger:
  - type: temperature
    platform: device
    device_id: 6d7ade459dbfc16d77ca7748edfcd497
    entity_id: sensor.fuhler_schlafzimmer_temperature
    domain: sensor
    above: 24
  - platform: time
    at: "21:00:00"
condition:
  - condition: time
    weekday:
      - sun
      - sat
      - fri
      - thu
      - wed
      - tue
      - mon
    after: "21:00:00"
    before: "05:00:00"
  - type: is_temperature
    condition: device
    device_id: 6d7ade459dbfc16d77ca7748edfcd497
    entity_id: sensor.fuhler_schlafzimmer_temperature
    domain: sensor
    above: 24
  - type: is_not_open
    condition: device
    device_id: 59fe17ed658713b614e0c5949c1c272b
    entity_id: binary_sensor.dachboden_fenster_state
    domain: binary_sensor
action:
  - type: turn_on
    device_id: bfd22027941d79b16fee72fabaf3d4fc
    entity_id: switch.klima
    domain: switch
mode: single
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.115
Beiträge
59.424
Mitglieder
6.160
Neuestes Mitglied
gonzo12345
Zurück
Oben