Dokumentation
Wie kann ich...?
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
... ein Gerät einschalten und nach 60 Sekunden wieder aussschalten
if($_IPS['SENDER'] == "TimerEvent") { //Aus Befehl ... //Timer ausschalten IPS_SetScriptTimer($_IPS['SELF'], 0); } else { //An Befehl ... //Timer anschalten IPS_SetScriptTimer($_IPS['SELF'], 60); }
... eine Liste der Modulnamen samt GUID bekommen
foreach(IPS_GetModuleList() as $mid) { $m = IPS_GetModule($mid); echo $mid."=".$m['ModuleName']."\n"; }
... eine Instanz aus PHP konfigurieren
//Eigenschaft verändern WWWReader_SetPage($id,"http://www.google.de"); //Änderung abspeichern IPS_ApplyChanges($id); //Neue URL abrufen WWWReader_UpdatePage($id);
... die Anzahl der Sekunden herausfinden, die ein ScriptTimer noch abwartet
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); } } }
... ein Skript per ID direkt includen
//Skript mit ID 14871 einbinden include(IPS_GetScriptFile(14871));
... UpdateTime in einer eigenen String Variable ausgeben (1 Skript - n Variablen)
//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; }
... aus PHP einen Timer & Variable anlegen
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));
... eine Datei aus dem Internet herunterladen
$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 );