NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[V4.0 IP4] Custom Logik helligkeitsgesteuerte Tag/Nacht Berechnung

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
martin
Reactions:
Beiträge: 139
Registriert: Mo Okt 15, 2018 10:07 pm
Wohnort: bei Stuttgart
Hat sich bedankt: 78 Mal
Danksagung erhalten: 69 Mal

[V4.0 IP4] Custom Logik helligkeitsgesteuerte Tag/Nacht Berechnung

#1

Beitrag von martin »

Hi zusammen,

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:
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.
gibt es nun die Erweiterungen:

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.

Bild

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"]
  ]
}
Viel Spaß damit
Zuletzt geändert von Parsley am Fr Dez 15, 2023 9:12 pm, insgesamt 1-mal geändert.
VG Martin
TWS 2500 ID:152 + PBM ID:819 + PBM ID:1079, VPN aktiv, Reboot erlaubt"
Antworten

Zurück zu „Zusätzliche Logikbausteine“