IPS_Semaphore

Um zu verhindern, dass ein Skript ein zweites Mal ausgeführt wird, bevor es beendet wurde,
(z.B. während eines WebCamera Capture) wird der „IPS_SemaphoreEnter“ Befehl wie untern gezeigt verwendet.

Um zu erfahren, auf welchen Button geklickt wurde, wird jedem eine Nummer (hier: 1 bis 5) im „Object Inspector“ im Feld: IPSYMID zugewiesen.
Diese kann dann mit „$IPS_COMPONENT“ im Skript verwendet werden.

Die Umrandung der Button wurden mit einem „Shape“ realisiert, dessen „Bruch.Color“ Eigenschaft in der 1. Zeile mit den „Value“ 1 bis 5
und in der 2. Zeile mit der Bitmask „xxxx…“ konfiguriert wurde (siehe Bild) und eine passende Farbe zugeordnet wurde.

MST

Flash-Film



<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : WebCamCapture.ips.php
Trigger  : 
Interval : 
*/


if (!IPS_SemaphoreEnter("WebCapture", 1)) {
   return;
}

if($IPS_SENDER == "Designer") {
   SetValueInteger("WebCam_Position" , (int)$IPS_COMPONENT);
   SetValueString("WebCam_Button_Text_".$IPS_COMPONENT, "Moving");
   IPS_Sleep(1000);   //  warten
   // hier kommt noch Code rein
}

SetValueString("WebCam_Button_Text_".$IPS_COMPONENT, "Position ".$IPS_COMPONENT);
IPS_SemaphoreLeave("WebCapture");

?>

bruch_color.jpg