Hallo zusammen,
ich habe mir ein Script gebastelt, welches mir eine Nachricht schickt,
wenn TFK sich meldet (öffnet/schliesst)
Weiters legt mir das Script die Ereignisse automatisch an, das geht auch.
ABER wie kann ich verhindern, dass die Ereignisse mehrfach anglegt werden?
hier das Script
<?
if (($IPS_SENDER=='TimerEvent') or ($IPS_SENDER=='Execute'))
{
#echo "manuell";
foreach(IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}") as $id)
{
if(IPS_StatusVariableExists($id, "STATE"))
{
$var = IPS_GetStatusVariable($id, "STATE");
$profID = IPS_GetVariable($var['VariableID']);
$prof = $profID['VariableCustomProfile'];
if($prof == "tkf") // Profil eintragen
{
$value = GetValue($var['VariableID']);
echo $var['VariableID']." ".(int)$value."
";
#Ereignis erstellen
$ereignis = IPS_CreateEvent(0);
IPS_SetEventTrigger($ereignis, 4, $var['VariableID']);
IPS_SetEventTriggerValue($ereignis, true); //true,false
IPS_SetEventTriggerSubsequentExecution($ereignis, false);
IPS_SetParent($ereignis, $IPS_SELF);
IPS_SetName($ereignis, 'Event '.$var['VariableID']);
IPS_SetEventActive($ereignis, true);
# $eid = IPS_CreateEvent(0); //Ausgelöstes Ereignis
# IPS_SetEventTrigger($eid, 1, $var['VariableID']); //Bei Änderung von Variable mit ID 15754
# IPS_SetParent($eid, $IPS_SELF); //Ereignis zuordnen
# IPS_SetEventActive($eid, true); //Ereignis aktivieren
}
}
}
}
//Wenn eine Variable ein Ereignis auslöst, wird die Message erzeugt und verschickt
if ($IPS_SENDER=='Variable')
{
$MSG = 'IPS Info: Variable '.$IPS_VARIABLE.' '.IPS_GetLocation($IPS_VARIABLE).' hat den Wert '.GetValue($IPS_VARIABLE).' ('.GetValueFormatted($IPS_VARIABLE).').';
setValueString (23230 /*[Push\Message]*/ , "$MSG");
}
?>
besten Dank im Vorraus