From a5c2b5d3f6acd0ecd2dbb023b3c03965d5336018 Mon Sep 17 00:00:00 2001 From: hexenmeister Date: Sun, 19 Jan 2014 23:10:26 +0000 Subject: [PATCH] unnoetige Readings erkenen und entfernen git-svn-id: https://svn.fhem.de/fhem/trunk@4698 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 2 +- fhem/FHEM/42_SYSMON.pm | 78 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 75 insertions(+), 5 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 8a86e7c78..602f829ab 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,7 +1,7 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. - SVN - - bugfix: SYSMON: Log Warnings + - bugfix: SYSMON: Log Warnings, unnoetige Readings erkenen und entfernen - feature: Setting of controller parameter now possible for LUXTRONIK2 - feature: new module 71_YAMAHA_BD.pm to control Yamaha Blu-Ray players over network. diff --git a/fhem/FHEM/42_SYSMON.pm b/fhem/FHEM/42_SYSMON.pm index 2f303f7cc..ae93e0fb6 100644 --- a/fhem/FHEM/42_SYSMON.pm +++ b/fhem/FHEM/42_SYSMON.pm @@ -30,7 +30,7 @@ package main; use strict; use warnings; -my $VERSION = "1.2.2"; +my $VERSION = "1.2.4"; use constant { DATE => "date", @@ -222,6 +222,54 @@ SYSMON_updateCurrentReadingsMap($) { } } } + } else { + # Default Networkadapters + # Wenn nichts definiert, werden Default-Werte verwendet + if(SYSMON_isFB($hash)) { + my $nName = "ath0"; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = "ath1"; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = "cpmac0"; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = "dsl"; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = ETH0; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = "guest"; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = "hotspot"; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = "lan"; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = "vdsl"; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + } else { + my $nName = ETH0; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + + $nName = WLAN0; + $rMap->{$nName} = "Network adapter ".$nName; + $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; + } } # User defined @@ -254,7 +302,8 @@ SYSMON_getObsoleteReadingsMap($) { foreach my $aName (@cKeys) { if(defined ($aName)) { # alles hinzufuegen, was nicht in der Aktuellen Liste ist - if(!$cur_readings_map->{$aName}) { + if(!defined($cur_readings_map->{$aName})) { + #Log 3, "SYSMON>>>>>>>>>>>>>>>>> SYSMON_getObsoleteReadingsMap >>> $aName"; $rMap->{$aName} = 1; } } @@ -535,7 +584,8 @@ SYSMON_obtainParameters($$) } } else { # Wenn nichts definiert, werden Default-Werte verwendet - if(SYSMON_isFB($hash)) { + #Log 3, "SYSMON>>>>>>>>>>>>>>>>>>>>>>>>> NETWORK"; + if(SYSMON_isFB($hash)) { $map = SYSMON_getNetworkInfo($hash, $map, "ath0"); $map = SYSMON_getNetworkInfo($hash, $map, "ath1"); $map = SYSMON_getNetworkInfo($hash, $map, "cpmac0"); @@ -546,8 +596,12 @@ SYSMON_obtainParameters($$) $map = SYSMON_getNetworkInfo($hash, $map, "lan"); $map = SYSMON_getNetworkInfo($hash, $map, "vdsl"); } else { + #Log 3, "SYSMON>>>>>>>>>>>>>>>>>>>>>>>>> ".ETH0; $map = SYSMON_getNetworkInfo($hash, $map, ETH0); + #Log 3, "SYSMON>>>>>>>>>>>>>>>>>>>>>>>>> ".$map->{+ETH0}; + #Log 3, "SYSMON>>>>>>>>>>>>>>>>>>>>>>>>> ".WLAN0; $map = SYSMON_getNetworkInfo($hash, $map, WLAN0); + #Log 3, "SYSMON>>>>>>>>>>>>>>>>>>>>>>>>> ".$map->{+WLAN0}; } } } @@ -890,10 +944,12 @@ sub SYSMON_getNetworkInfo ($$$) #my @dataThroughput = qx($cmd); my @dataThroughput = SYSMON_execute($hash, $cmd); + #Log 3, "SYSMON>>>>>>>>>>>>>>>>> ".$dataThroughput[0]; # check if network available if (index($dataThroughput[0], 'Fehler') < 0 && index($dataThroughput[0], 'error') < 0) - { + { + #Log 3, "SYSMON>>>>>>>>>>>>>>>>> OK >>>".$dataThroughput[0]; my $dataThroughput = undef; foreach (@dataThroughput) { if(index($_, 'RX bytes') >= 0) { @@ -933,6 +989,8 @@ sub SYSMON_getNetworkInfo ($$$) my $out_txt_diff = "RX: ".sprintf ("%.2f", $d_rx)." MB, TX: ".sprintf ("%.2f", $d_tx)." MB, Total: ".sprintf ("%.2f", $d_tt)." MB"; $map->{$nName.DIFF_SUFFIX} = $out_txt_diff; } else { + #Log 3, "SYSMON>>>>>>>>>>>>>>>>> NOK "; + #Log 3, "SYSMON>>>>>>>>>>>>>>>>> >>> ".$nName; $map->{$nName} = "not available"; $map->{$nName.DIFF_SUFFIX} = "not available"; } @@ -1486,6 +1544,12 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is attr wl_sysmon_eth0 label "Netzwerk-Traffic eth0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_eth0 room 9.03_Tech

+ # Visualisierung: Netzwerk-Datenübertragung fü wlan0
+ define wl_sysmon_wlan0 SVG FileLog_sysmon:SM_Network_wlan0:CURRENT
+ attr wl_sysmon_wlan0 group RPi
+ attr wl_sysmon_wlan0 label "Netzwerk-Traffic wlan0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
+ attr wl_sysmon_wlan0 room 9.03_Tech
+
# Visualisierung: CPU-Auslastung (load average)
define wl_sysmon_load SVG FileLog_sysmon:SM_Load:CURRENT
attr wl_sysmon_load group RPi
@@ -1881,6 +1945,12 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is attr wl_sysmon_eth0 label "Netzwerk-Traffic eth0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr wl_sysmon_eth0 room 9.03_Tech

+ # Visualisierung: Netzwerk-Datenübertragung fü wlan0
+ define wl_sysmon_wlan0 SVG FileLog_sysmon:SM_Network_wlan0:CURRENT
+ attr wl_sysmon_wlan0 group RPi
+ attr wl_sysmon_wlan0 label "Netzwerk-Traffic wlan0: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
+ attr wl_sysmon_wlan0 room 9.03_Tech
+
# Visualisierung: CPU-Auslastung (load average)
define wl_sysmon_load SVG FileLog_sysmon:SM_Load:CURRENT
attr wl_sysmon_load group RPi