diff --git a/fhem/FHEM/42_SYSMON.pm b/fhem/FHEM/42_SYSMON.pm
index 424805fc3..83aa24dfb 100644
--- a/fhem/FHEM/42_SYSMON.pm
+++ b/fhem/FHEM/42_SYSMON.pm
@@ -37,13 +37,17 @@ use Data::Dumper;
my $missingModulRemote;
eval "use Net::Telnet;1" or $missingModulRemote .= "Net::Telnet ";
-my $VERSION = "2.1.8";
+my $VERSION = "2.1.9";
use constant {
PERL_VERSION => "perl_version",
DATE => "date",
UPTIME => "uptime",
UPTIME_TEXT => "uptime_text",
+ STARTTIME_TEXT => "starttime_text",
+ STARTTIME => "starttime",
+ FHEMSTARTTIME_TEXT => "fhemstarttime_text",
+ FHEMSTARTTIME => "fhemstarttime",
FHEMUPTIME => "fhemuptime",
FHEMUPTIME_TEXT => "fhemuptime_text",
IDLETIME => "idletime",
@@ -340,6 +344,11 @@ SYSMON_updateCurrentReadingsMap($) {
$rMap->{"uptime"} = "System up time";
$rMap->{"uptime_text"} = "System up time";
+ $rMap->{+STARTTIME_TEXT} = "System start time";
+ $rMap->{+STARTTIME} = "System start time";
+
+ $rMap->{+FHEMSTARTTIME} = "Fhem start time";
+ $rMap->{+FHEMSTARTTIME_TEXT} = "Fhem start time";
# Werte fuer GesamtCPU
$rMap->{"stat_cpu"} = "CPU statistics";
@@ -1548,6 +1557,10 @@ SYSMON_getUptime($$)
#$map->{+UPTIME_TEXT} = sprintf("%d days, %02d hours, %02d minutes, %02d seconds",SYSMON_decode_time_diff($uptime));
$map->{+UPTIME_TEXT} = sprintf("%d days, %02d hours, %02d minutes",SYSMON_decode_time_diff($uptime));
+ my $startTime = time()-$uptime;
+ $map->{+STARTTIME} = sprintf("%d",$startTime);
+ $map->{+STARTTIME_TEXT} = strftime("%d.%m.%Y %H:%M:%S", localtime($startTime));
+
$map->{+IDLETIME}=sprintf("%d %.2f %%",$idle, $idle_percent);
$map->{+IDLETIME_TEXT} = sprintf("%d days, %02d hours, %02d minutes",SYSMON_decode_time_diff($idle)).sprintf(" (%.2f %%)",$idle_percent);
#$map->{+IDLETIME_PERCENT} = sprintf ("%.2f %",$idle_percent);
@@ -1595,6 +1608,10 @@ SYSMON_getUptime2($$)
$map->{+UPTIME}=sprintf("%d",$uptime);
$map->{+UPTIME_TEXT} = sprintf("%d days, %02d hours, %02d minutes",SYSMON_decode_time_diff($uptime));
+ my $startTime = time()-$uptime;
+ $map->{+STARTTIME} = sprintf("%d",$startTime);
+ $map->{+STARTTIME_TEXT} = strftime("%d.%m.%Y %H:%M:%S", localtime($startTime));
+
my $loadavg=$6;
if(defined($loadavg)) {
my ($la1, $la5, $la15, $prc, $lastpid) = split(/\s+/, trim($loadavg));
@@ -1628,6 +1645,10 @@ SYSMON_getFHEMUptime($$)
my $fhemuptime = time()-$fhem_started;
$map->{+FHEMUPTIME} = sprintf("%d",$fhemuptime);
$map->{+FHEMUPTIME_TEXT} = sprintf("%d days, %02d hours, %02d minutes",SYSMON_decode_time_diff($fhemuptime));
+
+ my $startTime = time()-$fhemuptime;
+ $map->{+FHEMSTARTTIME} = sprintf("%d",$startTime);
+ $map->{+FHEMSTARTTIME_TEXT} = strftime("%d.%m.%Y %H:%M:%S", localtime($startTime));
}
return $map;
@@ -1769,10 +1790,11 @@ SYSMON_getCPUFreq($$;$) {
if($cpuNum == 0) {
# aus Kompatibilitaetsgruenden
$map->{+CPU_FREQ}="$val_txt";
- #$map = SYSMON_getComputeStat($hash, $map, $val_txt, CPU_FREQ."_stat");
+ $map = SYSMON_getComputeStat($hash, $map, $val_txt, CPU_FREQ."_stat");
}
$map->{"cpu".$cpuNum."_freq"}="$val_txt";
+
$map = SYSMON_getComputeStat($hash, $map, $val_txt, "cpu".$cpuNum."_freq"."_stat");
return $map;
@@ -4051,7 +4073,7 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
Filesystem informations