Hallo.
Ich habe mittels des Fritzbox-Moduls und eines Dummys (GastWLan) mit einer darauf hörenden notify-Definition die Möglichkeit, wunderbar das GastWLan ein- bzw. ausschalten. Das funktioniert auch wunderbar.
Mein Problem ist, dass mein Dummy nicht mitbekommt, wenn das GastWLan (nicht durch meinen FHEM-Dummy) abgeschaltet wird. Das würde ich gerne signalisieren und habe gedacht, dass dies evtl. über ein userreading klappen könnte. Folgendes habe ich probiert :
attr Fritzbox userReadings box_guestWlan:off { fhem("set GastWLan off") }
Ist das userreading denn dafür überhaupt geeignet oder habe ich etwas falsch verstanden ? Falls ja, wie könnte ich auf so eine Reading-Änderung eine Aktion auslösen ?
Vielen Dank für die Hilfe.
Hallo gsbox,
wenn ich das richtig verstanden habe suchst du eine Möglichkeit den Status der Fritz!Box abzufragen und Deine Dummy's zu aktualisieren.
Ich habe das so gelöst!
##############################################
##### Fritz!Box WLAN An und Aus schalten #####
##############################################
# Schnittstelle Fritz!Box
define FritzBox FRITZBOX
attr FritzBox INTERVAL 600
attr FritzBox alias Fritz!Box
attr FritzBox defaultCallerName Fhem
attr FritzBox event-on-change-reading .*
attr FritzBox event-on-update-reading box_powerRate,wlan
attr FritzBox fritzBoxIP 192.168.168.1
attr FritzBox icon my_FritzBox_29px
attr FritzBox room Interface
attr FritzBox telnetUser fhem
# Log
define FileLog_FritzBox FileLog ./log/FritzBox-%Y-%m.log FritzBox:.*
attr FileLog_FritzBox alias Fritz!Box
attr FileLog_FritzBox group monatliche-Logs
attr FileLog_FritzBox icon my_FritzBox_29px
attr FileLog_FritzBox logtype text
attr FileLog_FritzBox nrarchive 12
attr FileLog_FritzBox room Logs
# Visualisierung
# Fritz!Box Leistung / WLAN-Status
define SVG_FritzBox SVG FileLog_FritzBox:SVG_FritzBox:CURRENT
attr SVG_FritzBox group Leistung
attr SVG_FritzBox label "Fritz!Box Leistung Min: $data{min1} %, Max: $data{max1} %, Aktuell: $data{currval1} %"
attr SVG_FritzBox room Wohnzimmer
# Fritz!Box Internet
define SVG_FritzBox_LAN SVG FileLog_FritzBox:SVG_FritzBox_LAN:CURRENT
attr SVG_FritzBox_LAN group Internet
attr SVG_FritzBox_LAN label "Fritz!Box Internet Aktuell Download: $data{currval1} kByte/s, Upload: $data{currval2} kByte/s"
attr SVG_FritzBox_LAN room Wohnzimmer
# Dummy WLAN Gesamt
define FB_WLAN dummy
attr FB_WLAN alias Fritz!Box WLAN
attr FB_WLAN devStateIcon An:my_WLAN_29px.An:Aus Aus:my_WLAN_29px.Aus:An
attr FB_WLAN group WLAN
attr FB_WLAN icon my_FritzBox_29px
attr FB_WLAN room Wohnzimmer,Steuerung,Wohnung
attr FB_WLAN setList An Aus
attr FB_WLAN sortby 1
attr FB_WLAN webCmd An:Aus
# Dummy WLAN 2,4 GHz
define FB_WLAN_24 dummy
attr FB_WLAN_24 alias Fritz!Box WLAN 2,4 GHz
attr FB_WLAN_24 devStateIcon An:my_WLAN_29px.An Aus:my_WLAN_29px.Aus
attr FB_WLAN_24 group WLAN
attr FB_WLAN_24 icon my_FritzBox_29px
attr FB_WLAN_24 room Steuerung,Wohnung,Wohnzimmer
# Dummy WLAN 5 GHz
define FB_WLAN_50 dummy
attr FB_WLAN_50 alias Fritz!Box WLAN 5 GHz
attr FB_WLAN_50 devStateIcon An:my_WLAN_29px.An Aus:my_WLAN_29px.Aus
attr FB_WLAN_50 group WLAN
attr FB_WLAN_50 icon my_FritzBox_29px
attr FB_WLAN_50 room Steuerung,Wohnung,Wohnzimmer
# Dummy WLAN Gastzugang
define FB_WLAN_Gast dummy
attr FB_WLAN_Gast alias Fritz!Box WLAN Gastzugang
attr FB_WLAN_Gast devStateIcon An:my_WLAN_29px.An:Aus Aus:my_WLAN_29px.Aus:An
attr FB_WLAN_Gast group WLAN
attr FB_WLAN_Gast icon my_FritzBox_29px
attr FB_WLAN_Gast room Steuerung,Wohnung,Wohnzimmer
attr FB_WLAN_Gast setList An Aus
attr FB_WLAN_Gast sortby 2
attr FB_WLAN_Gast webCmd An:Aus
# Dummy WLAN Gastzugang Restdauer
define FB_WLAN_Gast_Timer dummy
attr FB_WLAN_Gast_Timer alias Fritz!Box WLAN Gastzugang Timer
attr FB_WLAN_Gast_Timer group WLAN
attr FB_WLAN_Gast_Timer icon my_FritzBox_29px
attr FB_WLAN_Gast_Timer room Steuerung,Wohnung,Wohnzimmer
attr FB_WLAN_Gast_Timer sortby 3
# WLAN-STATUS von der FritzBox (WLAN Gesamt, 2,4 GHz, 5 GHz und Gastzugang Restdauer)
define FB_WLAN_Status notify FritzBox:WLAN:.* { \
if ($EVTPART1 eq "on" && Value("FB_WLAN") ne "An") { \
fhem("set FB_WLAN An") \
} \
elsif ($EVTPART1 eq "off" && Value("FB_WLAN") ne "Aus") { \
fhem("set FB_WLAN Aus") \
} \
} ;; { \
if ($EVTPART3 eq "on" && Value("FB_WLAN_Gast") ne "An") { \
fhem("set FB_WLAN_Gast An") \
} \
elsif ($EVTPART3 eq "off" && Value("FB_WLAN_Gast") ne "Aus") { \
fhem("set FB_WLAN_Gast Aus") \
}\
} ;; { \
if ((ReadingsVal("FritzBox","box_wlan_2.4GHz", "") eq "on") && Value("FB_WLAN_24") ne "An") { \
fhem("set FB_WLAN_24 An") \
} \
elsif ((ReadingsVal("FritzBox","box_wlan_2.4GHz", "") eq "off") && Value("FB_WLAN_24") ne "Aus") { \
fhem("set FB_WLAN_24 Aus") \
} \
} ;; { \
if ((ReadingsVal("FritzBox","box_wlan_5GHz", "") eq "on") && Value("FB_WLAN_50") ne "An") { \
fhem("set FB_WLAN_50 An") \
} \
elsif ((ReadingsVal("FritzBox","box_wlan_5GHz", "") eq "off") && Value("FB_WLAN_50") ne "Aus") { \
fhem("set FB_WLAN_50 Aus") \
} \
} ;; { \
fhem("set FB_WLAN_Gast_Timer " .(ReadingsVal("FritzBox","box_guestWlanRemain", "") ." Minuten")) \
}
attr FB_WLAN_Status alias Fritz!Box WLAN Status
attr FB_WLAN_Status group WLAN
attr FB_WLAN_Status icon my_Zahnrad_29px
attr FB_WLAN_Status room Steuerung
# Logik
# Logik Fritz!Box WLAN schalten
define FB_WLAN_schalten notify FB_WLAN:.* { \
if(Value("FB_WLAN") eq "An") { \
fhem("set FritzBox wlan on") \
} \
} ;; { \
if(Value("FB_WLAN") eq "Aus") { \
if(Value("FB_WLAN_Gast") eq "An") { \
fhem("set FritzBox guestWLAN off") \
} ;; { \
fhem("set FritzBox wlan off") \
} \
} \
}
attr FB_WLAN_schalten alias Fritz!Box WLAN schalten
attr FB_WLAN_schalten group WLAN
attr FB_WLAN_schalten icon my_Zahnrad_29px
attr FB_WLAN_schalten room Steuerung
# Logik Fritz!Box WLAN Gast schalten
define FB_WLAN_Gast_schalten notify FB_WLAN_Gast:.* { \
if(Value("FB_WLAN_Gast") eq "An") { \
fhem("set FritzBox guestWLAN on") \
} \
} ;; { \
if(Value("FB_WLAN_Gast") eq "Aus") { \
fhem("set FritzBox guestWLAN off") \
} \
}
attr FB_WLAN_Gast_schalten alias Fritz!Box WLAN Gastzugang schalten
attr FB_WLAN_Gast_schalten group WLAN
attr FB_WLAN_Gast_schalten icon my_Zahnrad_29px
attr FB_WLAN_Gast_schalten room Steuerung
# Logik Fritz!Box WLAN in abhängigkeit von Nachtschaltung und Anwesenheitserkennung schalten
define FB_WLAN_Schaltfunktion notify Nachtschaltung:.*|Whg_Anwesenheit:.* { \
if((Value("Nachtschaltung") eq "Nein") && (Value("Whg_Anwesenheit") eq "Anwesend")) { \
if(Value("FB_WLAN") ne "An") { \
fhem("set FB_WLAN An") \
} \
} \
else {\
if (Value("FB_WLAN") ne "Aus") { \
fhem("set FB_WLAN Aus") \
} \
} \
}
attr FB_WLAN_Schaltfunktion alias Fritz!Box WLAN in Abhängkeit schalten
attr FB_WLAN_Schaltfunktion group WLAN
attr FB_WLAN_Schaltfunktion icon my_Zahnrad_29px
attr FB_WLAN_Schaltfunktion room Steuerung
##### Fritz!Box WLAN An und Aus schalten Ende #####
Eventuell kannst Du Teile aus den Code brauchen!
Gruß Bernd
Hallo.
Vielen lieben Dank für den Code. Bin leider nicht mehr zu Hause und werde mir den Code erst morgen abend ansehen können. Ich bin aber sicher, dass ich damit was anfangen kann.
Vielen Dank. Ich melde mich dann nochmal
Hallo Bernd.
Vielen Dank für Deinen Code - es hat mich auf die richtige Fährte gebracht. Ich konnte es nun mit folgendem Notify lösen :
define guestWLanOffNotify notify FritzBox:box_guestWlan:.* {\
if( ($EVTPART1 eq "off")
&&(Value("GastWLan") eq "on")
)
{
fhem("set GastWLan off");
}
}
Vielen Dank
Zitat von: Bernd1608 am 28 Juni 2015, 18:34:28
Hallo gsbox,
wenn ich das richtig verstanden habe suchst du eine Möglichkeit den Status der Fritz!Box abzufragen und Deine Dummy's zu aktualisieren.
Ich habe das so gelöst!
##############################################
##### Fritz!Box WLAN An und Aus schalten #####
##############################################
# Schnittstelle Fritz!Box
define FritzBox FRITZBOX
attr FritzBox INTERVAL 600
attr FritzBox alias Fritz!Box
attr FritzBox defaultCallerName Fhem
attr FritzBox event-on-change-reading .*
attr FritzBox event-on-update-reading box_powerRate,wlan
attr FritzBox fritzBoxIP 192.168.168.1
attr FritzBox icon my_FritzBox_29px
attr FritzBox room Interface
attr FritzBox telnetUser fhem
# Log
define FileLog_FritzBox FileLog ./log/FritzBox-%Y-%m.log FritzBox:.*
attr FileLog_FritzBox alias Fritz!Box
attr FileLog_FritzBox group monatliche-Logs
attr FileLog_FritzBox icon my_FritzBox_29px
attr FileLog_FritzBox logtype text
attr FileLog_FritzBox nrarchive 12
attr FileLog_FritzBox room Logs
# Visualisierung
# Fritz!Box Leistung / WLAN-Status
define SVG_FritzBox SVG FileLog_FritzBox:SVG_FritzBox:CURRENT
attr SVG_FritzBox group Leistung
attr SVG_FritzBox label "Fritz!Box Leistung Min: $data{min1} %, Max: $data{max1} %, Aktuell: $data{currval1} %"
attr SVG_FritzBox room Wohnzimmer
# Fritz!Box Internet
define SVG_FritzBox_LAN SVG FileLog_FritzBox:SVG_FritzBox_LAN:CURRENT
attr SVG_FritzBox_LAN group Internet
attr SVG_FritzBox_LAN label "Fritz!Box Internet Aktuell Download: $data{currval1} kByte/s, Upload: $data{currval2} kByte/s"
attr SVG_FritzBox_LAN room Wohnzimmer
# Dummy WLAN Gesamt
define FB_WLAN dummy
attr FB_WLAN alias Fritz!Box WLAN
attr FB_WLAN devStateIcon An:my_WLAN_29px.An:Aus Aus:my_WLAN_29px.Aus:An
attr FB_WLAN group WLAN
attr FB_WLAN icon my_FritzBox_29px
attr FB_WLAN room Wohnzimmer,Steuerung,Wohnung
attr FB_WLAN setList An Aus
attr FB_WLAN sortby 1
attr FB_WLAN webCmd An:Aus
# Dummy WLAN 2,4 GHz
define FB_WLAN_24 dummy
attr FB_WLAN_24 alias Fritz!Box WLAN 2,4 GHz
attr FB_WLAN_24 devStateIcon An:my_WLAN_29px.An Aus:my_WLAN_29px.Aus
attr FB_WLAN_24 group WLAN
attr FB_WLAN_24 icon my_FritzBox_29px
attr FB_WLAN_24 room Steuerung,Wohnung,Wohnzimmer
# Dummy WLAN 5 GHz
define FB_WLAN_50 dummy
attr FB_WLAN_50 alias Fritz!Box WLAN 5 GHz
attr FB_WLAN_50 devStateIcon An:my_WLAN_29px.An Aus:my_WLAN_29px.Aus
attr FB_WLAN_50 group WLAN
attr FB_WLAN_50 icon my_FritzBox_29px
attr FB_WLAN_50 room Steuerung,Wohnung,Wohnzimmer
# Dummy WLAN Gastzugang
define FB_WLAN_Gast dummy
attr FB_WLAN_Gast alias Fritz!Box WLAN Gastzugang
attr FB_WLAN_Gast devStateIcon An:my_WLAN_29px.An:Aus Aus:my_WLAN_29px.Aus:An
attr FB_WLAN_Gast group WLAN
attr FB_WLAN_Gast icon my_FritzBox_29px
attr FB_WLAN_Gast room Steuerung,Wohnung,Wohnzimmer
attr FB_WLAN_Gast setList An Aus
attr FB_WLAN_Gast sortby 2
attr FB_WLAN_Gast webCmd An:Aus
# Dummy WLAN Gastzugang Restdauer
define FB_WLAN_Gast_Timer dummy
attr FB_WLAN_Gast_Timer alias Fritz!Box WLAN Gastzugang Timer
attr FB_WLAN_Gast_Timer group WLAN
attr FB_WLAN_Gast_Timer icon my_FritzBox_29px
attr FB_WLAN_Gast_Timer room Steuerung,Wohnung,Wohnzimmer
attr FB_WLAN_Gast_Timer sortby 3
# WLAN-STATUS von der FritzBox (WLAN Gesamt, 2,4 GHz, 5 GHz und Gastzugang Restdauer)
define FB_WLAN_Status notify FritzBox:WLAN:.* { \
if ($EVTPART1 eq "on" && Value("FB_WLAN") ne "An") { \
fhem("set FB_WLAN An") \
} \
elsif ($EVTPART1 eq "off" && Value("FB_WLAN") ne "Aus") { \
fhem("set FB_WLAN Aus") \
} \
} ;; { \
if ($EVTPART3 eq "on" && Value("FB_WLAN_Gast") ne "An") { \
fhem("set FB_WLAN_Gast An") \
} \
elsif ($EVTPART3 eq "off" && Value("FB_WLAN_Gast") ne "Aus") { \
fhem("set FB_WLAN_Gast Aus") \
}\
} ;; { \
if ((ReadingsVal("FritzBox","box_wlan_2.4GHz", "") eq "on") && Value("FB_WLAN_24") ne "An") { \
fhem("set FB_WLAN_24 An") \
} \
elsif ((ReadingsVal("FritzBox","box_wlan_2.4GHz", "") eq "off") && Value("FB_WLAN_24") ne "Aus") { \
fhem("set FB_WLAN_24 Aus") \
} \
} ;; { \
if ((ReadingsVal("FritzBox","box_wlan_5GHz", "") eq "on") && Value("FB_WLAN_50") ne "An") { \
fhem("set FB_WLAN_50 An") \
} \
elsif ((ReadingsVal("FritzBox","box_wlan_5GHz", "") eq "off") && Value("FB_WLAN_50") ne "Aus") { \
fhem("set FB_WLAN_50 Aus") \
} \
} ;; { \
fhem("set FB_WLAN_Gast_Timer " .(ReadingsVal("FritzBox","box_guestWlanRemain", "") ." Minuten")) \
}
attr FB_WLAN_Status alias Fritz!Box WLAN Status
attr FB_WLAN_Status group WLAN
attr FB_WLAN_Status icon my_Zahnrad_29px
attr FB_WLAN_Status room Steuerung
# Logik
# Logik Fritz!Box WLAN schalten
define FB_WLAN_schalten notify FB_WLAN:.* { \
if(Value("FB_WLAN") eq "An") { \
fhem("set FritzBox wlan on") \
} \
} ;; { \
if(Value("FB_WLAN") eq "Aus") { \
if(Value("FB_WLAN_Gast") eq "An") { \
fhem("set FritzBox guestWLAN off") \
} ;; { \
fhem("set FritzBox wlan off") \
} \
} \
}
attr FB_WLAN_schalten alias Fritz!Box WLAN schalten
attr FB_WLAN_schalten group WLAN
attr FB_WLAN_schalten icon my_Zahnrad_29px
attr FB_WLAN_schalten room Steuerung
# Logik Fritz!Box WLAN Gast schalten
define FB_WLAN_Gast_schalten notify FB_WLAN_Gast:.* { \
if(Value("FB_WLAN_Gast") eq "An") { \
fhem("set FritzBox guestWLAN on") \
} \
} ;; { \
if(Value("FB_WLAN_Gast") eq "Aus") { \
fhem("set FritzBox guestWLAN off") \
} \
}
attr FB_WLAN_Gast_schalten alias Fritz!Box WLAN Gastzugang schalten
attr FB_WLAN_Gast_schalten group WLAN
attr FB_WLAN_Gast_schalten icon my_Zahnrad_29px
attr FB_WLAN_Gast_schalten room Steuerung
# Logik Fritz!Box WLAN in abhängigkeit von Nachtschaltung und Anwesenheitserkennung schalten
define FB_WLAN_Schaltfunktion notify Nachtschaltung:.*|Whg_Anwesenheit:.* { \
if((Value("Nachtschaltung") eq "Nein") && (Value("Whg_Anwesenheit") eq "Anwesend")) { \
if(Value("FB_WLAN") ne "An") { \
fhem("set FB_WLAN An") \
} \
} \
else {\
if (Value("FB_WLAN") ne "Aus") { \
fhem("set FB_WLAN Aus") \
} \
} \
}
attr FB_WLAN_Schaltfunktion alias Fritz!Box WLAN in Abhängkeit schalten
attr FB_WLAN_Schaltfunktion group WLAN
attr FB_WLAN_Schaltfunktion icon my_Zahnrad_29px
attr FB_WLAN_Schaltfunktion room Steuerung
##### Fritz!Box WLAN An und Aus schalten Ende #####
Eventuell kannst Du Teile aus den Code brauchen!
Gruß Bernd
Ich hatte das auch übernommen, es hat monatelang einwandfrei funktioniert.
Seit einigen Tagen steht im Status nur noch jeweils ???
Hat jemand ähnliche Prbleme?
das sieht sehr kompliziert aus...
ich habe das mit WLAN und gWLAN so gelöst und der Status wird immer korrekt signalisiert:
Internals:
DEF Fritzbox:box_guestWlan
DEVICE Fritzbox
NAME gWLAN
NR 388
NTFY_ORDER 50-gWLAN
READING box_guestWlan
STATE off
TYPE readingsProxy
Content:
Fritzbox 1
Readings:
2016-10-09 10:24:47 lastCmd off
2016-11-25 22:29:13 state off
Attributes:
alias WLAN-Gäste
devStateIcon on:10px-kreis-gruen off:10px-kreis-rot
group Steuerung
icon it_wifi
room Haus
setFn {($CMD eq "off")?"guestWlan off":"guestWlan on";;}
setList on off
webCmd on:off