Hallo Zusammen. Ich bin mir sicher.... irgendwo hier im Forum steckt bereits die Antwort... ich kann sie nur nicht finden.
Ich verwende drei Fritzbox (7390) als WLAN-AccessPoints (KG, EG, OG) und möchte auf diesen in der Nacht von IPS aus das WLAN deaktiveren und morgens automatisch wieder aktivieren.
GELÖST:
Die Funktionalität steckt bereits im Fritzbox-Projekt. Im Config-File muss man dazu die Bedienbarkeit auf true setzen
PHP-Code:
// FritzBox WLan WebFront-Funktionen
define ('FB_WLAN_24_SWITCH',true); // true = WLAN darf über das WebFront ein & ausgeschaltet werden. false = darf nicht.
define ('FB_WLAN_5_SWITCH',true);
define ('FB_WLAN_G_SWITCH',true);
Damit ist die Bedienbarkeit vorhanden. Für die Zeitsteuerung ist dann noch ein zusätzliches Skript nötig. Sobald ich das habe poste ich es noch.
PROBLEM:
Das Skript gestaltet sich etwas schwieriger wie ich dachte. Man muss das "Aktions & Auslese-Script WLAN" dazu mit nutzen und das muss man wohl anpassen, dass es nicht nur aus dem Webfront ausgeführt werden kann... und man muss die ID des WLAN kennen und übergeben.
Hat das schon jemand mal gelöst?
PHP-Code:
### MAIN ###
switch ($_IPS['SENDER'])
{
case "RequestAction":
$wlan_id = constant($_IPS['IDENT']);
case "WebFront":
if (!isset($wlan_id)) $wlan_id=substr(IPS_GetObject(IPS_GetParent($_IPS['VARIABLE']))['ObjectIdent'],-1);
FB_SetWLan($wlan_id,$_IPS['VALUE']);
if (defined("FB_WLAN_G") and (FB_WLAN_G <> $wlan_id)) FB_GetWLan ($wlan_id);
elseif (!defined("FB_WLAN_G")) FB_GetWLan ($wlan_id);
break;
case "RunScript":
case "Execute":
case "TimerEvent":
if (defined("FB_WLAN_5"))
FB_GetWLan (FB_WLAN_5);
if (defined("FB_WLAN_24"))
FB_GetWLan (FB_WLAN_24);
if (defined("FB_WLAN_G"))
FB_GetWLan (FB_WLAN_G);
break;
LÖSUNG:
Wer lesen kann ist klar im Vorteil
- Die Funtion ist enthalten und braucht "nur" benutzt zu werden.
PHP-Code:
################################################################################
## WLAN ein-/ausschalten und rücklesen des Stati vom geschaltetet WLAN. (Ohne Tabellen zu generieren.)
## IPS_RunScriptEx(<ID von diesem Script>,array('SENDER'=>'RequestAction','IDENT'=>'FB_WLAN_24','VALUE'=>true));
## Parameter: IDENT = 'FB_WLAN_5' , 'FB_WLAN_24' oder 'FB_WLAN_G' als String, je nachdem welches Netz geschaltet werden soll.
## VALUE = true / false für an / aus
################################################################################