Viele dieser Skripte verwenden spezielle IP-Symcon Funktionen.
Bitte nutzen Sie die Befehlsreferenz/Modulreferenz, wenn Sie die genaue Funktionsweise verstehen wollen.
... ein Gerät einschalten und nach 60 Sekunden wieder aussschalten
... eine Liste der Modulnamen samt GUID bekommen
... eine Instanz aus PHP konfigurieren
... die Anzahl der Sekunden herausfinden, die ein ScriptTimer noch abwartet
... ein Skript per ID direkt includen
... UpdateTime in einer eigenen String Variable ausgeben (1 Skript - n Variablen)
... aus PHP einen Timer & Variable anlegen
... eine Datei aus dem Internet herunterladen
... einen Ordner rekursiv in die MediaPlayer Playlist laden
... ein Variablenprofil exportieren
if($_IPS['SENDER'] == "TimerEvent") { //Aus Befehl ... //Timer ausschalten IPS_SetScriptTimer($_IPS['SELF'], 0); } else { //An Befehl ... //Timer anschalten IPS_SetScriptTimer($_IPS['SELF'], 60); }
foreach(IPS_GetModuleList() as $mid) { $m = IPS_GetModule($mid); echo $mid."=".$m['ModuleName']."\n"; }
//Eigenschaft verändern WWWReader_SetPage($id,"http://www.google.de"); //Änderung abspeichern IPS_ApplyChanges($id); //Neue URL abrufen WWWReader_UpdatePage($id);
echo GetTimeRemaining($_IPS['SELF']); //Von sich selbst herausfinden function GetTimeRemaining($id) { $eid=@IPS_GetEventIDByName("ScriptTimer", $id); if($eid === false) { return -1; } else { $e=IPS_GetEvent($eid); if($e['NextRun'] == 0) { return -1; } else { return $e['NextRun'] - microtime(true); } } }
//Skript mit ID 14871 einbinden include(IPS_GetScriptFile(14871));
//Event auswerten if($_IPS['SENDER'] != "Variable") return; SetValue(CreateVariableIDByName($_IPS['VARIABLE'], 'Updated', 3), date("d.m.y H:i:s")); function CreateVariableIDByName($id, $name, $type) { $vid = @IPS_GetVariableIDByName($name, $id); if($vid===false) { $vid = IPS_CreateVariable($type); IPS_SetParent($vid, $id); IPS_SetName($vid, $name); IPS_SetInfo($vid, "This Variable was created by Script #".$_IPS['SELF']); } return $vid; }
Wenn das Skript ausgeführt wird, legt es einen Timer an der alle sechs Stunden startet und dann eine Variable mit der jeweiligen Tageszeit als Wert zwischen 0-3 in die Variable ablegt.
//HINWEIS: //~~~~~~~~ //Dieses Script richtet sicht automatisch ein, wenn es ausgeführt wird // //- Es wird abhängig von der Tageszeit eine Variable gesetzt (0-3) // 0 = 0-6 // 1 = 6-12 // 2 = 12-18 // 3 = 19-24 //----------------------------------------------------------------------------- //Ab diesem Punkt muss nichts verändert werden //----------------------------------------------------------------------------- if($_IPS['SENDER'] == "Execute") { $eventid = @IPS_GetEventIDByName("Timer", $_IPS['SELF']); if($eventid === false) { $eventid = IPS_CreateEvent(1); //Cyclic IPS_SetEventActive($eventid, true); IPS_SetName($eventid, "Timer"); IPS_SetEventScript($eventid, $_IPS['SELF']); IPS_SetEventCyclic($eventid, 0, 0, 0, 0, 3, 6); } $variableid = @IPS_GetVariableIDByName("Daytime", $_IPS['SELF']); if($variableid === false) { $variableid = IPS_CreateVariable(1); IPS_SetName($variableid, "Daytime"); IPS_SetParent($variableid, $_IPS['SELF']); } } SetValue(IPS_GetVariableIDByName("Daytime", $_IPS['SELF']), floor(date("H") / 6));
$remoteImage = "https://www.google.com/images/srpr/logo3w.png"; $localImage = IPS_GetKernelDir()."\\media\\bild.jpg"; //Downloaden $content = @file_get_contents($remoteImage); if((strpos($http_response_header[0], "200") === false)) { return; } //Speichern file_put_contents( $localImage, $content );