versuche gerade ein Programm mit Script zu machen, so alle im Gewerk Heizung den Partymode bekommen.
Zur Verfügung steht:
Sys-Variabeln:
- Urlaub von
- Uralub bis
- Urlaub (True/False)
Programm siehe Anlge
Hier das Script:
Code: Alles auswählen
! Urlaubsmodus setzen
time anfang = dom.GetObject("Urlaub von").Value(); ! Die Eingabe in Sys-Var mutss so aussehen: 2018-12-10
time ende = dom.GetObject("Urlaub bis").Value(); ! Die Eingabe in Sys-Var mutss so aussehen: 2018-12-10
time heute = system.Date("%Y-%m-%d");
WriteLine(anfang + ", " + heute);
if ((heute >= anfang) && (heute <= ende)) {
var t = system.Date("%d,%m,%y");
WriteLine(t);
var myAssembly = dom.GetObject("Heizung");
string itemID;
foreach(itemID, myAssembly.EnumUsedIDs()) {
! Gerätedetails & Schnittstelle holen
var item = dom.GetObject(itemID);
var device = dom.GetObject(item.Device());
var interface = dom.GetObject(item.Interface());
! Name, Adresse und Kanal auslesen
string interface_name = interface.Name();
string device_address = device.Address();
device_address = device_address.StrValueByIndex(":", 0);
string channel_name = interface_name # "." # device_address # ":5"; !Sender
var channel = dom.GetObject(channel_name);
string X = ("21," # t # ",0," # t # ",1410");
WriteLine(X);
!dom.GetObject(channel_name.PARTY_MODE_SUBMIT(X))
}
}
Durchlaufe alle im Gewerk Heizung
Setze mit PARTY_MODE_SUBMIT den Partymodus und in (steht dann der Wert: 21 Grad, Datum heute Anfang, ab 0 Uhr, Datum heute Ende, bis 23:30)
Das Script wird jede Nacht um 0:40 laufen per Programm.
Aber mein Test sagt, dass ich da wohl voll daneben liege.
Wie daneben bin ich den? ...voll misst oder `?
Für Rückmeldung wäre ich dankbar! Vielen Dank vorab.
Gruß
Michl