Seite 1 von 1

Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Sa 18. Jun 2022, 21:22
von Osorkon
Eine relativ einfache Automatisierung für die morgendliche Routine.
Bei Sonnenaufgang sollen alle Rollläden hochfahren, jedoch nicht vor 7 Uhr.

Zum einem habe ich alle Rollläden in einen Gruppe gepackt, so brauche ich nur die Gruppe ansprechen und nicht die einzelnen Rollläden.
Aus Auslöser dient einmal der Sonnenaufgang und die Uhrzeit 7 Uhr.

Als Bedingung nach 7 Uhr und Sonne über den Horizont.

Ist der Sonnenaufgang vor 7 Uhr ist die Bedingung 7 Uhr nicht erfüllt und der Auslöser um 7 Uhr öffnen dann die Rollläden.
Ist der Sonnenaufgang nach 7 Uhr ist die Bedingung Sonne über den Horizont nicht erfüllt und die Rollläden gehen erst bei Sonnenaufgang hoch.

Code: Alles auswählen

alias: Rollläden morgens hoch fahren
description: ''
mode: single
trigger:
  - platform: state
    entity_id:
      - sun.sun
    to: above_horizon
  - platform: time
    at: '07:00:01'
condition:
  - condition: time
    after: '07:00:00'
  - condition: state
    entity_id: sun.sun
    state: above_horizon
action:
  - service: cover.open_cover
    data: {}
    target:
      entity_id: group.rollladen_alle
Gruß
Osorkon

Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: So 19. Jun 2022, 16:38
von bellini
Klasse! Ich hatte das bei mir in 2 Automationen gepackt... Danke für die Anregung.

Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Di 7. Feb 2023, 18:09
von Snowrisk

Kann ich das auch mit einem Trigger für 7Uhr machen? Ist doch das gleiche, oder?
Also z.B.:

Code: Alles auswählen

alias: Rollläden morgens hoch fahren
description: ""
trigger:
  - platform: state
    entity_id:
      - sun.sun
    to: above_horizon
  - platform: time
    at: "07:00:01"
    id: 7Uhr
condition:
  - condition: trigger
    id: 7Uhr
  - condition: state
    entity_id: sun.sun
    state: above_horizon
action:
  - service: cover.open_cover
    data: {}
    target:
      entity_id: group.rollladen_alle
mode: single

Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Di 7. Feb 2023, 19:12
von Osorkon

Nicht ganz! Da Du anstatt die Bedienung nach 7 Uhr die Trigger ID 7Uhr verwenden tust. Werden im Falle, dass der Sonnenaufgang nach 7 Uhr stattfindet, Deine Rollläden nicht hochgefahren. Da die Bedingung Trigger ID 7 Uhr nicht zutrifft. Zu dem Zeitpunkt hat ja der Trigger Sonnenaufgang Deine Automatisierung ausgelöst.

Oder anders formuliert. Deine Automatisierung löst nur um 7 Uhr aus, wenn die Sonnen bereits aufgegangen ist.

Gruß
Osorkon


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Di 7. Feb 2023, 19:18
von Snowrisk

Ok, verstanden.
Danke!


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 19. Jul 2023, 09:53
von HA_2023

Hallo,
ich bin neu und habe den Unterschied zwischen Auslöser (trigger) und Bedingung (condition) noch nicht ganz verstanden.
Zu den Code von Osorkon:
Die Bedingung ist klar -> "nach 7 Uhr, und die Sonne muss aufgegangen sein" (das war ja auch das Ziel).

Aber warum muss unter "trigger" ein zweites Mal auf den Sonnenaufgang hingewiesen werden?
Und "trigger .... at: '07:00:01'" verstehe ich so: die Automation wird innerhalb von 24h nur ein einziges Mal, nämlich genau um '07:00:01' ausgelöst.
Das würde wiederum bedeuten, dass alles was nach '07:00:01' kommt, nicht mehr von Relevanz ist.


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 19. Jul 2023, 10:31
von carsten_h
HA_2023 hat geschrieben: Mi 19. Jul 2023, 09:53

habe den Unterschied zwischen Auslöser (trigger) und Bedingung (condition) noch nicht ganz verstanden.

Es ist ganz einfach. Eine Automatisierung wird durch einen Auslöser gestartet. Es können auch mehrere sein, die völlig unterschiedlich sind wie hier ein Ereignis wie der Sonnenaufgang und eine Uhrzeit wie 7 Uhr.

Jetzt kann man noch Bedingungen einbauen wie z.B. daß die Automatisierung nur Montags-Freitags laufen soll. Dann würde die Automatisierung zwar ausgelöst, aber am Sonnabend wieder abgebrochen.

HA_2023 hat geschrieben: Mi 19. Jul 2023, 09:53

Aber warum muss unter "trigger" ein zweites Mal auf den Sonnenaufgang hingewiesen werden?

Im Trigger wird nicht ein "zweites" Mal darauf hingewiesen. Durch einen Trigger wird die Automatisierung erst ausgelöst. Was da in den Bedingungen steht, ist erst einmal völlig egal, das kommt erst im zweiten Schritt. Also eine Automatisierung muß immer erst einen Auslöser haben und kann dann etwas machen.

HA_2023 hat geschrieben: Mi 19. Jul 2023, 09:53

Das würde wiederum bedeuten, dass alles was nach '07:00:01' kommt, nicht mehr von Relevanz ist.

Doch, nämlich wenn der Sonnenaufgang nach 7 Uhr liegt. Dann würde die Automatisierung durch den Sonnenaufgang als Auslöser gestartet und durch die Bedingung, daß der Sonnenaufgang stattgefunden haben muß auch durchlaufen. Deswegen muß als Bedingung auch "after" 7 Uhr sehen, damit eben genau dann die Automatisierung durchläuft.


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 19. Jul 2023, 10:50
von HA_2023

ok, bleiben wir zunächst mal beim Thema "Trigger":
Eine Automatisierung wird durch einen Auslöser gestartet - das habe ich auch so verstanden.
Nun stehen bei "trigger" aber zwei Zustände:

Code: Alles auswählen

trigger:
  - platform: state
    entity_id:
      - sun.sun
    to: above_horizon
  - platform: time
    at: '07:00:01'

Meine Interpretation: "die Automation wird um 07:00:01 gestartet ("trigger: ... at: '07:00:01"), aber gleichzeitig muss auch die Sonne schon aufgegangen sein ("trigger: ... to: above_horizon). Ich verstehe das als UND-Verknüpfung.


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 19. Jul 2023, 11:00
von carsten_h
HA_2023 hat geschrieben: Mi 19. Jul 2023, 10:50

Ich verstehe das als UND-Verknüpfung.

Nein, Auslöser werden IMMER "oder" verknüpft. Jeder aufgeführte Auslöser löst die Automatisierung aus.

Bedingungen sind standardmäßig "und" verknüpft, aber man kann sie auch mit "oder" verknüpfen.

Hier sind die offiziellen Beschreibungen dazu, in denen das gut erklärt ist:
Auslöser: https://www.home-assistant.io/docs/automation/trigger/
Bedingungen: https://www.home-assistant.io/docs/auto ... condition/


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 19. Jul 2023, 13:46
von Volker

@Osorkon Ich kämpfe auch gerade mit einer (scheinbar) einfachen Automatisierung.....

ich möchte eine Nofification bekommen die Klimaanlage (von Hand) einzuschalten, wenn die Temperatur in dem Raum über 23 Grad steigt.
Das macht aber erst ab einer bestimmten Uhrzeit Sinn (z.B. 9:00 Uhr)

Letzte Nacht wurde die Temperatur aber schon um 1.00 nachts erreicht - die Notifikation wurde ausgelöst... aber da hab ich natürlich geschlafen.

Mir ist jetzt nicht ganz klar ob die Temperaturänderung auf >24° oder die Uhrzeit (zwischen 9:00 und Sonnenuntergang) der Trigger oder die Bedingung ist.
Bekomme ich das über das UI hin oder muss ich YAML nutzen?


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 19. Jul 2023, 15:08
von Osorkon

Auslöser:
Temperatur steigt über x
und einen 2 Auslöser um 9 Uhr

Als Bedingung Temperatur > x und Zeit nach 9 Uhr und vor x Uhr

Ist die Temperatur bereits vor 9 Uhr über x, bekommst du die Benachrichtigung um 9 Uhr.
Steigt die Temperatur während der Zeit zwischen 9 Uhr und x Uhr, bekommst Du die Benachrichtigung zu diesem Zeitpunkt.

Gruß
Osorkon


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 19. Jul 2023, 16:18
von Volker

Das ließ sich problemlos im ui realisieren - ich muß mich nur noch mehr mit der Logik der Automatisierung in HA auseinandersetzen.
Danke, dass du mir auf die Sprünge geholfen hast. Bin echt froh hier in diese Forum gelandet zu sein und das du uns alle so gut unterstützt.


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 19. Jul 2023, 20:45
von Osorkon

Hallo @HA_2023 und Herzlich Willkommen bei den SmartHome for Dummies! :D :D

Carsten_h hat ja schon auf Deine Fragen geantwortet. :D

Ergänzend kannst Du Dir noch Automatisierungen, Skripte und Szenen und wie unterscheiden sie sich. anschauen.

Wenn noch weitere Verständnisfragen da sind, nur her damit. :D

Gruß
Osorkon


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Sa 29. Jul 2023, 07:17
von HA_2023

Guten Morgen,
den Code von Osorkon habe ich inzwischen in meinem HA übernommen.
Die Automatisierung "Rollläden morgens hoch fahren" funktioniert auch wunderbar, das Gegenstück dazu ("Rollläden abends runter fahren") jedoch nicht. Und ich weiß nicht warum.

Code: Alles auswählen

- id: '1689745571756'
  alias: Rollläden morgens hoch fahren
  description: ''
  trigger:
  - platform: state
    entity_id:
    - sun.sun
    to: above_horizon
  - platform: time
    at: 06:00:01
  condition:
  - condition: time
    after: 06:00:00
  - condition: sun
    after: sunrise
  action:
  - service: cover.open_cover
    data: {}
    target:
      entity_id: cover.alle_rollos
  mode: single

Code: Alles auswählen

- id: '1690390287917'
  alias: Rollläden abends runter fahren
  description: ''
  trigger:
  - platform: state
    entity_id:
    - sun.sun
    to: below_horizon
  - platform: time
    at: '20:00:01'
  condition:
  - condition: time
    after: '20:00:00'
  - condition: sun
    after: sunset
    after_offset: +00:30:00
  action:
  - service: cover.close_cover
    data: {}
    target:
      entity_id: cover.alle_rollos_ohne_fenster1
  mode: single

Hat jemand eine Idee?
Im Internet habe ich mehrere Code-Beispiele gesehen, wo die Zeitangabe "after_offset" in Anführungszeichen stand. Also z.B. so:

Code: Alles auswählen

after_offset: "+00:30:00"

In meinen Codezeilen, die ich nicht manuell über den Editor/YAML konfiguriert habe sondern über das Frontend, ist die Zeitangabe ohne Anführungszeichen (im Frontend werden an dieser Stelle auch keine Anführungszeichen akzeptiert).

Warum funktioniert die Automatisierung " Rollläden abends runter fahren" nicht? Liegt der Fehler vielleicht wo anders?


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Sa 29. Jul 2023, 08:54
von Osorkon

Liegt daran, dass die Bedingung „30 min nach Sonnenuntergang“ nicht erfüllt ist. Nicht um 20:01 und auch nicht, wenn die Sonnen unter dem Horizont verschwindet.

Deine Trigger und Bedingungen passen nicht zusammen.
Ersetze den trigger „Sonne below_horizon“ gegen „ 30min nach Sonnenuntergang“

Gehe davon aus, das die Aufgabenstellung lautet.

Fahre die Rollläden 30 min nach Sonnenuntergang herunter, jedoch nicht vor 20 Uhr.

Gruß
Osorkon


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Sa 29. Jul 2023, 13:31
von HA_2023

Danke für den Tipp!
Das Problem ist nur, dass man unter "Auslöser" keinen Versatz eintragen kann:

ausloeser.jpg
ausloeser.jpg (44.71 KiB) 2042 mal betrachtet

Dieses Feld "Versatz" existiert nur unter Bedingungen:

bedingung.jpg
bedingung.jpg (37.92 KiB) 2042 mal betrachtet

Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Sa 29. Jul 2023, 16:39
von Osorkon

Nimm bitte als Auslöser Sonne und nicht Zustand.
Dann kannst Du einen Versatz verwenden.

Bei Zustand, wäre es Für: 30 min ;)

Auslöser Sonne.png
Auslöser Sonne.png (28.2 KiB) 2033 mal betrachtet

Gruß
Osorkon


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Di 26. Dez 2023, 21:27
von LotharF

Moin, ersteinmal vielen Dank für die tollen Denkanstöße hier.
Hab das ganze in meinen HomeAssi übernommen und es läuft super.
Nun ist es aber so, das meine bessere Hälfte die Uhrzeit gerne ab und zu angepasst hätte. Dafür habe ich mir nun schon einen Helfer für eine Uhrzeiteingabe (zeit_rollos_auf) eingebaut, den ich auch auf dem Dashboard einstellen kann. Den Code habe ich entsprechend angepasst:

Code: Alles auswählen

alias: Alle Rollos AUF (Zeiteingabe)
description: Bei Sonnenaufgang aber nicht vor X Uhr
trigger:
  - platform: state
    entity_id:
      - sun.sun
    to: above_horizon
  - platform: time
    at: input_datetime.zeit_rollos_auf
condition:
  - condition: time
    after: input_datetime.zeit_rollos_auf
  - condition: state
    entity_id: sun.sun
    state: above_horizon
action:
  - service: cover.open_cover
    data: {}
    target:
      entity_id: cover.alle_rollos
  - service: notify.telegram
    data:
      message: Alle Rollos AUF
mode: single

Der Eintrag unter "at" beim "trigger" ist soweit OK.
Nur muss der Eintrag unter "after" bei "condition" ja diese Uhrzeit minus eine Sekunde oder mehr haben.
So funktioniert meine Eingabe (noch) nicht. Daher die Frage hier an die Fachleute: Wie kann ich von diesem Eintrag automatisch eine Sekunde abziehen (oder für die "zu" Funktion zuzählen) ?

Gruß
Lothar


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Fr 29. Dez 2023, 14:36
von Osorkon

Hallo @LotharF das sollte kein Problem dar stellen.

Egal ob einen feste Uhrzeit oder die Uhrzeit per Helfer (input_datetime) vorgegeben. Verhält sich identisch.
Wenn der Auslöser 07:00 Uhr lautet. Ist die Bedingung nach 7 Uhr immer erfüllt. Auch wenn es nur wenige ms sind.

Wenn Deinen Automatisierung zur vorgeben Zeit nicht auslöst, dann nicht wegen der Bedingung Uhrzeit.

Code: Alles auswählen

  - condition: time
    after: input_datetime.zeit_rollos_auf

Sondern, weil die Sonnen sich noch nicht über dem Horizont befindet, also die 2 Bedingung in Deiner Automatisierung.

Schaue Dir mal bitte die Abläufe der Automatisierung an, diese können sehr aufschlussreich sein, wenn mal einen Automatisierung nicht das macht was man sich so vorstellt.

Gruß
Osorkon


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Di 2. Apr 2024, 21:48
von Nexo

Guten Abend,

bei mir scheint es noch nicht zu klappen.

Bei mir sollen die Rolladen entweder beim Sonnenuntergang oder spätestens um 19:25 Uhr runter fahren.

Code: Alles auswählen

alias: Rolladen runter
description: ""
trigger:
  - platform: time
    at: "19:43:01"
  - platform: sun
    event: sunset
    offset: 0
condition:
  - condition: time
    after: "19:43:00"
  - condition: state
    entity_id: sun.sun
    state: below_horizon
action:

Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 3. Apr 2024, 11:48
von Osorkon
Nexo hat geschrieben: Di 2. Apr 2024, 21:48

Bei mir sollen die Rolladen entweder beim Sonnenuntergang oder spätestens um 19:25 Uhr runter fahren.

Trigger ist aber 19:43:01 und nicht 19:25?!

Du brauchst dazu keine Bedingungen berücksichtigen, einfach:

Code: Alles auswählen

trigger:
  - platform: time
    at: "19:25:00"
  - platform: sun
    event: sunset
    offset: 0

Der Rollladen fährt immer um 19:25 herunter, außer der Sonnenuntergang ist vor 19:25 Uhr, dann fährt der Rolllalden zum Sonnenuntergang herunter.

Gruß
Osorkon


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Mi 3. Apr 2024, 20:15
von Nexo

Super.
Vielen Dank. Das funktioniert.


Re: Rollläden bei Sonnenaufgang hoch fahren - jedoch nicht vor 7 Uhr

Verfasst: Do 4. Apr 2024, 07:14
von fisch

Kann nur diesen blueprint empfehlen !!! Genial….

https://my.home-assistant.io/create-lin ... ation.yaml