Rolladensteuerung im Sommer anders als im Winter

Hi,
ich möchte gerne meinen Rolladen automatisiert steuern. Mein Shelly funktioniert und über den Winter habe ich als Trigger für die Automatisierung “20 Minuten vor Sonnenaufgang” eingestellt.
Jetzt möchte ich aber zusätzlich, dass der Rolladen nicht früher als 07:00 Uhr hochgeht.
Wenn also die Sonne um 08:00 Uhr aufgeht, dann soll der Rolladen um 07:40 aufgehen (das funktioniert bis jetzt).
Wenn aber die Sonne um 06:30 Uhr aufgeht, dann soll der Rolladen um 07:00 Uhr aufgehen.

Kann mir jemand helfen, wie ich das automatisiere? Mit zwei Automatisierungen, die dann einmal den Sonnenaufgang auswerten und zusätzlich die Uhrzeit als Bedingung hat und einer zweiten Automatisierung, die den Status des Rolladens und die Uhrzeit hat?

Eine Automatisierung

Zwei Trigger verwenden:
1: Es ist 20min vor Sonnenaufgang
2: Es ist 7 Uhr

Zwei Bedingungen verwenden.
1: es ist 20min vor Sonnenaufgang (oder später)
2: es ist nach 7 Uhr

Aktion: Rolladen öffnen

Hier ein Beispiel mit meinen Licht beim Fernseher:

1 „Gefällt mir“

Ich würde das in eine Automation packen und eine Verzweigung einbauchen. Als Bedingung dann den Monat ergänzen. Ich muss aber heute mal zu Hause schauen, wenn hier die Mitglieder nicht schneller sind :wink:

Evtl. am Wochenende auch anders, oder stehst du da auch zeitig auf?

1 „Gefällt mir“

Danke schon mal für die Rückmeldungen. Ich habe jetzt folgende Automatisierung eingerichtet:

alias: AZ Rolladen hoch
triggers:
  - trigger: sun
    event: sunrise
    offset: "-00:20:00"
  - trigger: time
    at: "07:00:00"
conditions:
  - condition: state
    entity_id: input_boolean.vacation
    state: "off"
  - condition: and
    conditions:
      - condition: sun
        before: sunrise
        before_offset: "-20"
      - condition: time
        before: "07:00:00"
actions:
  - device_id: 6097448eb6013dd88365d77e95049a49
    domain: cover
    entity_id: 94fe4d8fc6c3fcb8c2885bdff1f3de99
    type: open
mode: single

Mal schauen, ob es in den kommenden Tagen funktioniert.

Also im Sommer wird der Solarüberschuss, denn ich nicht für den Pufferspeicher benötige, über einen Wärmetauscher mit angeschlossener Poolpumpe geleitet. Die Pumpe geht nur von Juni - August “ins Rennen”.

Vielleicht dir das auch bei der Rollosteuerung über die Monate?

- conditions:
          - condition: and
            conditions:
              - condition: template
                value_template: "{{ now().month >= 6 and now().month <=8 }}"

Du könntest ja auch verschiedene Trigger nehmen und mit Trigger IDs versehen und dann mit der Auswahl (Option) arbeiten. Als Beispiel.

Ich habe mir einen Template-Helfer “Sommer” angelegt, den ich in meinen Automatisierungen verwende. Damit kann ich das auf Tage genau festlegen.
Im Bsp vom 16. Mai bis 1.Okt.
{{ (5, 15) < (now().month, now().day) < (9, 31) }}

Nochmals Danke an Osorkon, der mir bei dem Template geholfen hatte.

Ja, Möglichkeiten gibt es viele. Es ging vorerst nur um Sommer und Winter bzw. Sommer und den Rest. :wink: Der Rest wird ja vom Sonnenaufgang “abgefangen”.

Das finde ich spannend, da ich damit bspw. die Heizungsautomatisierungen steuern kann, so dass im Sommer die Automatisierungen überhaupt nicht ausgeführt werden (auch wenn ich die Heizung selbst ausgeschaltet habe).
Wie legst Du denn solch einen Helfer an? Also was für einen Typ?

An wen ging die Frage mit dem Helfer? Wenn an mich? Gar nicht: Du kannst einfach in der Automatisch bei Bedingung ein Template wählen. :wink: Fertig.

Zu spät gesehen → @miami war gemeint. :wink:

Geräte → Helfer → Helfer anlegen → Template → Template Schalter

@miami → korrekt?

2 „Gefällt mir“

Einstellungen > Geräte&Dienste > Helfer > + Helfer erstellen > Template > Template für einen Binärsensor erstellen
Dort einen Namen eingeben und das Template rein kopieren, fertig.

1 „Gefällt mir“

:+1: okay, dann so. Danke dir.

Ich hatte das Template zunächst direkt in Bedingungen meiner Automatisierungen verwendet. Dann habe ich aber auf den Helfer umgestellt, weil ich dann nur an einer Stelle meine Jahreszeitdefinition anpassen muss.

Gebe ich dir recht, aber sooft wirst du die Definition ja nicht ändern, oder? :wink: Ich habe mein Template in einer Automation. Wenn du das natürlich in 3 oder mehr Automationen brauchst, oder immer wieder anpasst, dann gebe ich dir recht, dann ist ein Helfer einfacher.

Es gibt aber auch einfach die Jahreszeit-Integration. Nur Auswählen ob meteorologisch oder kalendarisch und fertig.

1 „Gefällt mir“

@Ronny1978: 13 mal steht binary_sensor.sommer im meiner automations.yaml.
Habe ich quasi in jeder Automation für Rolläden und Heizung verwendet.

1 „Gefällt mir“

Ich bin bei dem Thema noch nicht weiter. Das mit dem Template für “Es ist Sommer” lasse ich erstmal weg und fokussiere auf die Rolladensteuerung.
Derzeit funktioniert obiger Automatisierungscode leider nicht, wie gewünscht.
Mein Ziel:
“Wenn Urlaubsmodus aus ist UND ( (Sonnenaufgang - 20 Minuten) > 07:00 Uhr ODER Es ist 07:00 Uhr) DANN machen den Rolladen hoch.”

Meine Trigger sind:

  1. Sonnenaufgang - 20
  2. Uhrzeit ist 07:00 Uhr

Aber wie bilde ich jetzt den Term “Sonnenaufgang - 20 Minuten > 07:00 Uhr” in meinen Bedingungen ab?

@Ronny1978 , @miami Eine Idee?

Hallo @olafkoe ,

ich glaube du verrennst dich in den Auslösern. ICH würde es wie folgend lösen:

Auslöser 1 → Sonnenaufgang (Trigger ID Sonnenaufgang)
Auslöser 2 → 08.00 Uhr (TRIGGER ID Wochenende)
Auslöser 3 → 07.00 Uhr (TRIGGER ID Woche)

Bedingungen (hier) leer lassen.

Aktionen
→ mit der Auslöseauswahl arbeiten
→ Option 1
Bedingung 1 → ausgelöst durch Sonnenaufgang (ggf. noch Versatz mit +xx Minuten)
Bedingung 2 → Monat ist kleiner 5 und größer 8
Bedingung 3 → Urlaubsmodus ist aus
Bedingung 4 → Rollo ist geschlossen
Aktion → Rollos öffnen

→ Option 2
Bedingung 1 → ausgelöst durch Woche
Bedingung 2 → Rollo ist geschlossen
Bedingung 3 → Urlaubsmodus ist aus
Aktion → Rollos öffnen

→ Option 3
Bedingung 1 → ausgelöst durch Wochenende
Bedingung 2 → Rollo ist geschlossen
Bedingung 3 → Workday ist aus
Aktion → Rollos öffnen

Ich habe mit Sicherheit noch was vergessen, aber so könnest du vielleicht anfangen. Beim Sonnenaufgang hast du, bei Rollos, immer die Schwierigkeiten, dass die Sonne irgendwann so zeitig aufgeht, dass du mit den 20 Minuten nicht mehr richtig hinkommst. Entweder vielleicht generell mit Zeiten arbeiten oder wie schon vorgeschlagen mit der Jahreszeitintegration.

Danke für die Infos.

Auslöser gibt es genau zwei:

  1. Uhrzeit = 7:00 Uhr
  2. Sonnenaufgang - 20 Minuten später als 07:00 Uhr.

Bedingung ist dann eigentlich nur, dass der Urlaubsmodus aus ist.

Wenn dann einer der beiden Auslöser greift und der Urlaubsmodus aus ist, soll das Rollo geöffnet werden (an jedem Tag, also unabhängig von Wochenende).

Die Frage ist halt weiterhin, wie ich das "Sonnenaufgang - 20 Minuten > 07:00 Uhr” entweder in einer Bedingung oder im Trigger abbilde?

Kommando zurück… ich hatte mich vertan.
@maxe ist hier besser wie ich, aber

{{ (as_timestamp(state_attr('sun.sun', 'next_rising')) + 20) | timestamp_custom('%H:%M') > ('07:00') }}

brachte bei mir “FALSE” weil eben vor 7 Uhr. Vielleicht lässt sich damit arbeiten?

Im Trigger eine Bedingung einbauen ist schwierig, geht vermutlich nur mit Template.

Aber ich denke so sollte es funktionieren:

und als YAML-Code:

description: ""
mode: single
triggers:
  - trigger: sun
    event: sunrise
    offset: "- 00:20:00"
  - trigger: time
    at: "07:00:00"
conditions:
  - condition: time
    after: "06:59:00"
  - condition: state
    entity_id: binary_sensor.urlaub
    state: "off"
    alias: Wenn Urlaubsmodus aus ist
actions:
  - action: cover.open_cover
    metadata: {}
    data: {}
    target:
      entity_id: cover.schlafzimmerrolladen