für die Automatisierung meiner Jalousien laufen bei mir seit 3 Jahren erfolgreich Roberts @Robert_Mini Logiken viewtopic.php?f=65&t=1564; für die Rolläden verwende ich Jochens @Dragonos2000 Baustein für Rolläden viewtopic.php?f=77&t=1245. Vielen Dank an dieser Stelle nochmal an euch fürs Teilen!
Sowohl Jalousie als auch Rolladensteuerung benötigen die Info ob es draußen hell genug ist. Funktional habe ich die Lösung in viewtopic.php?f=65&t=1567 nun angepasst, da bei mir ab und an der Behang zu- und wieder aufgefahren ist, wo das eher als unpassend empfunden wurde. Vorgekommen ist das vor allem dann, wenn z.B. abends durch dunkle Wolken die Schwelle unterschritten war, der Behang zugefahren ist (da auf Nacht erkannt) und dann doch nochmal die Sonne vorgekommen ist (Tag) und der Behang wieder öffnet.
Ergänzend zur Grundfunktion:
gibt es nun die Erweiterungen:Robert_Mini hat geschrieben: ↑So Okt 27, 2019 9:19 pm Funktionsweise:
- Der Baustein Dämmerung schaltet am Beginn der Morgendämmerung beim Erreichen der Helligkeitsgrenze von Nacht auf Tag.
- Abends nach Ende der Dämmerung wird auf Nacht geschaltet, wenn auch Sonnenhöhe < Grenzwert ist, damit ein unbeabsichtigtes Zufahren während des Tages unterdrückt wird.
Der Grenzwert für Nacht und Tag kann unabhängig voneinander vergeben werden. Der Nachtwert kann größer als der Tagwert sein, oder andersherum. Unabhängig vom Helligkeitswert (z.B. da Helligkeitssensor ausgefallen oder als erzwungenes Tag/Nacht Band) werden über die Sonnenhöhe Grenzen für Tag und Nacht definiert. Es wird nur je einmal in 24h von Nacht auf Tag und von Tag auf Nacht umgeschaltet. Das heißt, wenn z.B. der Helligkeitswert für Nacht im freigegeben Band der Sonnenhöhe einmal unterschritten wurde, wird auf Nacht umgeschaltet und bleibt auch dort bis zum nächsten Morgen auch wenn kurz nochmal die Sonne rausschaut und der Helligkeitswert über Nachtschwelle liegt.
Code: Alles auswählen
{
/*"Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht."*/
"Level": [
["$LuminanceThresholdDay_In","float",0.0],
["$SunHeightForLuminanceDay_In","float",0.0],
["$SunHeightFallbackDay_In","float",0.0],
["$LuminanceThresholdNight_In","float",0.0],
["$SunHeightForLuminanceNight_In","float",0.0],
["$SunHeightFallbackNight_In","float",0.0],
["$Luminance_In","float",0.0],
["$SunHeight_In","float",0.0],
["$SunDirection_In","float",0.0],
["$SetDay","bool",false],
["$SetNight","bool",false],
["$IsEvening","bool",true],
["$ThresholdSunDirectionEvening","float",180.0],
["$IsDay","bool",false],
["$IsDayLuminance","bool",false],
["$IsDayFallbackLuminance","bool",false],
["$IsNightLuminance","bool",false],
["$IsNightFallbackLuminance","bool",false],
["$IsLuminanceDayAboveThreshold","bool",false],
["$IsSunHeightForLuminanceDayEnabled","bool",false],
["$IsSunHeightFallbackDay","bool",false],
["$IsLuminanceNightBelowThreshold","bool",false],
["$IsSunHeightForLuminanceNightEnabled","bool",false],
["$IsSunHeightFallbackNight","bool",false],
["$State","integer",0],
["$VAR<Inhibit?>","bool",false]
],
"Module": [
["Break",["$VAR<Inhibit?>"]],
["Comparator" , "$SunDirection_In" , "$IsEvening" , "$ThresholdSunDirectionEvening"],
//Bedingung für Zustandswechsel Nacht -> Tag
["Comparator" , "$Luminance_In" , "$IsLuminanceDayAboveThreshold" , "$LuminanceThresholdDay_In"],
["Comparator" , "$SunHeight_In" , "$IsSunHeightForLuminanceDayEnabled" , "$SunHeightForLuminanceDay_In"],
["Comparator" , "$SunHeight_In" , "$IsSunHeightFallbackDay" , "$SunHeightFallbackDay_In"],
["And",["$IsLuminanceDayAboveThreshold","$IsSunHeightForLuminanceDayEnabled"],"$IsDayLuminance"],
["Or",["$IsDayLuminance","$IsSunHeightFallbackDay"],"$IsDayFallbackLuminance"], //Rückfallebene, falls Helligkeitssensor keine Werte liefert
["And",["$IsDayFallbackLuminance","-$IsEvening"],"$SetDay"], //Bedingungen für Sonnenhöhe gelten nur Morgens
//Bedingung für Zustandswechsel Tag -> Nacht
["Comparator" , "$Luminance_In" , "-$IsLuminanceNightBelowThreshold" , "$LuminanceThresholdNight_In"],
["Comparator" , "$SunHeight_In" , "$IsSunHeightForLuminanceNightEnabled" , "$SunHeightForLuminanceNight_In"],
["Comparator" , "$SunHeight_In" , "-$IsSunHeightFallbackNight" , "$SunHeightFallbackNight_In"],
["And",["$IsLuminanceNightBelowThreshold","-$IsSunHeightForLuminanceNightEnabled"],"$IsNightLuminance"],
["Or",["$IsNightLuminance","$IsSunHeightFallbackNight"],"$IsNightFallbackLuminance"], //Rückfallebene, falls Helligkeitssensor keine Werte liefert
["And",["$IsNightFallbackLuminance","$IsEvening"],"$SetNight"], //Bedingungen für Sonnenhöhe gelten nur Abends
["Statemachine",
// 0: night
// 1: day
[
["$SetDay" , 0, 1, 0], // wechsel auf Tag
["$SetNight" , 1, 0, 0] // Wechsel auf Nacht
],
"$State"
],
["Multiplexer", [0, "$true"], "$IsDay", "$State"] //Umwandlung von Integer in boolean
],
"Input": [
["Helligkeitsschwelle Tag","Helligkeitswert überhalb dem auf Tag erkannt wird ","$LuminanceThresholdDay_In","u"],
["Freigabe Sonnenhöhe Tag","Mindestsonnenhöhe für Helligkeitsschwellwert Tag","$SunHeightForLuminanceDay_In","u"],
["Sonnenhöhe Rückfall Tag","Sonnenhöhe für Tag unabhängig von Helligkeitswert","$SunHeightFallbackDay_In","u"],
["Helligkeitsschwelle Nacht","Helligkeitswert unterhalb dem auf Nacht erkannt wird ","$LuminanceThresholdNight_In","u"],
["Freigabe Sonnenhöhe Nacht","Maximale Sonnenhöhe für Helligkeitsschwellwert Nacht","$SunHeightForLuminanceNight_In","u"],
["Sonnenhöhe Rückfall Nacht","Sonnenhöhe für Nacht unabhängig von Helligkeitswert","$SunHeightFallbackNight_In","u"],
["Helligkeit","Helligkeit draußen","$Luminance_In","c"],
["Sonnenhöhe","Sonnenhöhe","$SunHeight_In","c"],
["Sonnenrichtung","Sonnenrichtung","$SunDirection_In","c"],
["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
],
"Output": [
["Tag","Tag = 1; Nacht = 0","$IsDay","c"]
]
}