Oder Verknüpfungen greift nicht

Hi,

ich habe folgendes Programm:

alias: Lampen Garten/Vorgarten aus
description: “”
triggers:

- at: “22:30:00”
  trigger: time
- entity_id: cover.rollladen_wz_fenster
  attribute: current_position
  below: 100
  trigger: numeric_state
  conditions: [ ]
  actions:
- target:
  device_id:
  - 712d74cac7b5e0bc2996470cd091ed3a
  - b2aa7608dd9091c1fdc461807e604fd5
  - 2dc1e9c14b96db2b725287d7f0545283
  - 4d505e96ce4c3b0e47791298b9a1ff99
  - a4e35eec65249ecffd6f31cae3be61dd
  - ec60ffe447adf5f85c07c8a23ced638c
  - e934867f66d9808ad7b359d6a539be76
  - 920fc915d95d33785f0040657cfa63cc
  - ed9d47bd244c8d4544481d3bf33a5e9f
  - 1059aae94a1b368bca5423cafca5dc7c
  - cf79be0171cddbf31940a4d1977ec26e
  - b849af1968a7099d54de72c73b41d213
  action: light.turn_off
  mode: single

Die Gartenbeleuchtung soll ausgehen, wenn es entweder 22:30 Uhr ist oder der Rollladen von der Terrasse unter 100 %.

Leider greift das nicht. Ideen?

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
s.a.: (Neues Update & Features - Hier in der Community 🫶)

Welcher Trigger greift nicht, die Uhrzeit, oder der andere Trigger?

Was sagt die Trace-Timeline der Automation?

Eine ähnliche Automation sieht bei mir wie folgt aus:

description: ""
mode: single
triggers:
  - trigger: time
    at: "22:30:00"
  - trigger: numeric_state
    entity_id:
      - cover.wohnzimmer_rollo
    attribute: current_position
    below: 100
conditions: []
actions:
  - type: turn_off
    device_id: 566b28781ae0f07e11487be9b60e1d8d
    entity_id: 1015076fb03306e8f723dfcd7dc253f0
    domain: switch

Hast du vielleicht falsch eingerückt (Leerzeichen)?

Ich würde ja vermuten das

triggers:
  - at: "22:30:00"
    trigger: time

nicht unbedingt identisch ist mit

trigger:
  - trigger: time
    at: "22:30:00"

Irgendwas stimmt mit der Uhrzeit nicht

1 „Gefällt mir“

Hi,

die Option mit dem Rollladen greift nicht.Ich habe es aber meine ich gefunden:Ich habe noch eine “Ein” Automation. Die so aussieht:

alias: Lampen Garten/Vorgarten eindescription: “”triggers:
  type: illuminancedevice_id: 7401994beda5bedddf0eb2a69ad0b6a7entity_id: dc99aefb23803b0a6e31c1ba07bde7c1domain: sensortrigger: devicebelow: 10conditions:
  condition: numeric_stateentity_id: sensor.sonnensensor_luxbelow: 10
  condition: numeric_stateentity_id: cover.rollladen_wz_fensterattribute: current_positionabove: 99actions:
  target:device_id:- 712d74cac7b5e0bc2996470cd091ed3a- b2aa7608dd9091c1fdc461807e604fd5- 2dc1e9c14b96db2b725287d7f0545283- 4d505e96ce4c3b0e47791298b9a1ff99- a4e35eec65249ecffd6f31cae3be61dd- ec60ffe447adf5f85c07c8a23ced638c- e934867f66d9808ad7b359d6a539be76- 920fc915d95d33785f0040657cfa63cc- ed9d47bd244c8d4544481d3bf33a5e9f- 1059aae94a1b368bca5423cafca5dc7c- cf79be0171cddbf31940a4d1977ec26e- b849af1968a7099d54de72c73b41d213action: light.turn_onmode: single

Kann es sein das diese die Lampen wieder einschaltet? Gestern um kurz nach 20 Uhr hat das “Aus” ja anscheinend gegriffen.

Den Code im Post oben müsstest du nochmal bearbeiten, da hat was beim einfügen nicht geklappt

Zu deine ursprünglichen Frage: Könntest du mal versuchen, die Condition oben von “below: 100” auf “below: 99” zu ändern?

Weil wirklich unter 100 ist der Rollo ja nie :blush:

1 „Gefällt mir“

Das war auch meine Annahme, aber dann habe ich festgestellt, dass 100% offen bedeutet. Wenn das Rollo dann geschlossen wird, geht der Wert auch auf < 100 :wink:

1 „Gefällt mir“

Du kannst ja in den Logbuch der Lampen sehen durch wen oder was sie ein bzw. ausgeschaltet werden. Findest du bei Geräte-Info der jeweiligen Lampen.

Wenn ich deine Ein-Automation richtig verstehe, dann schaltet die ja in Abhängigkeit der Helligkeit die Lampen ein. Das aber auch nur wenn der Wert unterschritten wird. Ist der Grenzwert bereits unterschritten wenn die Aus-Automation greift, dann sollte die Ein-Automation nichts mehr machen.

Ich teste das mal.

Noch eine Verständnisfrage: Bei der Homematic kann man Bedingungen in drei Arten Abfragen:

bei Änderung auslösen

Im Beispiel ist „bei Änderung“ ausgewählt. Die CCU meint damit aber nicht etwa die Änderung der Temperatur, sondern nur die Änderung der Bedingung: Bei 20,0°C ist die Bedingung nicht erfüllt, bei 20,1°C ist sie erfüllt. Das Programm wird nur ausgeführt, wenn die Temperatur auf 20,1°C steigt.

Steigt sie weiter, ist die Bedingung weiter erfüllt – das Programm wird nicht ausgeführt.

Sinkt sie wieder auf 20°C oder weniger, ist das zwar eine Änderung – aber die Bedingung ist nicht mehr erfüllt, also wird das Programm auch nicht ausgeführt.

Erst wenn die Temperatur danach wieder steigt, kommt es zur Programmausführung.

bei Aktualisierung auslösen

Die Programmausführung erfolgt hier immer, wenn die Bedingung erfüllt ist – nicht nur dann, wenn sie vorher nicht erfüllt war.

Sendet der Raumthermostat 20,1°C, wird das Programm ausgeführt.

Aktualisiert er auf einen beliebigen Wert von 20,1°C oder mehr, wird das Programm ebenfalls ausgeführt – also beim Raumthermostat alle 2-3 Minuten.

Sinkt die Temperatur auf 20,0°C oder weniger, wird das Programm nicht mehr ausgeführt, weil die Bedingung nicht erfüllt ist.

nur prüfen

Diese Option dient dazu, eine Bedingung zu prüfen, ohne dass der entsprechende Kanal das Programm selbst auslöst. Für dieses einfache Programm macht das erst mal keinen Sinn – es würde niemals aufgrund einer Bedingung ausgeführt.

Gibt es sowas auch bei HA? Bei meinem Rollladen Gartenlampen Programm wäre das hilfreich.

Die Bedingungen/Trigger in HA werden nach dem “bei Änderung auslösen” Prinzip verarbeitet. D.h. die Bedingung ist erfüllt wenn der eingestellte Grenzwert gerissen wird und bleibt erfüllt bis der Wert nicht mehr ober/unterhalb des Grenzwertes ist.
Trigger werden einmalig ausgelöst wenn der Grenzwert über/unterschritten wird.

description: ""
mode: single
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.badezimmer_dach_wandthermostat_temperature
    above: 20
conditions: []
actions: []

Bei Aktualisierung auslösen kannst du dir ebenfalls in der Automation einrichten in dem du beim Trigger einfach den Zustand überwachst. D.h. die Automation startet jedes mal wenn sich der Triggerwert verändert. In der Bedingung kannst du dann den Grenzwert definieren. In deinem Beispiel würde die Autmation jedes mal starten wenn sich die Temperatur ändert und über 20°C ist.

description: ""
mode: single
triggers:
  - trigger: state
    entity_id:
      - sensor.badezimmer_dach_wandthermostat_temperature
conditions:
  - condition: numeric_state
    entity_id: sensor.badezimmer_dach_wandthermostat_temperature
    above: 20
actions: []
1 „Gefällt mir“