From f2fafef7c65f92dac4e7dd6218ff0ccb65b74f98 Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Wed, 31 Jul 2013 18:51:30 +0000 Subject: [PATCH] added option do display uptime in seconds git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@3563 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/32_SYSSTAT.pm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/FHEM/32_SYSSTAT.pm b/FHEM/32_SYSSTAT.pm index 25025ba06..8d84da86c 100644 --- a/FHEM/32_SYSSTAT.pm +++ b/FHEM/32_SYSSTAT.pm @@ -17,7 +17,7 @@ SYSSTAT_Initialize($) $hash->{UndefFn} = "SYSSTAT_Undefine"; $hash->{GetFn} = "SYSSTAT_Get"; $hash->{AttrFn} = "SYSSTAT_Attr"; - $hash->{AttrList} = "filesystems raspberrycpufreq:1 raspberrytemperature:0,1,2 showpercent:1 uptime:1 useregex:1 ssh_user loglevel:0,1,2,3,4,5,6 ". + $hash->{AttrList} = "filesystems raspberrycpufreq:1 raspberrytemperature:0,1,2 showpercent:1 uptime:1,2 useregex:1 ssh_user loglevel:0,1,2,3,4,5,6 ". $readingFnAttributes; } @@ -352,12 +352,25 @@ sub SYSSTAT_getUptime($) { my ($hash) = @_; + my $name = $hash->{NAME}; my $uptime = SYSSTAT_readCmd($hash,"uptime",0); - $uptime = $1 if( $uptime =~ m/up\s((\d+\D+,\s)?[\d:]+)/ ); + $uptime = $1 if( $uptime =~ m/up\s+(((\d+)\D+,\s+)?(\d+):(\d+))/ ); $uptime = "0 days, $uptime" if( !$2); + if( AttrVal($name, "uptime", "0") == 2 ) { + my $days = $3?$3:0; + my $hours = $4; + my $minutes = $5; + + $uptime = $days * 24; + $uptime += $hours; + $uptime *= 60; + $uptime += $minutes; + $uptime *= 60; + } + return $uptime; } @@ -456,6 +469,7 @@ SYSSTAT_getUptime($) If set to 2 a geometric average over the last 4 values is created.
  • uptime
    If set and > 0 the system uptime is read.
    + If set to 2 the uptime is displayed in seconds.
  • useregex
    If set the entries of the filesystems list are treated as regex.
  • ssh_user