From a3b98833ffc138abf369588773485fe27b413bfd Mon Sep 17 00:00:00 2001 From: hexenmeister Date: Mon, 31 Jul 2017 16:53:41 +0000 Subject: [PATCH] bugfix: computing cpu idle (wrong value on raspberry pi 3) git-svn-id: https://svn.fhem.de/fhem/trunk@14823 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/42_SYSMON.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/42_SYSMON.pm b/fhem/FHEM/42_SYSMON.pm index 347259607..88b2da076 100644 --- a/fhem/FHEM/42_SYSMON.pm +++ b/fhem/FHEM/42_SYSMON.pm @@ -42,7 +42,7 @@ use Data::Dumper; my $missingModulRemote; eval "use Net::Telnet;1" or $missingModulRemote .= "Net::Telnet "; -my $VERSION = "2.3.1"; +my $VERSION = "2.3.2"; use constant { PERL_VERSION => "perl_version", @@ -1613,6 +1613,13 @@ SYSMON_getUptime($$) my $uptime_str = SYSMON_execute($hash, "cat /proc/uptime"); if(defined($uptime_str)) { my ($uptime, $idle) = split(/\s+/, trim($uptime_str)); + #postfux use idle from /proc/stat instead + my $stat_str = SYSMON_execute($hash, "cat /proc/stat|grep 'cpu '"); + my($tName, $neuCPUuser, $neuCPUnice, $neuCPUsystem, $neuCPUidle, $neuCPUiowait, $neuCPUirq, $neuCPUsoftirq) = split(/\s+/, trim($stat_str)); + if(defined($neuCPUidle)){ + $idle=$neuCPUidle/100; + } + #postfux if(defined($uptime) && int($uptime)!=0) { # Anzahl Cores beruecksichtigen my $core_num = SYSMON_getCPUCoreNum_intern($hash);