mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-01 01:09:47 +00:00
feature: new reading: cpu_core_count
feature: Allows to suppress reading certain information. git-svn-id: https://svn.fhem.de/fhem/trunk@8371 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
9135361f36
commit
e1c4ebafa5
@ -37,7 +37,7 @@ use Data::Dumper;
|
||||
my $missingModulRemote;
|
||||
eval "use Net::Telnet;1" or $missingModulRemote .= "Net::Telnet ";
|
||||
|
||||
my $VERSION = "2.1.4";
|
||||
my $VERSION = "2.1.5";
|
||||
|
||||
use constant {
|
||||
PERL_VERSION => "perl_version",
|
||||
@ -51,7 +51,8 @@ use constant {
|
||||
};
|
||||
|
||||
use constant {
|
||||
CPU_FREQ => "cpu_freq",
|
||||
CPU_CORE_CNT => "cpu_core_count",
|
||||
CPU_FREQ => "cpu_freq",
|
||||
CPU0_FREQ => "cpu0_freq",
|
||||
CPU1_FREQ => "cpu1_freq",
|
||||
CPU2_FREQ => "cpu2_freq",
|
||||
@ -128,6 +129,7 @@ SYSMON_Initialize($)
|
||||
"telnet-time-out ".
|
||||
"user-fn2 user-fn ".
|
||||
"telnet-prompt-regx telnet-login-prompt-regx ".
|
||||
"exclude ".
|
||||
$readingFnAttributes;
|
||||
}
|
||||
### attr NAME user-defined osUpdates:1440:Aktualisierungen:cat ./updates.txt [,<readingsName>:<Interval_Minutes>:<Comment>:<Cmd>]
|
||||
@ -268,6 +270,8 @@ SYSMON_updateCurrentReadingsMap($) {
|
||||
}
|
||||
}
|
||||
|
||||
$rMap->{+CPU_CORE_CNT} = "Number of CPU cores";
|
||||
|
||||
if(SYSMON_isSysPowerAc($hash)) {
|
||||
#$rMap->{"power_ac_online"} = "AC-Versorgung Status";
|
||||
#$rMap->{"power_ac_present"} = "AC-Versorgung vorhanden";
|
||||
@ -763,8 +767,13 @@ SYSMON_Attr($$$)
|
||||
my $orig = AttrVal($name, $attrName, "");
|
||||
|
||||
if( $orig ne $attrVal ) {
|
||||
|
||||
if( $cmd eq "set" ) {# set, del
|
||||
|
||||
if($attrName eq "exclude") {
|
||||
my @elist = split(/,\s*/, trim($attrVal));
|
||||
my %ehash = map { $_ => 1 } @elist;
|
||||
$hash->{helper}->{excludes}=\%ehash;
|
||||
}
|
||||
|
||||
if($attrName eq "disable")
|
||||
{
|
||||
@ -784,6 +793,10 @@ SYSMON_Attr($$$)
|
||||
|
||||
#return $attrName ." set to ". $attrVal;
|
||||
return undef;
|
||||
} elsif( $cmd eq "del" ) {
|
||||
if($attrName eq "exclude") {
|
||||
$hash->{helper}->{excludes}=undef;
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
@ -1097,6 +1110,9 @@ SYSMON_obtainParameters_intern($$)
|
||||
if($m1 gt 0) { # Nur wenn > 0
|
||||
# M1: cpu_freq, cpu_temp, cpu_temp_avg, loadavg, procstat, iostat
|
||||
if($refresh_all || ($ref % $m1) eq 0) {
|
||||
|
||||
$map = SYSMON_getCPUCoreNum($hash, $map);
|
||||
|
||||
#Log 3, "SYSMON -----------> DEBUG: read CPU-Temp";
|
||||
if(SYSMON_isCPUTempRPi($hash)) { # Rasp
|
||||
$map = SYSMON_getCPUTemp_RPi($hash, $map);
|
||||
@ -1367,6 +1383,8 @@ SYSMON_getUserDefined($$$$)
|
||||
my ($hash, $map, $uName, $uCmd) = @_;
|
||||
SYSMON_Log($hash, 5, "Name=[$uName] Cmd=[$uCmd]");
|
||||
|
||||
if($hash->{helper}->{excludes}{'user-defined'}) {return $map;}
|
||||
|
||||
my @out_arr = SYSMON_execute($hash, $uCmd);
|
||||
|
||||
my $out_str = "";
|
||||
@ -1388,6 +1406,9 @@ SYSMON_getUserDefined($$$$)
|
||||
sub SYSMON_getUserDefinedFn($$$@) {
|
||||
my($hash, $map, $fnName, @readings) = @_;
|
||||
|
||||
#SYSMON_Log($hash, 3, ">>>>>>>>>>>>>>>>>>>>> exclude: ".Dumper($hash->{helper}->{excludes}));
|
||||
if($hash->{helper}->{excludes}{'user-defined'}) {return $map;}
|
||||
|
||||
SYSMON_Log($hash, 5, "call User-Function: [$fnName]");
|
||||
if(defined $fnName) {
|
||||
no strict "refs";
|
||||
@ -1425,8 +1446,7 @@ sub SYSMON_getUserDefinedFn($$$@) {
|
||||
|
||||
#my $sys_cpu_core_num = undef;
|
||||
sub
|
||||
SYSMON_getCPUCoreNum($)
|
||||
{
|
||||
SYSMON_getCPUCoreNum_intern($) {
|
||||
my ($hash) = @_;
|
||||
|
||||
return $hash->{helper}{sys_cpu_core_num} if $hash->{helper}{sys_cpu_core_num};
|
||||
@ -1449,6 +1469,19 @@ SYSMON_getCPUCoreNum($)
|
||||
return $hash->{helper}{sys_cpu_core_num};
|
||||
}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# leifert Anzahl CPU Kerne
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getCPUCoreNum($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'cpucount'}) {return $map;}
|
||||
|
||||
my $cpuCoreCnt = SYSMON_getCPUCoreNum_intern($hash);
|
||||
$map->{+CPU_CORE_CNT}=$cpuCoreCnt;
|
||||
return $map;
|
||||
}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# leifert Zeit seit dem Systemstart
|
||||
#------------------------------------------------------------------------------
|
||||
@ -1457,13 +1490,15 @@ SYSMON_getUptime($$)
|
||||
{
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'uptime'}) {return $map;}
|
||||
|
||||
#my $uptime_str = qx(cat /proc/uptime );
|
||||
my $uptime_str = SYSMON_execute($hash, "cat /proc/uptime");
|
||||
if(defined($uptime_str)) {
|
||||
my ($uptime, $idle) = split(/\s+/, trim($uptime_str));
|
||||
if(defined($uptime) && int($uptime)!=0) {
|
||||
# Anzahl Cores beruecksichtigen
|
||||
my $core_num = SYSMON_getCPUCoreNum($hash);
|
||||
my $core_num = SYSMON_getCPUCoreNum_intern($hash);
|
||||
my $idle_percent = $idle/($uptime*$core_num)*100;
|
||||
|
||||
$map->{+UPTIME}=sprintf("%d",$uptime);
|
||||
@ -1486,6 +1521,8 @@ sub
|
||||
SYSMON_getUptime2($$)
|
||||
{
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'uptime'}) {return $map;}
|
||||
|
||||
#TODO
|
||||
my $uptime = SYSMON_execute($hash,"uptime");
|
||||
@ -1539,6 +1576,8 @@ sub
|
||||
SYSMON_getFHEMUptime($$)
|
||||
{
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fhemuptime'}) {return $map;}
|
||||
|
||||
#if(defined ($hash->{DEF_TIME})) {
|
||||
if(defined($fhem_started)) {
|
||||
@ -1558,6 +1597,8 @@ sub
|
||||
SYSMON_getLoadAvg($$)
|
||||
{
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'loadavg'}) {return $map;}
|
||||
|
||||
my $la_str = SYSMON_execute($hash, "cat /proc/loadavg");
|
||||
if(defined($la_str)) {
|
||||
@ -1577,10 +1618,11 @@ SYSMON_getLoadAvg($$)
|
||||
# leifert CPU Temperature (Raspberry Pi)
|
||||
#------------------------------------------------------------------------------
|
||||
sub
|
||||
SYSMON_getCPUTemp_RPi($$)
|
||||
{
|
||||
|
||||
SYSMON_getCPUTemp_RPi($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'cputemp'}) {return $map;}
|
||||
|
||||
my $val = SYSMON_execute($hash, "cat /sys/class/thermal/thermal_zone0/temp 2>&1");
|
||||
$val = int($val);
|
||||
if($val>1000) { # Manche Systeme scheinen die Daten verschieden zu skalieren (z.B. utilite)...
|
||||
@ -1597,9 +1639,11 @@ SYSMON_getCPUTemp_RPi($$)
|
||||
# leifert CPU Temperature (BeagleBone Black)
|
||||
#------------------------------------------------------------------------------
|
||||
sub
|
||||
SYSMON_getCPUTemp_BBB($$)
|
||||
{
|
||||
SYSMON_getCPUTemp_BBB($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'cputemp'}) {return $map;}
|
||||
|
||||
my $val = SYSMON_execute($hash, "cat /sys/class/hwmon/hwmon0/device/temp1_input 2>&1");
|
||||
$val = int($val);
|
||||
my $val_txt = sprintf("%.2f", $val/1000);
|
||||
@ -1616,9 +1660,11 @@ SYSMON_getCPUTemp_BBB($$)
|
||||
# leifert CPU Temperature (mehrere Kerne eines ?)
|
||||
#------------------------------------------------------------------------------
|
||||
sub
|
||||
SYSMON_getCPUTemp_X($$;$)
|
||||
{
|
||||
SYSMON_getCPUTemp_X($$;$) {
|
||||
my ($hash, $map, $cpuNum) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'cputemp'}) {return $map;}
|
||||
|
||||
$cpuNum = 0 unless defined $cpuNum;
|
||||
|
||||
my $val = SYSMON_execute($hash, "cat /sys/class/hwmon/hwmon0/device/hwmon/hwmon0/temp".($cpuNum+1)."_input 2>&1");
|
||||
@ -1634,10 +1680,11 @@ SYSMON_getCPUTemp_X($$;$)
|
||||
# leifert CPU Temperature (FritzBox)
|
||||
#------------------------------------------------------------------------------
|
||||
sub
|
||||
SYSMON_getCPUTemp_FB($$)
|
||||
{
|
||||
|
||||
SYSMON_getCPUTemp_FB($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'cputemp'}) {return $map;}
|
||||
|
||||
my $val = SYSMON_execute($hash, "ctlmgr_ctl r cpu status/StatTemperature");
|
||||
if(defined($val)) {
|
||||
if($val=~m/(\d+),/) {
|
||||
@ -1655,9 +1702,11 @@ SYSMON_getCPUTemp_FB($$)
|
||||
# leifert CPU Frequenz (Raspberry Pi, BeagleBone Black, Cubietruck, etc.)
|
||||
#------------------------------------------------------------------------------
|
||||
sub
|
||||
SYSMON_getCPUFreq($$;$)
|
||||
{
|
||||
SYSMON_getCPUFreq($$;$) {
|
||||
my ($hash, $map, $cpuNum) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'cpufreq'}) {return $map;}
|
||||
|
||||
$cpuNum = 0 unless defined $cpuNum;
|
||||
my $val = SYSMON_execute($hash, "cat /sys/devices/system/cpu/cpu".$cpuNum."/cpufreq/scaling_cur_freq 2>&1");
|
||||
$val = int($val);
|
||||
@ -1690,9 +1739,11 @@ SYSMON_getCPUFreq($$;$)
|
||||
# leifert CPU Speed in BogoMIPS
|
||||
#------------------------------------------------------------------------------
|
||||
sub
|
||||
SYSMON_getCPUBogoMIPS($$)
|
||||
{
|
||||
SYSMON_getCPUBogoMIPS($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'bogomips'}) {return $map;}
|
||||
|
||||
my $old_val = ReadingsVal($hash->{NAME},CPU_BOGOMIPS,undef);
|
||||
# nur einmalig ermitteln (wird sich ja nicht aendern
|
||||
if(!defined $old_val) {
|
||||
@ -1803,9 +1854,11 @@ SYSMON_getCPUBogoMIPS($$)
|
||||
# this partition.
|
||||
#------------------------------------------------------------------------------
|
||||
sub
|
||||
SYSMON_getDiskStat($$)
|
||||
{
|
||||
SYSMON_getDiskStat($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'diskstat'}) {return $map;}
|
||||
|
||||
my @values = SYSMON_execute($hash, "cat /proc/diskstats");
|
||||
|
||||
for my $entry (@values){
|
||||
@ -1903,9 +1956,11 @@ SYSMON_getDiskStat_intern($$$)
|
||||
# ProzCPUuser = (CPUuser / GesammtCPU) * 100
|
||||
#------------------------------------------------------------------------------
|
||||
sub
|
||||
SYSMON_getCPUProcStat($$)
|
||||
{
|
||||
SYSMON_getCPUProcStat($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'cpustat'}) {return $map;}
|
||||
|
||||
my @values = SYSMON_execute($hash, "cat /proc/stat");
|
||||
|
||||
for my $entry (@values){
|
||||
@ -1967,9 +2022,10 @@ SYSMON_getCPUProcStat_intern($$$)
|
||||
#------------------------------------------------------------------------------
|
||||
# Liefert Werte fuer RAM und SWAP (Gesamt, Verwendet, Frei).
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getRamAndSwap($$)
|
||||
{
|
||||
sub SYSMON_getRamAndSwap($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'ramswap'}) {return $map;}
|
||||
|
||||
#my @speicher = qx(free -m);
|
||||
my @speicher = SYSMON_execute($hash, "free");
|
||||
@ -2061,10 +2117,11 @@ sub SYSMON_isLinux()
|
||||
#------------------------------------------------------------------------------
|
||||
# Liefert Werte fuer RAM und SWAP (Gesamt, Verwendet, Frei).
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getRamAndSwapOSX($$)
|
||||
{
|
||||
sub SYSMON_getRamAndSwapOSX($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'ramswap'}) {return $map;}
|
||||
|
||||
my $debug = 0; # Nur zum Testen!
|
||||
|
||||
#my @speicher = qx(free -m);
|
||||
@ -2267,10 +2324,11 @@ sub SYSMON_fmtStorageAmount_($) {
|
||||
# Liefert Fuellstand fuer das angegebene Dateisystem (z.B. '/dev/root', '/dev/sda1' (USB stick)).
|
||||
# Eingabeparameter: HASH; MAP; FS-Bezeichnung
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFileSystemInfo ($$$)
|
||||
{
|
||||
sub SYSMON_getFileSystemInfo ($$$) {
|
||||
my ($hash, $map, $fs) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'filesystem'}) {return $map;}
|
||||
|
||||
SYSMON_Log($hash, 5, "get $fs");
|
||||
|
||||
# Neue Syntax: benannte Filesystems: <name>:<definition>
|
||||
@ -2366,9 +2424,11 @@ sub SYSMON_getFileSystemInfo ($$$)
|
||||
# Liefert Netztwerkinformationen
|
||||
# Parameter: HASH; MAP; DEVICE (eth0 or wlan0)
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getNetworkInfo ($$$)
|
||||
{
|
||||
sub SYSMON_getNetworkInfo ($$$) {
|
||||
my ($hash, $map, $device) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'network'}) {return $map;}
|
||||
|
||||
SYSMON_Log($hash, 5, "get $device");
|
||||
my($nName, $nDef) = split(/:/, $device);
|
||||
if(!defined $nDef) {
|
||||
@ -2549,10 +2609,11 @@ sub SYSMON_getNetworkInfo ($$$)
|
||||
# Liefert Informationen, ob WLAN an oder aus ist (nur FritzBox)
|
||||
# Parameter: HASH; MAP
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFBWLANState($$)
|
||||
{
|
||||
sub SYSMON_getFBWLANState($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'network'}) {return $map;}
|
||||
|
||||
#SYSMON_Log($hash, 5, "");
|
||||
|
||||
$map->{+FB_WLAN_STATE}=SYSMON_acquireInfo_intern($hash, "ctlmgr_ctl r wlan settings/ap_enabled",1);
|
||||
@ -2564,10 +2625,11 @@ sub SYSMON_getFBWLANState($$)
|
||||
# Liefert Informationen, ob WLAN-Gastzugang an oder aus ist (nur FritzBox)
|
||||
# Parameter: HASH; MAP
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFBWLANGuestState($$)
|
||||
{
|
||||
sub SYSMON_getFBWLANGuestState($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'network'}) {return $map;}
|
||||
|
||||
#SYSMON_Log($hash, 5, "");
|
||||
|
||||
$map->{+FB_WLAN_GUEST_STATE}=SYSMON_acquireInfo_intern($hash, "ctlmgr_ctl r wlan settings/guest_ap_enabled",1);
|
||||
@ -2579,10 +2641,11 @@ sub SYSMON_getFBWLANGuestState($$)
|
||||
# Liefert IP Adresse im Internet (nur FritzBox)
|
||||
# Parameter: HASH; MAP
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFBInetIP($$)
|
||||
{
|
||||
sub SYSMON_getFBInetIP($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'network'}) {return $map;}
|
||||
|
||||
$map->{+FB_INET_IP}=SYSMON_acquireInfo_intern($hash, "ctlmgr_ctl r dslstatistic status/ifacestat0/ipaddr");
|
||||
|
||||
return $map;
|
||||
@ -2592,10 +2655,11 @@ sub SYSMON_getFBInetIP($$)
|
||||
# Liefert Status Internet-Verbindung (nur FritzBox)
|
||||
# Parameter: HASH; MAP
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFBInetConnectionState($$)
|
||||
{
|
||||
sub SYSMON_getFBInetConnectionState($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'network'}) {return $map;}
|
||||
|
||||
$map->{+FB_INET_STATE}=SYSMON_acquireInfo_intern($hash, "ctlmgr_ctl r dslstatistic status/ifacestat0/connection_status");
|
||||
|
||||
return $map;
|
||||
@ -2605,10 +2669,11 @@ sub SYSMON_getFBInetConnectionState($$)
|
||||
# Liefert Status Klingelsperre (nur FritzBox)
|
||||
# Parameter: HASH; MAP
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFBNightTimeControl($$)
|
||||
{
|
||||
sub SYSMON_getFBNightTimeControl($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbnightctrl'}) {return $map;}
|
||||
|
||||
$map->{+FB_N_TIME_CTRL}=SYSMON_acquireInfo_intern($hash, "ctlmgr_ctl r box settings/night_time_control_enabled",1);
|
||||
|
||||
return $map;
|
||||
@ -2618,10 +2683,11 @@ sub SYSMON_getFBNightTimeControl($$)
|
||||
# Liefert Anzahl der nicht abgehoerten Nachrichten auf dem Anrufbeantworter (nur FritzBox)
|
||||
# Parameter: HASH; MAP
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFBNumNewMessages($$)
|
||||
{
|
||||
sub SYSMON_getFBNumNewMessages($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbnewmessages'}) {return $map;}
|
||||
|
||||
$map->{+FB_NUM_NEW_MESSAGES}=SYSMON_acquireInfo_intern($hash, "ctlmgr_ctl r tam status/NumNewMessages");
|
||||
|
||||
return $map;
|
||||
@ -2631,10 +2697,11 @@ sub SYSMON_getFBNumNewMessages($$)
|
||||
# Liefert DECT-Temperatur einer FritzBox.
|
||||
# Parameter: HASH; MAP
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFBDECTTemp($$)
|
||||
{
|
||||
sub SYSMON_getFBDECTTemp($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbdecttemp'}) {return $map;}
|
||||
|
||||
$map->{+FB_DECT_TEMP}=SYSMON_acquireInfo_intern($hash, "ctlmgr_ctl r dect status/Temperature");
|
||||
|
||||
return $map;
|
||||
@ -2645,8 +2712,7 @@ sub SYSMON_getFBDECTTemp($$)
|
||||
# Parameter: HASH
|
||||
# Return Hash mit Devices
|
||||
#------------------------------------------------------------------------------
|
||||
sub SYSMON_getFBLanDeviceList($)
|
||||
{
|
||||
sub SYSMON_getFBLanDeviceList($) {
|
||||
my ($hash) = @_;
|
||||
|
||||
if(!SYSMON_isFB($hash)) {
|
||||
@ -2750,10 +2816,11 @@ sub SYSMON_acquireInfo_intern($$;$)
|
||||
return $ret;
|
||||
}
|
||||
|
||||
sub SYSMON_FBVersionInfo($$)
|
||||
{
|
||||
sub SYSMON_FBVersionInfo($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbversion'}) {return $map;}
|
||||
|
||||
my $data = SYSMON_execute($hash, "/etc/version --version --date");
|
||||
|
||||
my($v, $d, $t) = split(/\s+/, $data);
|
||||
@ -2784,6 +2851,8 @@ sub SYSMON_FBVersionInfo($$)
|
||||
sub SYSMON_getFBStreamRate($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbdsl'}) {return $map;}
|
||||
|
||||
my $ds_rate = SYSMON_execute($hash, "ctlmgr_ctl r sar status/dsl_ds_rate");
|
||||
unless($ds_rate) {
|
||||
return SYSMON_getFBStreamRate2($hash, $map);
|
||||
@ -2801,6 +2870,8 @@ sub SYSMON_getFBStreamRate($$) {
|
||||
sub SYSMON_getFBStreamRate2($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbdsl'}) {return $map;}
|
||||
|
||||
my $ds_rate = SYSMON_execute($hash, "ctlmgr_ctl r dslstatglobal status/in");
|
||||
my $us_rate = SYSMON_execute($hash, "ctlmgr_ctl r dslstatglobal status/out");
|
||||
|
||||
@ -2829,6 +2900,8 @@ sub SYSMON_sec2Dauer($){
|
||||
sub SYSMON_getFBSyncTime($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbdsl'}) {return $map;}
|
||||
|
||||
my $data = SYSMON_execute($hash, "ctlmgr_ctl r sar status/modem_ShowtimeSecs");
|
||||
unless($data) {
|
||||
return SYSMON_getFBSyncTime2($hash, $map);
|
||||
@ -2846,6 +2919,8 @@ sub SYSMON_getFBSyncTime($$) {
|
||||
sub SYSMON_getFBSyncTime2($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbdsl'}) {return $map;}
|
||||
|
||||
my $data = SYSMON_execute($hash, "ctlmgr_ctl r dslstatistic status/ifacestat0/connect_time");
|
||||
|
||||
if(defined($data) && $data ne "") {
|
||||
@ -2859,6 +2934,8 @@ sub SYSMON_getFBSyncTime2($$) {
|
||||
sub SYSMON_getFBCRCFEC($$) {
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'fbdsl'}) {return $map;}
|
||||
|
||||
my $ds_crc = SYSMON_execute($hash, "ctlmgr_ctl r sar status/ds_crc_per15min");
|
||||
my $us_crc = SYSMON_execute($hash, "ctlmgr_ctl r sar status/us_crc_per15min");
|
||||
|
||||
@ -3279,10 +3356,12 @@ SYSMON_isNetStatClass($$) {
|
||||
return $hash->{helper}{'net_'.$nName.'_stat_class'};
|
||||
}
|
||||
|
||||
sub SYSMON_PowerAcInfo($$)
|
||||
{
|
||||
sub SYSMON_PowerAcInfo($$) {
|
||||
#online, present, current_now (/1000 =>mA), voltage_now (/1000000 => V)
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'powerinfo'}) {return $map;}
|
||||
|
||||
my $type="ac";
|
||||
my $base = "cat /sys/class/power_supply/".$type."/";
|
||||
|
||||
@ -3302,10 +3381,12 @@ sub SYSMON_PowerAcInfo($$)
|
||||
return $map;
|
||||
}
|
||||
|
||||
sub SYSMON_PowerUsbInfo($$)
|
||||
{
|
||||
sub SYSMON_PowerUsbInfo($$) {
|
||||
#online, present, current_now (/1000 =>mA), voltage_now (/1000000 => V)
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'powerinfo'}) {return $map;}
|
||||
|
||||
my $type="usb";
|
||||
my $base = "cat /sys/class/power_supply/".$type."/";
|
||||
|
||||
@ -3326,10 +3407,12 @@ sub SYSMON_PowerUsbInfo($$)
|
||||
return $map;
|
||||
}
|
||||
|
||||
sub SYSMON_PowerBatInfo($$)
|
||||
{
|
||||
sub SYSMON_PowerBatInfo($$) {
|
||||
#online, present, current_now (/1000 =>mA), voltage_now (/1000000 => V)
|
||||
my ($hash, $map) = @_;
|
||||
|
||||
if($hash->{helper}->{excludes}{'powerinfo'}) {return $map;}
|
||||
|
||||
my $type="battery";
|
||||
my $base = "cat /sys/class/power_supply/".$type."/";
|
||||
|
||||
@ -3906,6 +3989,9 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
|
||||
<b>Readings:</b>
|
||||
<br><br>
|
||||
<ul>
|
||||
<li>cpu_core_count<br>
|
||||
CPU core count
|
||||
</li>
|
||||
<li>cpu_bogomips<br>
|
||||
CPU Speed: BogoMIPS
|
||||
</li>
|
||||
@ -4272,6 +4358,13 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
|
||||
RegExp to detect login and command line prompt. (Only for access via Telnet.)
|
||||
</li>
|
||||
<br>
|
||||
<li>exclude<br>
|
||||
Allows to suppress reading certain information. <br>
|
||||
supported values: user-defined (s. user-defined und user-fn), cpucount, uptime, fhemuptime,
|
||||
loadavg, cputemp, cpufreq, bogomips, diskstat, cpustat, ramswap, filesystem, network,
|
||||
fbwlan, fbnightctrl, fbnewmessages, fbdecttemp, fbversion, fbdsl, powerinfo
|
||||
</li>
|
||||
<br>
|
||||
</ul><br>
|
||||
|
||||
<b>Plots:</b><br><br>
|
||||
@ -4495,6 +4588,9 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
|
||||
<b>Readings:</b>
|
||||
<br><br>
|
||||
<ul>
|
||||
<li>cpu_core_count<br>
|
||||
Anzahl der CPU Kerne
|
||||
</li>
|
||||
<li>cpu_bogomips<br>
|
||||
CPU Speed: BogoMIPS
|
||||
</li>
|
||||
@ -4875,6 +4971,13 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
|
||||
RegExp zur Erkennung von Login- und Kommandozeile-Prompt. (Nur für Zugriffe über Telnet relevant.)
|
||||
</li>
|
||||
<br>
|
||||
<li>exclude<br>
|
||||
Erlaubt das Abfragen bestimmten Informationen zu unterbinden. <br>
|
||||
Mögliche Werte: user-defined (s. user-defined und user-fn), cpucount, uptime, fhemuptime,
|
||||
loadavg, cputemp, cpufreq, bogomips, diskstat, cpustat, ramswap, filesystem, network,
|
||||
fbwlan, fbnightctrl, fbnewmessages, fbdecttemp, fbversion, fbdsl, powerinfo
|
||||
</li>
|
||||
<br>
|
||||
</ul><br>
|
||||
|
||||
<b>Plots:</b><br><br>
|
||||
|
Loading…
Reference in New Issue
Block a user