Ferengi-Masters Wecker V1
Was kann der Wecker?
[ul]
[li]Verschiedene Weckerprofile anlegen.[/li][li]es werden automatisch leere Scripte für Schaltbefehle angelegt die zur Weck- bzw. Schlummerzeit gestartet werden[/li][li]Weckerbdienung fast zu 100% Touch- / Designerfähig.[/li][li]Schlummermodus (Wecker geht mehrmals nach gewünschter Zeit nochmal an)[/li][li]Wecker kann an Feiertagen automatisch aus gehen.[/li][li]Speichern und löschen von Weckereinstellungen.[/li][li]Per Befehl aus jedem beliebigen Script heraus den Wecker verändern/abfragen.[/li][/ul]
Installation:
Freigegeben für V1 (für IPS V2 http://www.ip-symcon.de/forum/f20/ferengi-masters-wecker-v2-7383/)
[ul]
[li]Tonis Tools installieren (für Feiertage).[/li][li]Nach dem Download den Ordner „wecker“ entpacken[/li][li]Eine Kopie des Scripts „variable_anlegen.ips.php“ im „scripts“ Verzeichnis ablegen.[/li][li]Eine Kopie des Scripts „wecker.ips.php“ im „scripts“ Verzeichnis ablegen.[/li][li]Alle Bilder in das „media“ Verzeichnis kopieren.[/li][li]Jetzt in IPS zwei gleichnamige Scripte anlegen. Dadurch werden die zuvor kopierten Scripte sichtbar.[/li][li]Eine Kopie des Scripts „wecker.bin“ im „forms“ Verzeichnis ablegen.[/li][li]Pfad zu den Bild-Dateien in dem Script „Variable_anlegen.ips.php“ anpassen![/li][li]Variable_anlegen.ips.php starten.[/li][li]In der Datei „wecker.ips.php“ Pfadnamen für die wecker.txt festlegen z.B. $filename = IPS_GetKernelDir()."/wecker.txt"; (wecker.txt wird später generiert)[/li][li]In der Datei „wecker.ips.php“ Zeit in Minuten eintragen wann Wecker nochmal melden soll - $schlummer_zeit = 5;[/li][li]Die Datei wecker.bin zusätzlich zum eigenen Designerprojekt öffnen (Punkt IP-Symcon Designer in der Konsole) und Wecker in eigenes TabSheet kopieren, mit Copy&Paste.[/li][li]Damit werden automatisch alle Einträge für den Designer vorgenommen.[/li][li]Die Grafiken sind für 800x600 Bildpunkte optimiert, können aber natürlich angepasst werden.;)[/li][li]Nun die Datei „wecker.ips.php“ starten.[/li][li]Im Designer Wecker anlegen und speichern. (im Edit Feld Enter drücken, sonst wird der Weckername nicht aktualisiert)[/li][li]in angelegten leeren Scripten (Name wie Wecker) eigene Befehle, Musik, Sprachausgabe einfügen[/li][/ul]
Syntax der Befehle:
Mit diesen zwei Befehlen kann der Wecker aus einem beliebigen Script heraus gesetzt oder abgefragt werden.
set_wecker(string: „Wecker Name,Tag,Stunde,Minute,bei Feiertag aus,Schlummermodus an/aus,Wecker an/aus“);
Beispiel:
set_wecker("Thomas Wecker,Mittwoch,06,00,true,true,true");
Stunde und Minute mit führender Null.
Bei Fehlern in der Syntax wird eine IPS_LogMessage erzeugt.
get_wecker(string: „Wecker Name,Tag“);
Beispiel Ausgabe des aktuellen Wecker:
$tag = (date("w")); //Tag ermitteln
$tag_arr = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
if(get_wecker("Thomas Wecker,$tag_arr[$tag]"))
{
print_r($wecker);
}
else
{
echo "Fehler";
}
Ausgabe:
Array
(
[0] => Thomas Wecker
[1] => Sonntag
[2] => 10
[3] => 15
[4] => true
[5] => false
[6] => true
)
Um diese Befehle in Eueren eigenen Scripten nutzen zu können sind folgende Funktionen bereitzustellen. (z.B. durch include):
function set_wecker($wecker_fkt_1)
{
SetValueString("wecker_fkt", $wecker_fkt_1);
}
function get_wecker($wecker_fkt_2)
{
//Hier Ablageort für wecker.txt eintragen
$filename = IPS_GetKernelDir()."Thomas/wecker.txt";
global $wecker;
$wecker_datensatz = explode(",", $wecker_fkt_2); // nach Komma trennen und in array
$name = $wecker_datensatz[0];
$tag = $wecker_datensatz[1];
$wecker_inh = file_get_contents($filename); //Wecker in Variable
$wecker_datensatz = explode(",", $wecker_inh); // nach Komma trennen und in array
$i=0;
foreach($wecker_datensatz as $value)
{
if($value == $name and $tag == $wecker_datensatz[$i+1])
{
$wecker[0] = $wecker_datensatz[$i];
$wecker[1] = $wecker_datensatz[$i+1];
$wecker[2] = $wecker_datensatz[$i+2];
$wecker[3] = $wecker_datensatz[$i+3];
$wecker[4] = $wecker_datensatz[$i+4];
$wecker[5] = $wecker_datensatz[$i+5];
$wecker[6] = $wecker_datensatz[$i+6];
if($wecker[4] == 1)
{
$wecker[4] = "true";
}
else
{
$wecker[4] = "false";
}
if($wecker[5] == 1)
{
$wecker[5] = "true";
}
else
{
$wecker[5] = "false";
}
if($wecker[6] == 1)
{
$wecker[6] = "true";
}
else
{
$wecker[6] = "false";
}
return $wecker;
}
$i=$i+1;
}
return false;
}
Viel Spaß!
V1.01b vom 06.12.08
- Variable_anlegen.ips.php, Prüfung ImagePool eingefügt
- Bug anlegen erster Wecker beseitigt
V1.1 vom 13.12.08 - set_wecker Befehl hinzugefügt
- get_wecker Befehl hinzugefügt
- Bug Uhrzeit behoben
- neue globale Variable „wecker_fkt“ notwendig (wird über Variable_anlegen.ips.php angelegt)
- Event OnUpdate „wecker_fkt“ in Wecker.ips.php notwendig (wird über Variable_anlegen.ips.php angelegt)
V1.2 vom 29.12.08 - Bug Feiertag behoben
- nur noch Angabe des Pfadnamen und der Schlummerzeit in Minuten im Weckerscript notwendig, sonst nichts mehr!
- es werden jetzt automatisch zu jedem angelegten Wecker jeweils zwei leere Scripte angelegt (1x Wecker, 1x Schlummermodus)
- in diese Scripte können eigene Befehle eingefügt werden, die zur Weck- oder Schlummermoduszeit ausgeführt werden
Downloads bist jetzt: 82
wecker_V1.2.zip (159 KB)