Ich möchte hier gesammelt vorstellen, wie ich das Thema Fenster-/Türstatus am TWS gelöst habe.
Übersicht der Funktionen, verteilt auf mehrere Logikbausteine:
- Gesamtstatus offen/zu je Geschoß und
- Anzahl offener Fenster/Türen je Geschoß für die CometVisu
- Gesamtstatus für das gesamte Haus
- Ausgabe eines Kurztextes in welchem Stockwerk offene Fenster sind
- Warnsignal am Infodisplay für 3s, wenn Zentral-Aus gedrückt wird und gleichzeitig ein Fenster offen ist.
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.
Falls wer einen freiwilligen Beitrag zur Motivation leisten will: Klick
1) Gesamtstatus je Geschoß:
Eine Standard ODER-Logik je Stockwerk.
Ich verwende zusätzlich eine ODER-Logik ohne Haustüre für das EG, damit ich an der Haustüre Info+Warnung ohne HET bekomme, da diese bereits offen sein kann und ich dennoch für das EG und Haus gesamt den Status sehen will!
2) Anzahl der offenen Fenster je Geschoß:
Der Standard Binärstatistik-Baustein liefert die Anzahl WAHR (=offen), d.h. man benötigt einen Binärstatistik Baustein je Stockwerk.
In der Visu sieht das dann wie folgt aus:
3) Gesamtstatus Haus:
Kann mit einer 3-fach ODER Logik aus 1) erstellt werden.
4) Ausgabe eines Kurztextes
Da ich im Haus einige Info-Displays im Einsatz habe, erzeuge ich bei Änderung des Fenster-/Türstatus einen Text, der mir Zeit in welchem Stockwerk ein Fenster offen ist.
Insgesamt ergeben sich bei 3 Geschoßen (Keller, EG, OG) 8 Möglichkeiten, die mit ---, OG, EG, E+O, KG, K+O, K+E und KEO übersetzt werden.
Hier die Custom-Logik dazu:
Code: Alles auswählen
/**=====================================================================
Fenster und Türen Status in Textausgabe umwandeln
======================================================================*/
{
"Level": [
["$Status_OG","bool",false],
["$Status_EG","bool",false],
["$Status_KG","bool",false],
["$TextA","string","---"],
["$TextB","string"," OG"],
["$TextC","string"," EG"],
["$TextD","string","E+O"],
["$TextE","string"," KG"],
["$TextF","string","K+O"],
["$TextG","string","K+E"],
["$TextH","string","KEO"],
["$Out","string"," "],
["$Select","integer",0]
],
"Module": [
// Bilde 7 Fälle
["BinaryMultiplexer",["$Status_OG","$Status_EG","$Status_KG"],"$Select"],
["Multiplexer",["$TextA","$TextB","$TextC","$TextD","$TextE","$TextF","$TextG","$TextH"],"$Out","$Select"]
],
"Input": [
["Status OG", "Status Fenster/Türen im OG", "$Status_OG", "c" ],
["Status EG", "Status Fenster/Türen im EG", "$Status_EG", "c" ],
["Status KG", "Status Fenster/Türen im KG", "$Status_KG", "c" ]
],
"Output": [
["Fensterstatus Text","Textausgabe 8 verschiedene Infos","$Out","c"],
["Fensterstatus Select","Textausgabe 8 verschiedene Infos","$Select","c"]
]
}
/**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. */
Am Info-Display kann per GA ein Warnsignal/Alarm aktiviert werden.
Folgende Custom-Logik sendet ein Ein-Telegramm, wenn Zentral-Aus gedrückt wird und gleichzeitig ein Fenster offen ist. Nach 3 Sekunden wird dann automatisch das Aus-Telegramm gesendet.
In meinem Fall habe ich den Status je Stockwerk verknüpft, da die Logik einen dynamischen Eingang verwendet, kann auch für jedes Fenster, das für die Warnung berücksichtigt werden soll, ein Eingang aktiviert werden.
Code: Alles auswählen
/**=====================================================================
Warnung bei offenem Fenster/Tür und Betätigung von Zentral Aus
======================================================================*/
{
"Level": [
["$Warnung","bool",false],
["$Status","bool",false],
["$Trigger","bool",false],
["$Dauer","float",4.0],
["$VAR<I_Fensterstatus!>","bool",false],
["$Reset","bool",false]
],
"Module": [
["Or",["$VAR<I_Fensterstatus!>"],"$Status"],
["Monoflop","$Status","$Reset","$Warnung","$Dauer",0]
],
"Output": [
["Warnung","Warnung für Zeitraum Dauer","$Warnung","c"],
["Fensterstatus","Fensterstatus","$Status","c"]
],
"Input": [
["Fensterstatus","Eingang Fensterstatus","$VAR<I_Fensterstatus!>","u"],
["DataTrigger","Eingang nur um die Logik zu triggern","$Trigger","a"]
]
}
/**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. */
lg
Robert