Ich habe seit ca. einem halben Jahr die CCU2, mit der ich die Rolläden und Heizungen steuere. Soweit habe ich alles hinbekommen und es funktioniert alles tadellos.
Nun wollte ich, da ich Schichtarbeiter bin, meine Schichtarbeitszeit in der CCU2 automatisch morgens um 00:01 abrufen lassen.
Es gibt vier Arten:
- Tagschicht
- Nachtschicht
- Frei 1
- Frei 2
und wieder von vorne.
Da ich heute das Astro-Zeit-Skript installiert habe, kam mir die Idee, die angezeigte Jahreszahl ( aktueller Tag im Jahr ) zu nutzen. Da meine Schichtarbeit sich alle vier Tage wiederholt, war das ein guter Ansatz.
Zum besseren Verständnis:
Wenn ich am 01.01. ( Tag 1 im Jahr ) Tagschicht habe, habe ich am 05.01. ( Tag 5 ), 09.01. ( Tag 9 ), usw. wieder Tagschicht. Das Ganze gilt natürlich auch für die anderen Arten.
Tagschicht: 01.01. ( T 1 ), 05.01. ( T 5 ), 09.01. ( T 9 ), 13.01. ( T 13 ), 17.01. ( T 17 )
Nachtschicht: 02.01. ( T 2 ), 06.01. ( T 6 ), 10.01. ( T 10 ), 14.01. ( T 14 ), 18.01. ( T 18 )
Frei 1: 03.01. ( T 3 ), 07.01. ( T 7 ), 11.01. ( T 11 ), 15.01. ( T 15 ), 19.01. ( T 19 )
Frei 2: 04.01. ( T 4 ), 08.01. ( T 8 ), 12.01. ( T 12 ), 16.01. ( T 16 ), 20.01. ( T 20 )
Für die jeweilige Anzeige gibt es zwei Möglichkeiten:
1) Arbeitszeit -> Tagschicht, Nachtschicht, Frei 1 oder Frei 2 ( Jeweilige Arbeitszeit wird angezeigt )
2) Tagschicht -> Ja ( Jeweilige Arbeitszeit wird mit einem Ja angezeigt )
Nachtschicht -> Nein
Frei 1 -> Nein
Frei 2 -> Nein
Laut Astro-Zeit-Skript ist heute ( 08.08.2017 ) Tag 220. Also habe ich folgende Systemvariable erstellt:
Frei_1 Logikwert wahr=Ja unwahr=Nein
Folgende Systemvariable existiert:
Jahreszahl Zahl Minimalwert=0 Maximalwert=65000
Also habe ich folgendes Skript erstellt zum testen:
Code: Alles auswählen
! Freie 1er
var obj = dom.GetObject("Frei_1");
var v1 = dom.GetObject("Jahreszahl");
if (v1.Value() == 220.00)
{
var x = obj.State(1);
}
else
{
var x = obj.State(0);
}
Ich habe natürlich im Netz gesucht und alles mögliche gefunden, nur mein Problem nicht.
Zudem ist mein Test ja nur auf den 220 Tag beschränkt. Ich muß natürlich noch die ganzen anderen Tage hinterlegen, damit beim entsprechenden Tag die Variable auf Ja umschaltet.
Über Eure Hilfe würde ich mich freuen, da ich mittlerweile mit den Nerven am Ende bin.
Vielen Dank im voraus für Eure Ideen und Hilfe.