Dose nach Temp und Zeit steuern

Hallo,

ich habe eine Verständnisfrage :slight_smile:
Ziel: Die Dose soll zwischen 07:00 Uhr und 22:00 Uhr unter 8c einschalten, und über 10c ausschalten.
Die Temperatursteuerung funktioniert, nur die Zeitsteuerung nicht.
Ich habe da meine Verständnisprobleme mit “vor” und “nach” u.s.w. :see_no_evil:

Hab mal meine YAML beigefügt… ist wahrscheinlich nur eine Kleinigkeit

alias: Heizung Gastherme
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.wetterstation_temperatur
condition:
  - condition: time
    after: "07:00:00"
    before: "22:00:00"
    weekday:
      - sun
      - sat
      - fri
      - thu
      - wed
      - tue
      - mon
action:
  - choose:
      - conditions:
          - type: is_temperature
            condition: device
            device_id: 2cdad04c4b33a1f4e149b9d80dddf094
            entity_id: 9f609255552ed0e3b15c6ee186672578
            domain: sensor
            above: 10
        sequence:
          - type: turn_off
            device_id: 10bdd6b9a1e6c905326b2d92457d0de1
            entity_id: 3a31a1423c559a8bec34de723e09aad7
            domain: switch
      - conditions:
          - type: is_temperature
            condition: device
            device_id: 2cdad04c4b33a1f4e149b9d80dddf094
            entity_id: 9f609255552ed0e3b15c6ee186672578
            domain: sensor
            below: 8
        sequence:
          - type: turn_on
            device_id: 10bdd6b9a1e6c905326b2d92457d0de1
            entity_id: 3a31a1423c559a8bec34de723e09aad7
            domain: switch
      - conditions:
          - condition: time
            after: "07:00:00"
            before: "22:00:00"
            weekday:
              - sun
              - sat
              - fri
              - thu
              - wed
              - tue
              - mon
        sequence:
          - type: turn_off
            device_id: 10bdd6b9a1e6c905326b2d92457d0de1
            entity_id: 3a31a1423c559a8bec34de723e09aad7
            domain: switch
mode: single

Evtl. kann mir ja jemand einen Tipp geben wo mein Denkfehler liegt…

viele Grüße

Was soll denn die letzte condition? Die bewirkt ja, dass zwischen 7 und 22 Uhr immer ausgeschaltet wird.

Hi,
dachte das muss hier nochmal eingefügt werden in der Abfrage…
Aber auch ohne diese Entscheidung funktioniert es nicht. Stimmt die obere hälfte ?

viele Grüße

Was genau funktioniert nicht? Wird nicht ausgelöst oder findet keine Aktion statt?

Ich würde die Aktion vermutlich eher mit Wenn-dann abbilden.

Irgendwie empfinde ich den Code als unnötig kompliziert. Wieso zum Beispeil schränkst Du es auf Wochentage ein, gibst dann aber alle 7 Wochentage an?

Und wenn die Temperatur der Trigger ist… Wieso verwendest Du sie nicht als Trigger und unterscheidest per ID, was getan werden soll?

Bei weniger als / unter 8 Grad soll ein und bei mehr als / über 10 Grad soll ausgeschaltet werden. Dies jedoch nur zwischen 7 Uhr und 22 Uhr, richtig?

Ich habe es mal so gebaut. Allerdings noch mit einer Auslösung um 21:59:59 Uhr, die in jedem Fall wieder ausschaltet. Denn wenn danach die Temperatur über 10 Grad steigt, wird die Heizung nach 22 Uhr dennoch nicht mehr abgeschaltet…

Die Angabe von Wochentagen habe ich weggelassen, weil Du ja ohnehin jeden Tag schaltest.

alias: Heizung Gastherme
description: ""
mode: single
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.wetterstation_temperatur
    below: 8
    id: einschalten
  - platform: numeric_state
    entity_id:
      - sensor.wetterstation_temperatur
    above: 10
    id: ausschalten
  - platform: time
    at: "21:59:59"
    id: ausschalten
condition:
  - condition: time
    after: "07:00:00"
    before: "22:00:00"
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
        sequence:
          - type: turn_on
            device_id: 10bdd6b9a1e6c905326b2d92457d0de1
            entity_id: 3a31a1423c559a8bec34de723e09aad7
            domain: switch
      - conditions:
          - condition: trigger
            id:
              - ausschalten
        sequence:
          - type: turn_off
            device_id: 10bdd6b9a1e6c905326b2d92457d0de1
            entity_id: 3a31a1423c559a8bec34de723e09aad7
            domain: switch

Ist jetzt nur eben aus dem Ärmel geschüttelt, sollte aber funktionieren, wenn ich nichts grobes übersehen habe.

Du solltest allerdings sinnvoller Weise über die Entität und nicht das Gerät / die ID schalten. Das macht es einfacher, wenn später das Gerät getauscht wird.

3 „Gefällt mir“

Es muss sich ja immer erst der Zustand von

ändern.

1 „Gefällt mir“

Was soll passieren, wenn die Temperatur bereits vor 7 Uhr unter 8 sinkt? Ich gehe mal davon aus. Der Plug soll eingeschaltet werden.

Und was soll um 22 Uhr passieren, wenn da Temperatur sich noch unter 10 befindet? Gehe mal davon aus, der Plug soll ausgeschaltet werden.

Somit wären es 4 Auslöser:

  • Uhrzeit 7 Uhr
  • Uhrzeit 22 Uhr
  • Temperatur sinkt unter 8
  • Temperatur steigt über 10

Bsp.:

alias: Heizung Gastherme
description: ""
mode: single
trigger:
  - platform: time
    at: "07:00:00"
    id: einschalten
  - platform: time
    at: "22:00:00"
    id: ausschalten
  - platform: numeric_state
    entity_id:
      - sensor.wetterstation_temperatur
    below: 8
    id: einschalten
  - platform: numeric_state
    entity_id:
      - sensor.wetterstation_temperatur
    above: 10
    id: ausschalten
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
          - condition: time
            after: "07:00:00"
            before: "22:00:00"
          - condition: numeric_state
            entity_id: sensor.wetterstation_temperatur
            below: 8
        sequence:
          - service: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: switch.xyz
      - conditions:
          - condition: trigger
            id:
              - ausschalten
        sequence:
          - service: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: switch.xyz

Gruß
Osorkon

1 „Gefällt mir“

Hallo,

ja danke erstmal, das meinte ich ja, mir fehlt momentan noch das Verständnis für den Ablauf.
Bin von Iobroker auf HA gewechselt und vermisse mein Blockly :smiling_face_with_tear:

viele Grüße

Hallo,

danke für deinen Lösungsvorschlag, damit kann ich zwei Vorschläge vergleichen und auch daraus lernen.

viele Grüße

Alles gut. Kenne Blockly nur vom sehen, weil ich ioBroker nie selbst in Betrieb hatte und würde auf den ersten Blick daran verzweifeln.

Automationen in HA sind logisch aufgebaut. Wichtig zu wissen ist, dass Trigger / Auslöser nur beim Über- oder Unterschreiten eines Wertes ausgelöst / getriggert werden. Trigger sind OR, Bedingungen sind AND.
Am Anfang habe ich auch gedacht, was es für ein Scheiß ist. Inzwischen komme ich gut damit klar.

Wenn es Dir optisch lieber ist, solltest Du Dir evtl. NodeRed ansehen. Gibt es als AddOn für HA. Es ist nicht Blockly aber auch optisch anzulegen.

Hallo,

hab das mal so in die Yaml geschrieben, somit weiss ich jetzt auch wie ich die ID´s bekomme zum auswerten :slight_smile:
Kann es sein das momentan nur in dem Moment getriggert wird in dem die Temp unter 8 oder über 10 geht?
Was passiert wenn die Temp, so wie jetzt gerade bei 4,5 - 5,6 dümpelt, löst da der Trigger aus?
Oder sollte ich da einen dritten Trigger einfügen der auf Temp. Veränderung reagiert?

Fragen über Fragen… :slight_smile:
viele Grüße

Wird dann natürlich nicht mehr ausgelöst, hatte @Osorkon schon drauf hingewiesen

und auch einen Vorschlag gepostet.

2 „Gefällt mir“

Moin,

ich habe das Bspl. von @tarag versucht, da dies für mich besser zum nachvollziehen war :slight_smile:
Leider löste es den Switch nicht aus, obwohl der Trigger auslöst…

was könnte es ein ?

viele Grüße

Da fehlt ja auch der 7 Uhr trigger.
Kannst es ja gerne mit meinem Vorschlag von oben probieren. :wink:

Gruß
Osorkon

Wird in der Trace Zeitleiste stehen…

Hi,

das hier steht in der Zeitleiste…

Fehlt dann unten in der “Entscheidung” die Zeit Entscheidung (oder wie auch immer das sich nennt :slight_smile: )

viele Grüße

Update:
Hallo,

ich hab jetzt mal als 3. Option das hier eingefügt, jetzt funktioniert es…

Stimmt es so oder geht es besser ? :slight_smile:
viele Grüße

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

Dafür ist es hilfreich die aktuelle Autorisierung zu sehen. Ich wundere mich gerade, ob ich bei der Abfrage einen Fehler eingebaut hatte.

Über die drei Punkte rechts neben den einzelnen Punkten kann man auch testen, ob die Bedingungen aktuell wahr oder unwahr ist.

Hi,

“drei Punkte neben den Punkten” phu, ich habe hier viel Punkte… sei gnädig mit mir und erklär mir was Du meinst :slight_smile:

viele Grüße

Das ist mal echt gut “versteckt”.
Danke für den Hinweis. Mal schauen, ob ich mir das merken kann. :wink:

Da hab ich als einzigstes nicht nachgesehen :see_no_evil:

@tarag

Wie gesagt momentan funktioniert es seit dem ich oben den Trigger, und unten die o.g. Option eingefügt habe.

viele Grüße

1 „Gefällt mir“