From 7f11f5a1b67b865f9e1255c7f2c5d89b3c7820e8 Mon Sep 17 00:00:00 2001 From: tpoitzsch <> Date: Thu, 2 Jul 2015 18:04:08 +0000 Subject: [PATCH] FRITZBOX: new readings "mac_..." for _active_ network devices git-svn-id: https://svn.fhem.de/fhem/trunk@8872 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/72_FRITZBOX.pm | 58 +++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/fhem/FHEM/72_FRITZBOX.pm b/fhem/FHEM/72_FRITZBOX.pm index d3ae31ca9..ec13b01bd 100644 --- a/fhem/FHEM/72_FRITZBOX.pm +++ b/fhem/FHEM/72_FRITZBOX.pm @@ -49,7 +49,8 @@ eval "use MIME::Base64;1" or $missingModul .= "MIME::Base64 "; use FritzBoxUtils; ## only for web access login #sudo apt-get install libjson-perl -eval "use JSON::XS;1" or $missingModulWeb .= "JSON::XS "; +# eval "use JSON::XS;1" or $missingModulWeb .= "JSON::XS "; +eval "use JSON;1" or $missingModulWeb .= "JSON "; eval "use LWP::UserAgent;1" or $missingModulWeb .= "LWP::UserAgent "; eval "use URI::Escape;1" or $missingModulTR064 .= "URI::Escape "; @@ -963,6 +964,7 @@ sub FRITZBOX_Readout_Run_Web($) my $queryStr = "&radio=configd:settings/WEBRADIO/list(Name)"; # Webradio $queryStr .= "&box_dect=dect:settings/enabled"; # DECT Sender $queryStr .= "&handset=dect:settings/Handset/list(User,Manufacturer,Model,FWVersion)"; # DECT Handsets + $queryStr .= "&lanDevice=landevice:settings/landevice/list(ip,name,mac,active)"; # LAN devices $queryStr .= "&init=telcfg:settings/Foncontrol"; # Init $queryStr .= "&box_stdDialPort=telcfg:settings/DialPort"; #Dial Port $queryStr .= "&dectUser=telcfg:settings/Foncontrol/User/list(Id,Name,Intern,IntRingTone,AlarmRingTone0,RadioRingID,ImagePath,G722RingTone,G722RingToneName)"; # DECT Numbers @@ -970,7 +972,6 @@ sub FRITZBOX_Readout_Run_Web($) $queryStr .= "&alarmClock=telcfg:settings/AlarmClock/list(Name,Active,Time,Number,Weekdays)"; # Alarm Clock $queryStr .= "&diversity=telcfg:settings/Diversity/list(MSN,Active,Destination)"; # Diversity (Rufumleitung) $queryStr .= "&box_moh=telcfg:settings/MOHType"; # Music on Hold - $queryStr .= "&lanDevice=landevice:settings/landevice/list(ip,name)"; # LAN devices $queryStr .= "&box_fwVersion=logic:status/nspver"; # FW Version $queryStr .= "&box_powerRate=power:status/rate_sumact"; # Power Rate $queryStr .= "&tam=tam:settings/TAM/list(Name,Display,Active,NumNewMessages,NumOldMessages)"; # TAM @@ -1073,6 +1074,15 @@ sub FRITZBOX_Readout_Run_Web($) my $dName = $_->{name}; FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "fhem->landevice->$dIp", $dName; $landevice{$dIp}=$dName; + my $rName = "mac_".$_->{mac}; +# Create a reading if a landevice is connected + if ($_->{active} == 1) { + FRITZBOX_Readout_Add_Reading $hash, \@roReadings, $rName, $_->{name}; + } + # Delete the mac readings if the device is not online anymore + elsif (exists $hash->{READINGS}{$rName}) { + FRITZBOX_Readout_Add_Reading $hash, \@roReadings, $rName, ""; + } } # WLANs @@ -4328,7 +4338,7 @@ sub FRITZBOX_fritztris($)
  • alarm1_target - Internal number of the alarm clock 1
  • alarm1_time - Alarm time of the alarm clock 1
  • alarm1_wdays - Weekdays of the alarm clock 1
  • - +
  • box_dect - Current state of the DECT base
  • box_fwVersion - Firmware version of the box, if outdated then '(old)' is appended
  • box_guestWlan - Current state of the guest WLAN
  • @@ -4344,7 +4354,7 @@ sub FRITZBOX_fritztris($)
  • box_tr069 - provider remote access TR-069 (safety issue!)
  • box_wlan_2.4GHz - Current state of the 2.4 GHz WLAN
  • box_wlan_5GHz - Current state of the 5 GHz WLAN
  • - +
  • dect1 - Name of the DECT device 1
  • dect1_alarmRingTone - Alarm ring tone of the DECT device 1
  • dect1_custRingTone - Customer ring tone of the DECT device 1
  • @@ -4354,22 +4364,24 @@ sub FRITZBOX_fritztris($)
  • dect1_manufacturer - Manufacturer of the DECT device 1
  • dect1_model - Model of the DECT device 1
  • dect1_radio - Current internet radio station ring tone of the DECT device 1
  • - -
  • fon1 - Internal name of the analog FON port 1
  • -
  • fon1_intern - Internal number of the analog FON port 1
  • -
  • fon1_out - Outgoing number of the analog FON port 1
  • - +
  • diversity1 - Own (incoming) phone number of the call diversity 1
  • diversity1_dest - Destination of the call diversity 1
  • diversity1_state - Current state of the call diversity 1
  • - +
    +
  • fon1 - Internal name of the analog FON port 1
  • +
  • fon1_intern - Internal number of the analog FON port 1
  • +
  • fon1_out - Outgoing number of the analog FON port 1
  • +
    +
  • mac_01:26:FD:12:01:DA - mac address and name of an active network device
  • +
  • radio01 - Name of the internet radio station 01
  • - +
  • tam1 - Name of the answering machine 1
  • tam1_newMsg - New messages on the answering machine 1
  • tam1_oldMsg - Old messages on the answering machine 1
  • tam1_state - Current state of the answering machine 1
  • - +
  • user01 - Name of user/IP 1 that is under parental control
  • user01_thisMonthTime - this month internet usage of user/IP 1 (parental control)
  • user01_todaySeconds - today's internet usage in seconds of user/IP 1 (parental control)
  • @@ -4638,7 +4650,7 @@ sub FRITZBOX_fritztris($)
  • alarm1_target - Interne Nummer des Weckrufs 1
  • alarm1_time - Weckzeit des Weckrufs 1
  • alarm1_wdays - Wochentage des Weckrufs 1
  • - +
  • box_dect - Aktueller Status des DECT-Basis
  • box_fwVersion - Firmware-Version der Box, wenn veraltet dann wird '(old)' angehangen
  • box_guestWlan - Aktueller Status des Gäste-WLAN
  • @@ -4653,7 +4665,7 @@ sub FRITZBOX_fritztris($)
  • box_tr069 - Provider-Fernwartung TR-069 (sicherheitsrelevant!)
  • box_wlan_2.4GHz - Aktueller Status des 2.4-GHz-WLAN
  • box_wlan_5GHz - Aktueller Status des 5-GHz-WLAN
  • - +
  • dect1 - Name des DECT Telefons 1
  • dect1_alarmRingTone - Klingelton beim Wecken über das DECT Telefon 1
  • dect1_custRingTone - Benutzerspezifischer Klingelton des DECT Telefons 1
  • @@ -4663,22 +4675,24 @@ sub FRITZBOX_fritztris($)
  • dect1_manufacturer - Hersteller des DECT Telefons 1
  • dect1_model - Modell des DECT Telefons 1
  • dect1_radio - aktueller Internet-Radio-Klingelton des DECT Telefons 1
  • - -
  • fon1 - Name des analogen Telefonanschlusses 1 an der Fritz!Box
  • -
  • fon1_intern - Interne Nummer des analogen Telefonanschlusses 1
  • -
  • fon1_out - ausgehende Nummer des Anschlusses 1
  • - +
  • diversity1 - Eigene Rufnummer der Rufumleitung 1
  • diversity1_dest - Zielnummer der Rufumleitung 1
  • diversity1_state - Aktueller Status der Rufumleitung 1
  • - +
    +
  • fon1 - Name des analogen Telefonanschlusses 1 an der Fritz!Box
  • +
  • fon1_intern - Interne Nummer des analogen Telefonanschlusses 1
  • +
  • fon1_out - ausgehende Nummer des Anschlusses 1
  • +
    +
  • mac_01:26:FD:12:01:DA - MAC Adresse und Namen eine aktiven Netzwerk-Gerätes
  • +
  • radio01 - Name der Internetradiostation 01
  • - +
  • tam1 - Name des Anrufbeantworters 1
  • tam1_newMsg - Anzahl neuer Nachrichten auf dem Anrufbeantworter 1
  • tam1_oldMsg - Anzahl alter Nachrichten auf dem Anrufbeantworter 1
  • tam1_state - Aktueller Status des Anrufbeantworters 1
  • - +
  • user01 - Name von Nutzer/IP 1 für den eine Zugangsbeschränkung (Kindersicherung) eingerichtet ist
  • user01_thisMonthTime - Internetnutzung des Nutzers/IP 1 im aktuellen Monat (Kindersicherung)
  • user01_todaySeconds - heutige Internetnutzung des Nutzers/IP 1 in Sekunden (Kindersicherung)