ich habe folgendes Problem .
Ich setzte 25 Fenster und Türkontakte ein und würde mir gerne anzeigen lassen wann das Fenster das letzte mal seinen Status geändert hat.
Ich bin dazu folgendermaßen vorgegangen , alle Kontakte sind ein einer Kategorie untergebracht.
nun möchte ich die Ausgabe dazu im jeweiligen Kontakt in eine Variable schreiben lassen und genau da hört es gerade auf.Angefangen hat es mal damit das ich es für einen einzigen Alarm gemacht habe , bei 25 Kontakten müsste ich aber von Hand 25 Scripte und 25 Variablen anlegen. und ich finde die Info wann das Fenster das letzte mal geöffnet oder geschlossen wurde sehr interessant . Daher gehört das wahrscheinlich hier unter nützliche Scripts.
Du solltest ein Script nehmen, dass durch den jeweiligen Kontakt ausgelöst wird (Ereignis). Dann kannst du im Script über die Systemvariablen den Ablauf steuern.
Ich habe kein Beispiel hier, aber eventuell hilft dir
wäre ne Idee dann muss ich aber echt 25 variablen anlegen, ok das ist schnell gemacht .
Dann wäre aber die Frage wie ich einen Bezug zu der Variable bekomme die in der Instanz zu finden ist , sagen wir mal die würde „Zeit“ heißen.
Dann einen Trigger für das Skript auf die Statusvariable derFensterdrehgriffe/Türkontakte legen.
Wenn Du zu faul bist die Variablen von Hand anzulegen kannst Du auch im Skript prüfen ob Sie vorhanden sind und ebenfalls über das Sript anlegen falls nicht.
das hatte echt was mit Faulheit zu tun oder besser mit dem Gedanken , das es einfacher gehen muss. Ich hatte mich dann schon mit IPS_CreateVariable versucht durch zu fummeln.
Das ging auch , bloß das er eben immer neue anlegte anstatt zu prüfen ob Sie schon da wären, ich hab dann die suche bemüht aber die ist ja hier nicht ganz so gut.
ich dachte einfach das haben schon viele im Einsatz , denn ich dachte es interessiert wann welches Fenster oder Tür zum letzten mal geöffnet wurde. Ich hab mich jetzt ran gesetzt und 25 Variablen gemacht und dann das Script von Kronos (aller herzlichsten dafür) mit dem Ereignis versehen .
Das Ergebnis ist das was ich gern wollte ,vielen Dank für die Hilfe .
Hatte gerade ähnliches gesucht und daher hier das Skript bissel aufgebohrt:
Nur Trigger erstellen auf Variablen änderung und es werden bei Triggerung automatisch 2 Variablen für letzte Öffnung und Schliessung unter der Trigger-Variablen angelegt.
<?
// Zeitstempel in Variable schreiben
$TriggerID = $_IPS['VARIABLE'];
$ParentID = IPS_GetParent(IntVal($TriggerID));
switch ($_IPS['VALUE'])
{
case true:
$TimeStampID = @IPS_GetObjectIDByName("Zeit Auf", $ParentID);
if ($TimeStampID === false)
// Falls Variable nicht vorhanden wird sie erstellt.
$TimeStampID = IPS_CreateVariable(3);
IPS_SetName($TimeStampID,"Zeit Auf");
IPS_SetParent($TimeStampID, $ParentID);
$TimeStamp = date("d.m.y - H:i:s", time());
SetValue ($TimeStampID, $TimeStamp);
break;
case false:
$TimeStampID = @IPS_GetObjectIDByName("Zeit Zu", $ParentID);
if ($TimeStampID === false)
// Falls Variable nicht vorhanden wird sie erstellt.
$TimeStampID = IPS_CreateVariable(3);
IPS_SetName($TimeStampID,"Zeit Zu");
IPS_SetParent($TimeStampID, $ParentID);
$TimeStamp = date("d.m.y - H:i:s", time());
SetValue ($TimeStampID, $TimeStamp);
break;
}
?>