FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: sTaN am 23 Februar 2013, 21:57:42

Titel: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 23 Februar 2013, 21:57:42
Abend,

ich bin verwundert, dass dieses Thema noch nicht aufkam.
Gibt es bereits eine Möglichkeit das Gäste WLAN über Fhem zu aktivieren/deaktivieren und ggf. die Dauer der Aktivität zu konfigurieren?
Für das normale WLAN ist es ja bereits via Telefon Code siehe Wiki (//www.fhemwiki.de/wiki/Fritzbox:_WLAN_ein/ausschalten) möglich.

Ich würde gern ein Schalter belegen und passend den QR-Code mit Kennwort in der Wohnung platzieren.

Gruss
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: bsl02 am 24 Februar 2013, 01:29:38
Hallo,

>http://www.ip-phone-forum.de/showthread.php?t=237664 (//www.ip-phone-forum.de/showthread.php?t=237664)

für den Gastzugang wurde wohl von AVM kein Tastaturcode vorgesehen, ich habe nichts neueres gefunden.

Gruß,
Stefan
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 24 Februar 2013, 01:39:53
Also Prinzipiell müsste es gehen.
Die iPhone App "Gastnetzwerk (//itunes.apple.com/de/app/fritz!box-gastnetzwerk/id427423651?mt=8)" verwaltet genau diese Funktionen. Auch mit der neuen Anmeldung unter Fritz!OS 5.50.
Ich nutze diese App schon etwas länger. Vielleicht bekommt man durch den Entwickler ja einen Tipp. Das könnte ich höchstens mal versuchen, sodass man es mit in die FritzUtilities.pm einbauen kann.
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: fiedel am 24 Februar 2013, 23:28:41
Per PHP Script geht das. Funktioniert dann von der Linux Shell (so mach ich das), oder von Windows aus:

http://www.ip-phone-forum.de/showthread.php?t=196309 (//www.ip-phone-forum.de/showthread.php?t=196309)

Mit Kenntnissen des Fritzbox- Linux (ggf. von http://www.wehavemorefun.de/fritzbox/AVM_Wiki (//www.wehavemorefun.de/fritzbox/AVM_Wiki)) könnte es ggf. auch ohne Wählcode direkt aus der Fritzbox selbst gehen.

Viele Grüße

Frank
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 25 Februar 2013, 00:16:23
Okay super. Zumindest schon mal eine Variante. Auf wehavemorfun habe ich noch keinerlei Infos dazu gefunden.
Vielleicht kann aber ein Entwickler der FritzUtil.pm was sagen, ob dies realisierbar ist?

Gruss
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: baumeister am 25 Februar 2013, 20:31:21
Hallo

über die FB Konsole lässt sich das Gast Wlan wie folgt steuern:

Statusabfrage
/usr/bin/ctlmgr_ctl r wlan settings/guest_ap_enabled

0:ausgeschaltet
1:eingeschaltet


ändern der Einstellung
/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 1 (eischalten)
/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 0 (ausschalten)

Das sollte sich dann per duzmmy Schalter integrieren lassen.
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 25 Februar 2013, 21:15:38
Zitat von: baumeister schrieb am Mo, 25 Februar 2013 20:31ändern der Einstellung
/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 1 (eischalten)
/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 0 (ausschalten)

Das sollte sich dann per duzmmy Schalter integrieren lassen.

Klasse! Klappt im Terminal super!
Das müsste ja dann Analog zum normalen WLAN auch klappen mit /usr/bin/ctlmgr_ctl r wlan settings/ap_enabled 1 und 0, oder?
Wäre das nicht eine elegantere Variante als die Funktion über den Tastencode und was für das Fritz Modul?

Ich versuch das mal mit einem Dummy umzusetzen.

Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: UliM am 25 Februar 2013, 21:30:12
Zitat von: sTaN schrieb am Mo, 25 Februar 2013 21:15Wäre das nicht eine elegantere Variante als die Funktion über den Tastencode und was für das Fritz Modul?
Hi,
die WLAN an/aus-Routine ist mit Fleiss über Tastencode realisiert, da sich die ctlmgr-Aufrufe z.T. zwischen den Fritz-OS-Versionen unterscheiden, die Telefon-Tastencodes sind jedoch stabil.
=8-)
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 25 Februar 2013, 21:32:06
Okay, auch mal interessant für das Verständnis. Nur schade, dass es keinen Tastencode für das Gäste-WLAN gibt ;-)
Aber ich versuch mich mal an der alternative. Ich gehe mal davon aus, dass fhem dann als root laufen muss und nicht als boxusr99
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: UliM am 25 Februar 2013, 21:39:08
Zitat von: sTaN schrieb am Mo, 25 Februar 2013 21:32Ich gehe mal davon aus, dass fhem dann als root laufen muss und nicht als boxusr99
Es braucht gleich zwei Voraussetzungen:
1. Es muss das Install von fhem.de sein. Das Install von AVM sperrt fhem in eine chroot-Umgebung ein, aus der die FB-Routinen nicht erreichbar sind.
2. fhem muss unter user root laufen.
=8-)
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 25 Februar 2013, 21:46:16
1. Sowieso :-)
2. Ist der Wiki-Eintrag (//www.fhemwiki.de/wiki/FritzBox:_fhem_unter_root_starten) dazu noch aktuell und es reicht das auskommentieren/löschen des Bereichs oder muss noch zusätzlich ein chown -R root /fhem gemacht werden. (wobei das wahrscheinlich nach einem Neustart von Fhem hinfällig wäre)

Der Grund weshalb ich frage, weil ich schon öfter mal gelesen habe, dass es Probleme gab.

Gruß und danke schon mal!
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: UliM am 25 Februar 2013, 21:49:32
Hi,
das muss eher ein LinuxSpezi beantworten.
Bei mir hat das Auskommentieren in startfhem mit anschließendem Neustart des Rechners (bei mir FB) gereicht.
Ein chown war nicht erforderlich - wenn ich mich recht erinnere :)
Viel Erfolg,
Uli
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 25 Februar 2013, 21:51:42
Zitat von: UliM schrieb am Mo, 25 Februar 2013 21:49Bei mir hat das Auskommentieren in startfhem mit anschließendem Neustart des Rechners (bei mir FB) gereicht.

Exakt, das hat gereicht. ;-)

1911 root      9344 S    perl fhem.pl fhem.cfg

Besten Dank!
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: baumeister am 26 Februar 2013, 19:36:42
ok, post mal Deinen dummy dazu
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 26 Februar 2013, 20:01:06
Hi Zusammen,

ich habe mich eben nachdem du geschrieben hast, erst hingesetzt und muss sagen ich bin gerade selbst etwas aus dem Häuschen! :D
Habe einfach mal anhand von diversen Dingen die ich gelesen habe folgendes Konstrukt gebaut:

# Dummy für Gäste-WLAN
define dummy_guest_wlan dummy

# GuestWLAN an mit FB
define guest_wlanON notify GuestWLAN:on.* {my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 1);;\
  $g_wlan=$g_wlan * 1;;\
  fhem "set dummy_guest_wlan $g_wlan";;}

# GuestWLAN aus mit FB
define guest_wlanOFF notify GuestWLAN:off.* {my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 0);;\
  $g_wlan=$g_wlan * 1;;\
  fhem "set dummy_guest_wlan $g_wlan";;}


Das beste daran. Es funktioniert ohne Fehler :D
Kann von den Profis mal bitte jemand drüber schauen, da ich zugeben muss wenig Ahnung bzw. gar keine Ahnung von Perl habe.

EDIT: Achso getriggert wird es beim Drücken einer Taste auf der Fernbedienung mit dem Namen GuestWLAN.

Gruss
sTaN
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 26 Februar 2013, 20:09:43
Okay ich merke grad noch, dass es daran einen Haken gibt. Ich müsste noch ein AT einbauen, wo er den Status abfragt, falls man über die Weboberfläche das Gäste-WLAN aktiviert...
Ich glaub da brauche ich doch Unterstützung.
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 26 Februar 2013, 20:55:24
Heute scheint mein Tag zu sein. :D
Ich konnte es lösen. Hier mein gesamter Code, mit der Bitte sehr kritisch zu prüfen, da ich sowas wie gesagt, das erste Mal gemacht habe!

define GuestWLAN FS20 a3a3 ac
attr GuestWLAN room System
# Dummy für Gäste-WLAN
define Status_Guest_WLAN dummy
# Prüfe Status Gäste WLAN
define Status_Guest_WLAN_AT at +*00:15:00 {my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl r wlan settings/guest_ap_enabled);;\
  $g_wlan=$g_wlan* 1;;\
  if ($g_wlan != $value{Status_Guest_WLAN}) {fhem "set Status_Guest_WLAN $g_wlan";;}\
  }
# GuestWLAN an mit FB (Kanal 5)
define guest_wlanON notify GuestWLAN:on.* {my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 1);;\
  $g_wlan=$g_wlan * 1;;\
  fhem "set Status_Guest_WLAN $g_wlan";;}

# GuestWLAN aus mit FB (Kanal 5)
define guest_wlanOFF notify GuestWLAN:off.* {my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 0);;\
  $g_wlan=$g_wlan * 1;;\
  fhem "set Status_Guest_WLAN $g_wlan";;}


Der Trigger sollte spezifisch angepasst werden, je nachdem wie lange ihr Euer Gäste-Netzwerk aktiv habt. Bei mir sind das 30 Minuten und ich frage den Status alle 15 Minuten ab.
Mein ihr das ist ausreichend oder spricht etwas dagegen den Status jede Minute abzufragen?

Gruss
sTaN
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 26 Februar 2013, 22:09:41
Hi,

ich habe selbst noch mal akribisch getestet. Dabei ist mir folgendes aufgefallen:
1. wird bei der obigen Variante nicht die Glühbirne des Schalters GuestWLAN on oder off geschalten
2. gibt es keinen Rückgabewert beim Aktivieren/Deaktivieren des Gäste WLAN

$g_wlan=qx(/usr/bin/ctlmgr_ctl r wlan settings/guest_ap_enabled 1);;\

Deshalb habe ich den Status nun fix gesetzt und noch eine Abfrage eingebaut, die mir auch die Glühbirne korrekt setzt. Der Timer ist hier auf 1 Minute gesetzt:

define GuestWLAN FS20 a3a3 ac
attr GuestWLAN room System
# Dummy für Gäste-WLAN
define Status_Guest_WLAN dummy

# Prüfe Status Gäste WLAN
define Status_Guest_WLAN_AT at +*00:01:00 {my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl r wlan settings/guest_ap_enabled);;\
  if ($g_wlan != $value{Status_Guest_WLAN}) {fhem "set Status_Guest_WLAN $g_wlan";;}\
  if ($g_wlan == 1) {fhem "set GuestWLAN on";;\
  } else {\
    if ($g_wlan == 0) {fhem "set GuestWLAN off";;}\
  }\  
}

# GuestWLAN an mit FB (Kanal 5)
define guest_wlanON notify GuestWLAN:on.* {my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 1);;\
  $g_wlan=1;;\
  fhem "set Status_Guest_WLAN $g_wlan";;}

# GuestWLAN aus mit FB (Kanal 5)
define guest_wlanOFF notify GuestWLAN:off.* {my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 0);;\
  $g_wlan=0;;\
  fhem "set Status_Guest_WLAN $g_wlan";;}


Bleiben also dennoch die Fragen offen:
1. Ist dies von der Programmierung ok?
2. Ist es dramatisch, wenn der Timer auf 1 ist, oder sollte dieser anders gewählt werden?

Gruß
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: baumeister am 26 Februar 2013, 22:37:26
Ich habe gerade mal den letzten Stand getestet. Funktioniert problemlos.
Ob man den at jede Minute laufen lassen sollte, kann ich nicht beantworten. Ich habe ihn auf 15 Minuten eingestellt.
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: UliM am 27 Februar 2013, 19:37:57
Hi,
stellt ihr das bitte ins Wiki?
=8-)
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 27 Februar 2013, 19:45:20
Zitat von: UliM schrieb am Mi, 27 Februar 2013 19:37Hi,
stellt ihr das bitte ins Wiki?

Wenn ihr das für gut befindet, gerne. Muss mich nur noch registrieren lassen. ;)
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: ollir am 02 März 2013, 21:34:54
Hallo,

habe bei mir noch etwas im der Status-Code geändert:

if ($g_wlan == 1) {fhem "setstate GastWLAN on";;\
  } else {\
    if ($g_wlan == 0) {fhem "setstate GastWLAN off";;}\
  }\
}


durch setstate wird nur der Status geändert und nicht GastWLAN an- aus geschaltet.

Grund: Habe bei der FritzBox automatisch deaktivieren nach 4 Stunden eingestellt.
Durch fhem "set GastWLAN on" würde diese Einstellung immer überschrieben.

VG
Olaf
Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: sTaN am 03 März 2013, 11:38:57
Perfekt, danke!
Ich hatte es folgendermaßen geändert, weil ich auch gesehen habe, dass er bei mir alle 30 Minuten den WLAN Status off gesetzt hat.
 if ($g_wlan == 1 && Value("GuestWLAN") eq "off") {fhem "set GuestWLAN on";;\
  } else {\
    if ($g_wlan == 0 && Value("GuestWLAN") eq "on") {fhem "set GuestWLAN off";;}\

Aber deine Variante scheint mir wesentlich besser!

Gruß und danke!


Titel: Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: AK-868 am 14 Juli 2013, 13:45:06
Hallo zusammen,

ich hab das noch ein wenig geändert.
Wer das nur in der Webansicht benötigt kann das so kopieren. Hoffe das ist soweit korrekt.

Ich hab keine Fernbedienung die das schaltet.

Vielen Dank für die Vorlage!!
Klappt bisher super!!


define Gast_Wlan dummy
attr Gast_Wlan devStateIcon An:FS20.on Aus:FS20.off
attr Gast_Wlan room Wohnzimmer
attr Gast_Wlan setList on off
attr Gast_Wlan webCmd on:off

define Status_Gast_WLAN_AT at +*00:01:00 {\
 my $g_wlan="";;\
 $g_wlan=qx(/usr/bin/ctlmgr_ctl r wlan settings/guest_ap_enabled);;\
 if ($g_wlan = 1) {fhem "setstate Gast_Wlan on"};;\
 if ($g_wlan = 0) {fhem "setstate Gast_Wlan off"};;\
}

#Gast_WLAN on
define notify_Gast_Wlan_on notify Gast_Wlan:on {\
  my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 1);;\
}

#Gast_WLAN off
define notify_Gast_Wlan_off notify Gast_Wlan:off {\
  my $g_wlan="";;\
  $g_wlan=qx(/usr/bin/ctlmgr_ctl w wlan settings/guest_ap_enabled 0);;\
}
Titel: Antw:Aw: FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: Sailor am 10 Dezember 2013, 15:40:50
EIn herzerfrischendes Moim Moin

Ich weiss, dass dieser Thread schon ziemlich alt ist aber ich habe hierzu eine Frage:

a) In welche Datei soll dieses Snipplett eigentlich eingefuegt werden?

Zitat von: sTaN am 26 Februar 2013, 22:09:41
define Status_Guest_WLAN_AT at +*00:01:00 {my $g_wlan="";;\


b) Wieso bekome ich staendig ein Syntax error bei der obigen Zeile.


Ich wuerde diese Funktion gerne nutzen, stehe aber irgendwie auf dem Schlauch wie ich diese zum Laufen kriege bzw. diese in den FloorPlan integriert kriege.

Danke fuer Eure Hilfe!

Gruss
   Sailor
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: fiedel am 10 Dezember 2013, 18:59:14
ZitatEIn herzerfrischendes Moim Moin

Moin Dittsche, beim Essen spricht man nicht und knöpf endlich mal den Bademantel ordentlich zu!  ;)

zu a: In die fhem.cfg.

zu b: Weil mindestens die abschließende geschweifte Klammer fehlt.

... wenn du das Bier aus hast, lies doch mal das Einsteiger- PDF (http://fhem.de/Heimautomatisierung-mit-fhem.pdf)! Dann ist die "Große Freiheit" zumindest bei fhem nicht mehr weit.  8)

Nich hauen! Und weg... ;D

Frank
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: P.A.Trick am 08 Februar 2014, 01:51:17
Also ich habe das heute mal in meine Konfiguration übernommen, aber funktionieren tut es leider nicht.
Der AT und notify laufen zwar, aber scheinbar wird das Skript nicht ausgeführt.
Auf der Konsole funktioniert es einwandfrei. Ideen?
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: Borkk am 23 März 2014, 16:16:40
Hallo Zusammen,

Das schalten klappt gut, nur der AT Notify funktioniert nicht.
-----
2014.03.23 16:08:22 3: Status_Gast_WLAN_AT: Unknown command {
, try help.
Unknown command $g_wlan=qx(/usr/bin/ctlmgr_ctl, try help.
Unknown command if, try help.
Unknown command if, try help.
Unknown command }, try help.
-----

Leider kann ich nicht programmieren und komme hier nicht weiter. Jemand ne Idee?
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: P.A.Trick am 23 März 2014, 16:33:54
Poste mal deinen Notify Befehl!
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: Borkk am 23 März 2014, 19:23:37
Ich habe den Code von AK-868 4 Posts drüber verwendet. Der AT Befehl führt jede Minute dein Befehl auf der Console aus und soll den Dummy mit setstate setzen.
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: P.A.Trick am 23 März 2014, 19:26:17
Du musst den Code direkt in der fhem.cfg eingeben und nicht im Webfrontend!
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: Borkk am 23 März 2014, 19:44:02
:-) das ist mir schon klar... ich hab jetzt nochmal rumprobiert. Der Code erkennt wenn das GastWlan in der FB eingeschaltet wird.  Der Dummy wird dann auf on gesetzt. nur das ausschalten scheint er nicht mitzubekommen.

Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: Puschel74 am 23 März 2014, 19:46:06
Logfile und Eventmonitor kontrolliert?
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: Borkk am 23 März 2014, 19:51:33
Log mit verbose5

2014.03.23 19:49:25 5: exec at command Status_Gast_WLAN_AT
2014.03.23 19:49:25 5: redefine at command Status_Gast_WLAN_AT as +*00:01:00 {
my $g_wlan="";
$g_wlan=qx(/usr/bin/ctlmgr_ctl r wlan settings/guest_ap_enabled);
if ($g_wlan = 1) {fhem "setstate Gast_Wlan on"};
if ($g_wlan = 0) {fhem "setstate Gast_Wlan off"};
}

im Eventmon gibt es keinen Eintrag
Titel: Antw:FritzBox 7390 Gäste WLAN aktivieren
Beitrag von: Borkk am 25 März 2014, 21:12:40
Hab jetzt den Code von sTAN verwendet, klappt einwandfrei :-)