ich hab mal etwas gebastelt,
und zwar hab ich die pseudoschalter.php etwas misbraucht, abgeändert.
Ziel war es durch wählen einer Nummer aus dem Telefonbuch verschiedene Aktionen
auszulösen.
erstmal hab ich je ein Schalter für meine 4 Rufumleitungen gebaut.
könnte man ja direkt vom Telefon wählen, aber bei 8 Nummern für ein und aus,
hat man schnell mal die falsche erwischt.
Außerdem kann man jetzt die RUL auch mit sasauto auch automatisch schalten.
dann hab ich noch einen für Telnet gemacht,
@JL3 könnte das ja besser mit einem direkten SystemBefehl, aber es geht auch so.
Noch ein Vorteil, mit der richtigen Telefonverbindung kann ich auch Telnet und
Wlan auf einer anderen FB im Heimnetz schalten.
kurze Erklärung was ich in der pseudoschalter.php geändert habe.
eine Variable für die Statusdatei,
$Statusdatei="statusrul-425.txt"; # für jeden Schalter eine andere Datei!
"/statusschalter.txt" mit $Statusdatei ersetzt.
Schaltbefehl zum wählen und auflegen nach 5 Sekunden eingefügt, abgeändert.
Tel.-Nr. zum wählen geändert.
Problem hab ich nur, das es inzwischen zu viele Geräte gibt.
Hab mir etwas geholfen indem ich sas nochmal in ein zweites Verzeichnis kopiert habe.
In dem einen nur Schalter und Websensoren, in dem anderen alles von der Fritzbox!
Nur die FritzDect Dosen hab ich jetzt doppelt.
Code:
<?php
/*
+---------------------------------------------------------------------+
| |
| SensorAndSwitch Automation Pro |
| PseudoGeräte-Script |
| =============================================================== |
| -> Schalter |
| Dieses Script schaltet Rufumleitung 779426 ein/aus |
| Befehl zum ein,- ausschalten im Telefonbuch Nr. 793/794 |
| |
+---------------------------------------------------------------------+
*/
[B][COLOR="#FF0000"]$Statusdatei="statusrul-425.txt";[/COLOR][/B] #hier Namen für Status-Datei eingeben
$Pfad=".";
$Status="S##E##";
if (!file_exists($Statusdatei)) {
$fp=fopen($Statusdatei,"w");
$Status="0";
fputs($fp,"S#".$Status."#");
fclose($fp);
}
if ($_GET["info"]=="status") {
$fp=fopen($Statusdatei,"r");
$xml=fgets($fp);
fclose($fp);
if (strpos($xml,"1")) {
$Status="S#1#";
}
if (strpos($xml,"0")) {
$Status="S#0#";
}
}
if ($_GET["schalter"]=="1") {
$fp=fopen($Statusdatei,"w");
[B][COLOR="#FF0000"]shell_exec('/usr/bin/ctlmgr_ctl w telcfg command/Dial **793')[/COLOR][/B];
$Status="S#1#";
fputs($fp,$Status);
fclose($fp);
[B][COLOR="#FF0000"]sleep(5);
shell_exec('/usr/bin/ctlmgr_ctl w telcfg command/Hangup 1')[/COLOR][/B];
}
if ($_GET["schalter"]=="0") {
$fp=fopen($Statusdatei,"w");
[B][COLOR="#FF0000"]shell_exec('/usr/bin/ctlmgr_ctl w telcfg command/Dial **794')[/COLOR][/B];
$Status="S#0#";
fputs($fp,$Status);
fclose($fp);
[B][COLOR="#FF0000"]sleep(5);
shell_exec('/usr/bin/ctlmgr_ctl w telcfg command/Hangup 1')[/COLOR][/B];
}
echo $Status;
?>