From 09546147b408577d8e77358077fb61a8282eaee1 Mon Sep 17 00:00:00 2001 From: grompo <> Date: Fri, 11 Dec 2015 19:52:20 +0000 Subject: [PATCH] FRITZBOX: bugfix unvalid sid git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@10154 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/72_FRITZBOX.pm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/FHEM/72_FRITZBOX.pm b/FHEM/72_FRITZBOX.pm index 36e20e7d0..a81387d63 100644 --- a/FHEM/72_FRITZBOX.pm +++ b/FHEM/72_FRITZBOX.pm @@ -1399,7 +1399,7 @@ sub FRITZBOX_Readout_Run_Web($) FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "box_cpuTemp", $result->{box_cpuTemp}; # GSM #FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "gsm_modem", $result->{GSM_ModemPresent}; - if ($result->{GSM_NetworkState} ne "0") { + if (defined $result->{GSM_NetworkState} && $result->{GSM_NetworkState} ne "0") { FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "gsm_rssi", $result->{GSM_RSSI}; FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "gsm_state", $result->{GSM_NetworkState}, "gsmnetstate"; FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "gsm_technology", $result->{GSM_AcT}, "gsmact"; @@ -1541,17 +1541,23 @@ sub FRITZBOX_Readout_Process($$) # Statistics if ( defined $values{".box_TodayBytesReceivedLow"} && defined $hash->{READINGS}{".box_TodayBytesReceivedLow"}) { my $valueHigh = $values{".box_TodayBytesReceivedHigh"} - $hash->{READINGS}{".box_TodayBytesReceivedHigh"}{VAL}; + # FRITZBOX_Log $hash, 5, "valueHigh $valueHigh"; $valueHigh *= 2**22; + # FRITZBOX_Log $hash, 5, "valueHigh $valueHigh"; my $valueLow = $values{".box_TodayBytesReceivedLow"} - $hash->{READINGS}{".box_TodayBytesReceivedLow"}{VAL};; + # FRITZBOX_Log $hash, 5, "valueLow $valueLow"; $valueLow /= 2**10; + # FRITZBOX_Log $hash, 5, "valueLow $valueLow"; + # FRITZBOX_Log $hash, 5, "valueHigh+valueLow: ". ($valueHigh+$valueLow); my $time = time()-time_str2num($hash->{READINGS}{".box_TodayBytesReceivedLow"}{TIME}); - readingsBulkUpdate( $hash, "box_rateDown", sprintf ("%.3f", ($valueHigh+$valueLow) / $time )); + # FRITZBOX_Log $hash, 5, "time: $time"; + $values{ "box_rateDown" } = sprintf ("%.3f", ($valueHigh+$valueLow) / $time ); } if ( defined $values{".box_TodayBytesSentLow"} && defined $hash->{READINGS}{".box_TodayBytesSentLow"}) { my $valueHigh = $values{".box_TodayBytesSentHigh"} - $hash->{READINGS}{".box_TodayBytesSentHigh"}{VAL}; my $time = time()-time_str2num($hash->{READINGS}{".box_TodayBytesSentLow"}{TIME}); my $valueLow = $values{".box_TodayBytesSentLow"} - $hash->{READINGS}{".box_TodayBytesSentLow"}{VAL};; - readingsBulkUpdate( $hash, "box_rateUp", sprintf ("%.3f", ($valueHigh*2**22+$valueLow/2**10) / $time )); + $values{ "box_rateUp" } = sprintf ("%.3f", ( $valueHigh * 2**22 + $valueLow / 2**10 ) / $time ); } # Fill all handed over readings @@ -4345,6 +4351,7 @@ sub FRITZBOX_Web_Query($$@) FRITZBOX_Log $hash, 5, "Request data via API luaQuery."; my $host = $hash->{HOST}; my $url = 'http://' . $host . '/query.lua?sid=' . $sid . $queryStr; + # FRITZBOX_Log $hash, 5, "URL: $url"; my $agent = LWP::UserAgent->new( env_proxy => 1, keep_alive => 1, protocols_allowed => ['http'], timeout => 10); my $response = $agent->get ( $url ); @@ -4360,7 +4367,7 @@ sub FRITZBOX_Web_Query($$@) my %retHash = ("Error" => $response->status_line); return \%retHash; } - if ($response->content =~ "") { + if ($response->content =~ /|"pid": "logout"/) { my %retHash = ("Error" => "Old SID not valid anymore.", "ResetSID" => "1"); return \%retHash; } @@ -4863,7 +4870,7 @@ sub FRITZBOX_fritztris($)
  • gsm_internet - connection to internet established via GSM stick
  • gsm_rssi - received signal strength indication (0-100)
  • gsm_state - state of the connection to the GSM network
  • -
  • gsm_technology - technology used for internet connections via GSM (GPRS, EDGE, UMTS, HSPA)
  • +
  • gsm_technology - GSM technology used for data transfer (GPRS, EDGE, UMTS, HSPA)

  • mac_01_26_FD_12_01_DA - MAC address and name of an active network device

  • @@ -5201,7 +5208,7 @@ sub FRITZBOX_fritztris($)
  • gsm_internet - Internetverbindung errichtet über Mobilfunk-Stick
  • gsm_rssi - Indikator der empfangenen GSM-Signalstärke (0-100)
  • gsm_state - Status der Mobilfunk-Verbindung
  • -
  • gsm_technology - Technologie die für eine Internetverbindung über GSM genutzt wird (GPRS, EDGE, UMTS, HSPA)
  • +
  • gsm_technology - GSM-Technologie, die für die Datenübertragung genutzt wird (GPRS, EDGE, UMTS, HSPA)

  • mac_01_26_FD_12_01_DA - MAC Adresse und Name eines aktiven Netzwerk-Gerätes