Ich habe einen Skript, der auf der CCU2 einwandfrei funktionierte und dieser Skript legt die Zustände aller Fensterkontakte (sofern offen) sowie die der Bewegungsmelder und Rauchmelder in einer Systemvariablen vom Typ String ab. auf dem PI funktioniert das Skript leider nicht mehr!
Die Textvariable wird bei einem Alarm via Push und E-Mail verschickt, damit ich aus der Ferne den verantwortlichen Sensor erkennen kann.
Bin für jede Idee hierzu dankbar!
Hier der Skript:
Code: Alles auswählen
string i;
string slist;
var sec=dom.GetObject("Sensoren");
foreach(i,sec.EnumUsedIDs())
{
var ch = dom.GetObject(i.Channel());
var dev = dom.GetObject(ch.Device());
var chType = ch.HssType();
var devType = dev.HssType();
var room = dom.GetObject(ch.ChnRoom());
var since = ch.LastTimestamp().ToString("%d %H:%M:%S");
if (since == "01 01:00:00") {since = " unbekannt ";}
if(chType == 'SHUTTER_CONTACT')
{
var status = ch.DPByHssDP("STATE").Value();
if (status != 0) {slist=slist # dev.Name() #"\n"# since #"\n"; }
}
else
{
if(chType == 'SMOKE_DETECTOR')
{
var status = ch.DPByHssDP("STATE").Value();
if (status != 0) {slist=slist # dev.Name() #"\n"# since #"\n"; }
}
}
}
var motion = "B01 Keller";
var status = dom.GetObject(motion).DPByHssDP("MOTION").Value();
if (status) { slist = slist # motion #"\n"; }
var motion = "B02 Buero";
var status = dom.GetObject(motion).DPByHssDP("MOTION").Value();
if (status) { slist = slist # motion #"\n"; }
var motion = "B03 Lager";
var status = dom.GetObject(motion).DPByHssDP("MOTION").Value();
if (status) { slist = slist # motion #"\n"; }
var motion = "Zeitsperre";
var status = dom.GetObject(motion).Value();
if (status) { slist = slist # motion #"\n"; }
string message = (slist);
dom.GetObject("Tuerinfo").State(message);