FritzBox 7390 Gäste WLAN aktivieren

Begonnen von sTaN, 23 Februar 2013, 21:57:42

Vorheriges Thema - Nächstes Thema

sTaN

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.
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

sTaN

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
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

sTaN

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ß
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

baumeister

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.

UliM

Hi,
stellt ihr das bitte ins Wiki?
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

sTaN

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. ;)
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

ollir

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

sTaN

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!


Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

AK-868

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);;\
}
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Sailor

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
******************************
Man wird immer besser...

fiedel

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! Dann ist die "Große Freiheit" zumindest bei fhem nicht mehr weit.  8)

Nich hauen! Und weg... ;D

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

P.A.Trick

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?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Borkk

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?
Proxmox & Docker:  FHEM, Raspberrymatic, ConBee3, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana, HmIP Akt- /Sensoren, Shelly´s, Alexa, ASC, Gardena, E-Paper, FritzBox; (Tado° x), iBeacon, OLED ; ESP32/8266, SwitchBot ... (Netatmo & Homekit über HomeAssistant)

P.A.Trick

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Borkk

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.
Proxmox & Docker:  FHEM, Raspberrymatic, ConBee3, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana, HmIP Akt- /Sensoren, Shelly´s, Alexa, ASC, Gardena, E-Paper, FritzBox; (Tado° x), iBeacon, OLED ; ESP32/8266, SwitchBot ... (Netatmo & Homekit über HomeAssistant)