Ich versuche dir mein System zu erklären, beschreibe dir die notwendigen Schritte und stelle dir die Codes zur Verfügung.
Das Endergebnis ist diese Automation. Die Automation stösst dann die eigentliche Automation für die Storenansteuerung an. Dies hat den Vorteil, dass ich den Sonnenschutz auch händisch auslösen kann:
alias: Storen Sonnenschutz aktivieren
trigger:
- platform: numeric_state
entity_id: sun.sun
above: 120
attribute: azimuth
id: Azimut
- platform: numeric_state
entity_id: sensor.temperatur_wohnung
for:
hours: 0
minutes: 15
seconds: 0
above: 26
id: Temperatur Wohnung
condition:
- condition: or
conditions:
- condition: and
conditions:
- condition: numeric_state
entity_id: sun.sun
attribute: azimuth
above: 120
below: 180
- condition: state
entity_id: binary_sensor.prufung_heute_sonnig_oder_teilweise_bewolkt
state: "on"
- condition: numeric_state
entity_id: sensor.forecast_temperatur_high
above: 25
- condition: or
conditions:
- condition: trigger
id: Azimut
alias: Prüft den Azimut-Wert mit der Wetterlage
- condition: and
conditions:
- condition: numeric_state
entity_id: sun.sun
attribute: azimuth
above: 120
below: 180
- condition: state
entity_id: binary_sensor.prufung_heute_sonnig_oder_teilweise_bewolkt
state: "on"
- condition: trigger
id: Temperatur Wohnung
alias: >-
Bedingung, wenn die Wohnung zu warm wird, aber der Wert
Aussentemperatur erreicht wurde
action:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.storen_sonnenschutz
mode: single
Kurz zur Erklärung:
Ich habe zwei Auslöser definiert, einmal den Sonnenstand, also ab wann die ersten Sonnenstrahlen durch die Fenster scheinen, und einmal, wenn die Innentemperatur in der Wohnung einen bestimmten Schwellenwert überschreitet. Bei mir ist das, wenn der Wert länger als 15min bei 26°C liegt. Es gibt verschiedene Online-Tools, mit denen man den Azimut für die eigene Wohnung/Haus berechnen kann. In meinem Fall ist der Wert über 120° und unter 180° (Eigentumswohnung Ostseite).
Als Bedingung definiere ich meinen Azimutbereich. Diesen brauche ich nur für den Temperatur-Trigger. Dann brauche ich einen Sensor, der die Tageshöchsttemperatur misst. Wenn der Wert über 25°C liegt, ist die Bedingung erfüllt. Und der letzte Sensor prüft die Wettervorhersage für den Tag. Wird sonnig oder teilweise bewölkt gemeldet, ist die Bedingung erfüllt.
Die Aktion aktiviert dann den Helfer, der die eigentliche Sonnenschutzautomation auslöst. Du kannst hier aber auch direkt deine Automation hinzufügen. Der Vorteil meiner Lösung ist, dass ich im Dahsboard sehe, ob der Sonnenschutz aktiviert wurde und dies auch manuell übersteuern kann.
So viel zur Automation. Nun zu den Sensoren.
Tageshöchstwertsensor:
Zunächst wird eine Wetterintegration benötigt, die eine Vorhersage für den aktuellen Tag liefert. Die vorinstallierte Integration von Met.no kann das nicht. Ich benutze Accu Weather. Um das nutzen zu können, brauchst du einen API-Key. Den bekommst du kostenlos. Die Anleitung findest du hier.
![image](https://community.simon42.com/uploads/default/original/2X/7/7cd21caff25835c766ead607aa4f0cb6388a80a9.png)
Du musst die grünmarkierten Werte auslesen. Hier ist der Code dazu:
template:
- sensor:
#Exktraktion heutige Höchsttemperatur
- name: "Weather Temperature High Today"
unique_id: fotecast_temphigh_today
unit_of_measurement: '°C'
state: >
{{ state_attr('weather.accu_weather', 'forecast') [0] ['temperature'] }}
- binary_sensor:
#Exktraktion heutige Wetterlage
- name: "Weather Prüfung Heute Sonnig oder teilweise Bewölkt"
unique_id: fotecast_condition_today_sunny_partlycloudy
state: >
{{ state_attr('weather.accu_weather', 'forecast')[0]['condition'] in ['sunny', 'partlycloudy'] }}
Wenn die Entität nicht weather.accu_weather
ist, muss der richtige Name eingegeben werden.
Das Ergebnis sind zwei Sensoren, ein normaler Sensor und ein binärer Sensor.
Der Code muss in die configuration.yaml eingetragen werden. Gehe zu Entwicklerwerkzeuge → YAML → Überprüfen und neu starten und klicke auf Konfiguration prüfen. Wenn keine Fehlermeldung erscheint, klicke auf Neustart.
Den Code meiner eigentlichen Automation füge ich nicht ein, da dieser sehr umfangreich ist. Die Automation prüft in der Aktion, ob z.B. mein Kleiner schläft, damit die Jalousien nicht angesteuert werden oder ob die Balkontüren offen sind. Nicht, dass wir draußen sitzen und die Jalousien runtergehen.
Ich habe auch eine Automation erstellt, die bei aktiviertem Sonnenschutzmodus die Storen öffnet, wenn man z.B. die Balkontüre öffnet, bzw. wieder schliesst, wenn man die Balkontüre wieder schliesst. Dazu braucht es aber Fenster-/Türsensoren.
Hilft dir das weiter?