Es kann sinnvoll sein, gewisse Automatisierungen nur auszuführen, wenn die Sonne aktuell einen gewissen Sonnenstand hat. Ein konkretes Beispiel hierfür ist wohl der von mir so oft erwähnte Sonnenschutz durch die Rollläden:
Wenn es am aktuellen Tag wärmer als 23 Grad (oder jede beliebige andere Tempertur) werden soll, sollen die Rollläden zu 60% geschlossen werden, sobald die Sonne auf diese scheint. Hierfür benötigt man den aktuellen Sonnenstand, welcher in Home Assistant zur Verfügung gestellt wird.
Konkret rede ich hier vom Azimuth. Ja, ganz streng genommen reicht der Azimuth alleine nicht aus, da dieser von der Jahreszeit abhängig minimal variieren kann. Ich mag es aber gerne einfach und nicht unnötig kompliziert (wenn es geht), so dass ich an dieser Stelle nur auf den Azimuth hinweise.
Ich selbst nutze für die eingangs beschriebene Automation nur den Azimuth in Kombination mit der Tages-Höchst-Temperatur, und die genannten Unschärfe ist überhaupt nicht störend.
Aber der Reihe nach:
Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:
Follow Home Assistant
Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!
Auf der Webseite SunCalc kannst du für deine Anschrift den Sonnenverlauf je Uhrzeit simulieren (auch rückwirkend) und so für dich ermitteln, bei welchem Azimuth die Sonne welche Teile deiner Anschrift wie beleuchtet.
Den so ermittelten Wert kannst du dann in deiner Automation nutzen und die gewünschte Aktion (Rollläden auf 60% schlieβen zum Beispiel) eben nur ausführen, wenn die Sonne einen gewissen Stand (Azimuth) erreicht hat. Dies in Kombination mit der Tages-Höchst-Temperatur reicht bereits aus, um das Haus im Sommer vor der Sonne ein wenig zu schützen.
Der konkrete Code kann dann wie folgt aussehen:
- alias: "Sonnenschutz links an"
trigger:
platform: numeric_state
entity_id: sensor.sun_azimuth
above: 80
below: 160
condition:
condition: numeric_state
entity_id: sensor.openweathermap_forecast_temperature
above: 23
action:
- service: cover.set_cover_position
data:
entity_id: cover.unknown_id_0299_unknown_type_0005_id_1a93_level, cover.fibaro_system_fgrm223_roller_shutter_controller_3_level_5
position: 20
In diesem konkreten Code-Beispiel für die Nutzung des Azimuth, habe ich auch die Tages-Höchst-Temperatur als Kondition eingebaut, da das ganze nur ausgeführt werden soll, wenn es überhaupt entsprechend warm wird.
Produktempfehlungen
Danke für Deine Idee. Leider laufe ich damit in ein Problem, denn die Automatisierung greift ja auch, wenn die Sonne gar nicht scheint. Zum Beispiel an trüben Tagen, an denen ich die Rolläden in keinem Fall (auch nur teilweise) schließen möchte. Auch die Forecast Funktion „sonnig“ bringt mich nicht weiter, weil ja auch bei teilweise bewölkt ggf. die Sonne auf die Fenster scheint. Muss ich jetzt tatsächlich einen Lichtsensor beschaffen, weil es keine öffentliche Quelle für den aktuellen Einfall von Sonnenstrahlung gibt?
Ne, mir ist da keine Quelle hierfür bekannt. Am einfachsten wäre es vermutlich über einen ZigBee Bewegungsmelder zu lösen. Selbst die einfachen von Aqara liefern die Helligkeit in Lux: https://www.amazon.de/Aqara-RTCGQ11LM-Motion-Sensor-Bewegungsmelder/dp/B07D1CRRVF/?tag=smarterkram-21
Ggf. kannst du damit ja auch gleich im Raum noch was weiteres sinnvolles automatisieren?
Servus Olli,
wird bei deinem Beispiel die Automatisierung bei jeder Azimuthwertänderung (zwischen 80 und 160) getriggert? Mit anderen Worten, wenn ich manuell eingreife und das Rollo hoch fahre wird es kurz darauf wieder heruntergefahren, wenn die Sonne sich im Triggerbereich befindet?
Servus!
Nein, ich greife tatsächlich relativ häufig ein, wenn es beispielsweise gewittert und entsprechend düster ist, aber alle anderen Bedingungen erfüllt wurden. Dann fahren die Rollläden hoch, und bleiben natürlich auch da. 😉
Viele Grüße
Olli