From fa2b7e585da46b94942397dfa481d995d29ca54c Mon Sep 17 00:00:00 2001 From: hexenmeister Date: Thu, 7 Aug 2014 21:28:43 +0000 Subject: [PATCH] added new readings for each network interface: ip and ip6 git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@6376 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/42_SYSMON.pm | 53 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/42_SYSMON.pm b/fhem/FHEM/42_SYSMON.pm index 3acb57acb..af5ed81eb 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.5.0"; +my $VERSION = "1.6.0"; use constant { DATE => "date", @@ -60,6 +60,8 @@ use constant { ETH0 => "eth0", WLAN0 => "wlan0", DIFF_SUFFIX => "_diff", + IP_SUFFIX => "_ip", + IP6_SUFFIX => "_ip6", FB_WLAN_STATE => "wlan_state", FB_WLAN_GUEST_STATE => "wlan_guest_state", FB_INET_IP => "internet_ip", @@ -307,6 +309,8 @@ SYSMON_updateCurrentReadingsMap($) { $rMap->{$nName."_diff"} = $nPt." (diff)"; $rMap->{$nName."_rx"} = $nPt." (RX)"; $rMap->{$nName."_tx"} = $nPt." (TX)"; + $rMap->{$nName."_ip"} = $nPt." (IP)"; + $rMap->{$nName."_ip6"} = $nPt." (IP6)"; } } else { @@ -318,54 +322,72 @@ SYSMON_updateCurrentReadingsMap($) { $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = "ath1"; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = "cpmac0"; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = "dsl"; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = ETH0; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = "guest"; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = "hotspot"; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = "lan"; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = "vdsl"; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; } else { my $nName = ETH0; @@ -373,12 +395,16 @@ SYSMON_updateCurrentReadingsMap($) { $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; $nName = WLAN0; $rMap->{$nName} = "Network adapter ".$nName; $rMap->{$nName."_diff"} = "Network adapter ".$nName." (diff)"; $rMap->{$nName."_rx"} = "Network adapter ".$nName." (RX)"; $rMap->{$nName."_tx"} = "Network adapter ".$nName." (TX)"; + $rMap->{$nName."_ip"} = "Network adapter ".$nName." (IP)"; + $rMap->{$nName."_ip6"} = "Network adapter ".$nName." (IP6)"; } } @@ -1475,12 +1501,27 @@ sub SYSMON_getNetworkInfo ($$$) # Kollisionen:0 Sendewarteschlangenlaenge:1000 # RX bytes:25517384 (24.3 MiB) TX bytes:683970999 (652.2 MiB) + my $ip = undef; my $ip6 = undef; foreach (@dataThroughput) { + if($_=~ m/inet\s+(addr:)*(\S*)/) { + $ip=$2; + } + if($_=~ m/inet6\s+(addr:)*\s*(\S*)/) { + $ip6=$2; + } if(index($_, 'RX bytes') >= 0) { $dataThroughput = $_; last; } } + + if(defined $ip) { + $map->{$nName.IP_SUFFIX} = $ip; + } + + if(defined $ip6) { + $map->{$nName.IP6_SUFFIX} = $ip6; + } my $rxRaw = -1; my $txRaw = -1; @@ -2139,7 +2180,7 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
  • cpu_bogomips
    CPU Speed: BogoMIPS
  • -
  • cpu_freq
    +
  • cpu_freq (and cpu1_freq for dual core systems)
    CPU frequency

  • @@ -2195,6 +2236,9 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is eth0: RX: 940.58 MB, TX: 736.19 MB, Total: 1676.77 MB
    Change of the amount of the transferred data in relation to the previous call (for eth0).
    eth0_diff: RX: 0.66 MB, TX: 0.06 MB, Total: 0.72 MB
    + IP and IP v6 adresses + eth0_ip 192.168.0.15
    + eth0_ip6 fe85::49:4ff:fe85:f885/64

  • File system information
    @@ -2640,7 +2684,7 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
  • cpu_bogomips
    CPU Speed: BogoMIPS
  • -
  • cpu_freq
    +
  • cpu_freq (auf den DualCore-Systemen wie Cubietruck auch cpu1_freq)
    CPU-Frequenz

  • @@ -2698,6 +2742,9 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is eth0: RX: 940.58 MB, TX: 736.19 MB, Total: 1676.77 MB
    Änderung der übertragenen Datenmenge in Bezug auf den vorherigen Aufruf (für eth0).
    eth0_diff: RX: 0.66 MB, TX: 0.06 MB, Total: 0.72 MB
    + IP and IP v6 Adressen + eth0_ip 192.168.0.15
    + eth0_ip6 fe85::49:4ff:fe85:f885/64

  • Dateisysteminformationen