mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-01 20:20:10 +00:00
32_SYSSTAT.pm: added armbiantemperature attribute (by ebk)
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@21047 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
6192c8e50b
commit
dc63d15b53
@ -41,7 +41,7 @@ SYSSTAT_Initialize($)
|
|||||||
$hash->{UndefFn} = "SYSSTAT_Undefine";
|
$hash->{UndefFn} = "SYSSTAT_Undefine";
|
||||||
$hash->{GetFn} = "SYSSTAT_Get";
|
$hash->{GetFn} = "SYSSTAT_Get";
|
||||||
$hash->{AttrFn} = "SYSSTAT_Attr";
|
$hash->{AttrFn} = "SYSSTAT_Attr";
|
||||||
$hash->{AttrList} = "disable:1 disabledForIntervals raspberrycpufreq:1 raspberrytemperature:0,1,2 synologytemperature:0,1,2 stat:1 uptime:1,2 ssh_user ";
|
$hash->{AttrList} = "disable:1 disabledForIntervals raspberrycpufreq:1 raspberrytemperature:0,1,2 synologytemperature:0,1,2 stat:1 uptime:1,2 ssh_user armbiantemperature:0,1,2";
|
||||||
$hash->{AttrList} .= " snmp:1 mibs:textField-long snmpVersion:1,2 snmpCommunity" if( $SYSSTAT_hasSNMP );
|
$hash->{AttrList} .= " snmp:1 mibs:textField-long snmpVersion:1,2 snmpCommunity" if( $SYSSTAT_hasSNMP );
|
||||||
$hash->{AttrList} .= " filesystems showpercent";
|
$hash->{AttrList} .= " filesystems showpercent";
|
||||||
$hash->{AttrList} .= " useregex:1" if( $SYSSTAT_hasSysStatistics );
|
$hash->{AttrList} .= " useregex:1" if( $SYSSTAT_hasSysStatistics );
|
||||||
@ -245,6 +245,7 @@ SYSSTAT_Attr($$$)
|
|||||||
|
|
||||||
sub SYSSTAT_getLoadAVG($);
|
sub SYSSTAT_getLoadAVG($);
|
||||||
sub SYSSTAT_getPiTemp($);
|
sub SYSSTAT_getPiTemp($);
|
||||||
|
sub SYSSTAT_getArmbianTemp($);
|
||||||
sub SYSSTAT_getUptime($);
|
sub SYSSTAT_getUptime($);
|
||||||
sub
|
sub
|
||||||
SYSSTAT_GetUpdate($)
|
SYSSTAT_GetUpdate($)
|
||||||
@ -360,6 +361,14 @@ SYSSTAT_GetUpdate($)
|
|||||||
}
|
}
|
||||||
readingsBulkUpdate($hash,"temperature",$temp);
|
readingsBulkUpdate($hash,"temperature",$temp);
|
||||||
}
|
}
|
||||||
|
} elsif( AttrVal($name, "armbiantemperature", 0) > 0 ) {
|
||||||
|
my $temp = SYSSTAT_getArmbianTemp($hash);
|
||||||
|
if( $temp && $temp > 0 && $temp < 200 ) {
|
||||||
|
if( AttrVal($name, "armbiantemperature", 0) eq 2 ) {
|
||||||
|
$temp = sprintf( "%.1f", (3 * ReadingsVal($name,"temperature",$temp) + $temp ) / 4 );
|
||||||
|
}
|
||||||
|
readingsBulkUpdate($hash,"temperature",$temp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( $hash->{USE_SNMP} && defined($hash->{session}) ) {
|
if( $hash->{USE_SNMP} && defined($hash->{session}) ) {
|
||||||
@ -578,6 +587,15 @@ SYSSTAT_getPiTemp($)
|
|||||||
return $temp / 1000;
|
return $temp / 1000;
|
||||||
}
|
}
|
||||||
sub
|
sub
|
||||||
|
SYSSTAT_getArmbianTemp($)
|
||||||
|
{
|
||||||
|
my ($hash) = @_;
|
||||||
|
|
||||||
|
my $temp = SYSSTAT_readFile($hash,"/etc/armbianmonitor/datasources/soctemp",-1);
|
||||||
|
|
||||||
|
return $temp / 1000;
|
||||||
|
}
|
||||||
|
sub
|
||||||
SYSSTAT_getSynoTemp($)
|
SYSSTAT_getSynoTemp($)
|
||||||
{
|
{
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
@ -851,6 +869,9 @@ SYSSTAT_getStat($)
|
|||||||
<li>synologytemperature<br>
|
<li>synologytemperature<br>
|
||||||
If set and > 0 the main temperaure of a synology diskstation is read. requires snmp.<br>
|
If set and > 0 the main temperaure of a synology diskstation is read. requires snmp.<br>
|
||||||
If set to 2 a geometric average over the last 4 values is created.</li>
|
If set to 2 a geometric average over the last 4 values is created.</li>
|
||||||
|
<li>armbiantemperature<br>
|
||||||
|
If set and > 0 the armbian based SOC on chip termal sensor is read.<br>
|
||||||
|
If set to 2 a geometric average over the last 4 values is created.</li>
|
||||||
<li>raspberrycpufreq<br>
|
<li>raspberrycpufreq<br>
|
||||||
If set and > 0 the raspberry pi on chip termal sensor is read.</li>
|
If set and > 0 the raspberry pi on chip termal sensor is read.</li>
|
||||||
<li>uptime<br>
|
<li>uptime<br>
|
||||||
@ -981,6 +1002,9 @@ SYSSTAT_getStat($)
|
|||||||
<li>synologytemperature<br>
|
<li>synologytemperature<br>
|
||||||
Wenn gesetzt und > 0 wird die Temperatur einer Synology Diskstation ausgelesen (erfordert snmp).<br>
|
Wenn gesetzt und > 0 wird die Temperatur einer Synology Diskstation ausgelesen (erfordert snmp).<br>
|
||||||
Wenn Wert 2 ist, wird ein geometrischer Durchschnitt der letzten 4 Werte dargestellt.</li>
|
Wenn Wert 2 ist, wird ein geometrischer Durchschnitt der letzten 4 Werte dargestellt.</li>
|
||||||
|
<li>armbiantemperature<br>
|
||||||
|
Wenn gesetzt und > 0 wird der Temperatursensor auf Armbian basierten Board ausgelesen.<br>
|
||||||
|
Wenn Wert 2 ist, wird ein geometrischer Durchschnitt der letzten 4 Werte dargestellt.</li>
|
||||||
<li>raspberrycpufreq<br>
|
<li>raspberrycpufreq<br>
|
||||||
Wenn gesetzt und > 0 wird die Raspberry Pi CPU Frequenz ausgelesen.</li>
|
Wenn gesetzt und > 0 wird die Raspberry Pi CPU Frequenz ausgelesen.</li>
|
||||||
<li>uptime<br>
|
<li>uptime<br>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user