mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
feature: added FritzBox informations: DSL rate, DSLAM sync time, count of CRC an FEC.
git-svn-id: https://svn.fhem.de/fhem/trunk@6743 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
77037e7df8
commit
5d61585a04
@ -30,7 +30,7 @@ package main;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
my $VERSION = "1.9.3.1";
|
my $VERSION = "1.9.4.0";
|
||||||
|
|
||||||
use constant {
|
use constant {
|
||||||
PERL_VERSION => "perl_version",
|
PERL_VERSION => "perl_version",
|
||||||
@ -71,6 +71,11 @@ use constant {
|
|||||||
FB_NUM_NEW_MESSAGES => "num_new_messages",
|
FB_NUM_NEW_MESSAGES => "num_new_messages",
|
||||||
FB_FW_VERSION => "fw_version_info",
|
FB_FW_VERSION => "fw_version_info",
|
||||||
FB_DECT_TEMP => "dect_temp",
|
FB_DECT_TEMP => "dect_temp",
|
||||||
|
|
||||||
|
FB_DSL_RATE => "dsl_rate",
|
||||||
|
FB_DSL_SYNCTIME => "dsl_synctime",
|
||||||
|
FB_DSL_FEC_15 => "dsl_fec_15",
|
||||||
|
FB_DSL_CRC_15 => "dsl_crc_15",
|
||||||
};
|
};
|
||||||
|
|
||||||
use constant FS_PREFIX => "~ ";
|
use constant FS_PREFIX => "~ ";
|
||||||
@ -420,6 +425,12 @@ SYSMON_updateCurrentReadingsMap($) {
|
|||||||
$rMap->{+FB_NUM_NEW_MESSAGES} = "new messages";
|
$rMap->{+FB_NUM_NEW_MESSAGES} = "new messages";
|
||||||
$rMap->{+FB_FW_VERSION} = "firmware info";
|
$rMap->{+FB_FW_VERSION} = "firmware info";
|
||||||
$rMap->{+FB_DECT_TEMP} = "DECT temperatur";
|
$rMap->{+FB_DECT_TEMP} = "DECT temperatur";
|
||||||
|
|
||||||
|
$rMap->{+FB_DSL_RATE} = "DSL rate",
|
||||||
|
$rMap->{+FB_DSL_SYNCTIME} = "DSL synctime";
|
||||||
|
$rMap->{+FB_DSL_FEC_15} = "DSL recoverable errors per 15 minutes"; # forward error correction
|
||||||
|
$rMap->{+FB_DSL_CRC_15} = "DSL unrecoverable errors per 15 minutes"; # cyclic redundancy check
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# User defined
|
# User defined
|
||||||
@ -820,6 +831,13 @@ SYSMON_obtainParameters($$)
|
|||||||
$map = SYSMON_getFBNightTimeControl($hash, $map);
|
$map = SYSMON_getFBNightTimeControl($hash, $map);
|
||||||
$map = SYSMON_getFBNumNewMessages($hash, $map);
|
$map = SYSMON_getFBNumNewMessages($hash, $map);
|
||||||
$map = SYSMON_getFBDECTTemp($hash, $map);
|
$map = SYSMON_getFBDECTTemp($hash, $map);
|
||||||
|
|
||||||
|
#DSL-Downstream und DSL-Upstream abfragen
|
||||||
|
$map = SYSMON_getFBStreemRate($hash, $map);
|
||||||
|
#Sync-Zeit mit Vermittlungsstelle abfragen
|
||||||
|
$map = SYSMON_getFBSyncTime($hash, $map);
|
||||||
|
#Uebertragungsfehler abfragen (nicht behebbar und behebbar)
|
||||||
|
$map = SYSMON_getFBCRCFEC($hash, $map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1106,7 +1124,7 @@ SYSMON_getCPUFreq($$)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# leifert CPU Frequenz für 2te CPU (Cubietruck, etc.)
|
# leifert CPU Frequenz fuer 2te CPU (Cubietruck, etc.)
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
sub
|
sub
|
||||||
SYSMON_getCPU1Freq($$)
|
SYSMON_getCPU1Freq($$)
|
||||||
@ -1463,7 +1481,7 @@ sub SYSMON_getRamAndSwap($$)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Prüft, ob das Host-System OSX ist (darvin).
|
# Prueft, ob das Host-System OSX ist (darvin).
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
sub SYSMON_isOSX()
|
sub SYSMON_isOSX()
|
||||||
{
|
{
|
||||||
@ -1471,7 +1489,7 @@ sub SYSMON_isOSX()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Prüft, ob das Host-System Linux ist (linux).
|
# Prueft, ob das Host-System Linux ist (linux).
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
sub SYSMON_isLinux()
|
sub SYSMON_isLinux()
|
||||||
{
|
{
|
||||||
@ -2107,6 +2125,69 @@ sub SYSMON_FBVersionInfo($$)
|
|||||||
return $map;
|
return $map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#DSL-Downstream und DSL-Upstream abfragen
|
||||||
|
sub SYSMON_getFBStreemRate($$) {
|
||||||
|
my ($hash, $map) = @_;
|
||||||
|
|
||||||
|
my $ds_rate = SYSMON_execute($hash, "ctlmgr_ctl r sar status/dsl_ds_rate");
|
||||||
|
my $us_rate = SYSMON_execute($hash, "ctlmgr_ctl r sar status/dsl_us_rate");
|
||||||
|
|
||||||
|
if($ds_rate ne "" && $us_rate ne "") {
|
||||||
|
$map->{+FB_DSL_RATE}="down: ".$ds_rate." KBit/s, up: ".$us_rate." KBit/s";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $map;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ausrechnet aus der Zahl der Sekunden Anzeige in Tagen:Stunden:Minuten:Sekunden.
|
||||||
|
sub SYSMON_sec2Dauer($){
|
||||||
|
my ($t) = @_;
|
||||||
|
my $d = int($t/86400);
|
||||||
|
my $r = $t-($d*86400);
|
||||||
|
my $h = int($r/3600);
|
||||||
|
$r = $r - ($h*3600);
|
||||||
|
my $m = int($r/60);
|
||||||
|
my $s = $r - $m*60;
|
||||||
|
return sprintf("%02d Tage %02d Std. %02d Min. %02d Sec.",$d,$h,$m,$s);
|
||||||
|
}
|
||||||
|
|
||||||
|
#Sync-Zeit mit Vermittlungsstelle abfragen
|
||||||
|
sub SYSMON_getFBSyncTime($$) {
|
||||||
|
my ($hash, $map) = @_;
|
||||||
|
|
||||||
|
my $data = SYSMON_execute($hash, "ctlmgr_ctl r sar status/modem_ShowtimeSecs");
|
||||||
|
|
||||||
|
if($data ne "") {
|
||||||
|
my $idata = int($data);
|
||||||
|
$map->{+FB_DSL_SYNCTIME}=SYSMON_sec2Dauer($idata);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $map;
|
||||||
|
}
|
||||||
|
|
||||||
|
#Uebertragungsfehler abfragen (nicht behebbar und behebbar)
|
||||||
|
sub SYSMON_getFBCRCFEC($$) {
|
||||||
|
my ($hash, $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");
|
||||||
|
|
||||||
|
my $ds_fec = SYSMON_execute($hash, "ctlmgr_ctl r sar status/ds_fec_per15min");
|
||||||
|
my $us_fec = SYSMON_execute($hash, "ctlmgr_ctl r sar status/us_fec_per15min");
|
||||||
|
|
||||||
|
if($ds_crc ne "") {
|
||||||
|
# FB_DSL_CRC_15
|
||||||
|
$map->{+FB_DSL_CRC_15}="down: ".$ds_crc." up: ".$us_crc;
|
||||||
|
}
|
||||||
|
if($ds_fec ne "") {
|
||||||
|
# FB_DSL_FEC_15
|
||||||
|
$map->{+FB_DSL_FEC_15}="down: ".$ds_fec." up: ".$us_fec;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $map;
|
||||||
|
}
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Systemparameter als HTML-Tabelle ausgeben
|
# Systemparameter als HTML-Tabelle ausgeben
|
||||||
# Parameter: Name des SYSMON-Geraetes (muss existieren, kann auch anderer Modul genutzt werden), dessen Daten zur Anzeige gebracht werden sollen.
|
# Parameter: Name des SYSMON-Geraetes (muss existieren, kann auch anderer Modul genutzt werden), dessen Daten zur Anzeige gebracht werden sollen.
|
||||||
@ -2120,7 +2201,7 @@ sub SYSMON_ShowValuesHTML ($;@)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Systemparameter als HTML-Tabelle ausgeben. Zusätzlich wird eine Ueberschrift ausgegeben.
|
# Systemparameter als HTML-Tabelle ausgeben. Zusaetzlich wird eine Ueberschrift ausgegeben.
|
||||||
# Parameter: Name des SYSMON-Geraetes (muss existieren, kann auch anderer Modul genutzt werden), dessen Daten zur Anzeige gebracht werden sollen.
|
# Parameter: Name des SYSMON-Geraetes (muss existieren, kann auch anderer Modul genutzt werden), dessen Daten zur Anzeige gebracht werden sollen.
|
||||||
# Title: Ueberschrift (Text)
|
# Title: Ueberschrift (Text)
|
||||||
# (optional) Liste der anzuzeigenden Werte (ReadingName[:Comment:[Postfix]],...)
|
# (optional) Liste der anzuzeigenden Werte (ReadingName[:Comment:[Postfix]],...)
|
||||||
@ -2725,6 +2806,23 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
|
|||||||
Information on the installed firmware version: <VersionNum> <creation date> <time>
|
Information on the installed firmware version: <VersionNum> <creation date> <time>
|
||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
<b>DSL Informations (FritzBox)</b>
|
||||||
|
<li>dsl_rate<br>
|
||||||
|
Information about the down und up stream rate
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>dsl_synctime<br>
|
||||||
|
sync time with DSLAM
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>dsl_crc_15<br>
|
||||||
|
number of uncorrectable errors (CRC) for the last 15 minutes
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>dsl_fec_15<br>
|
||||||
|
number of correctable errors (FEC) for the last 15 minutes
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
<b>Power Supply Readings</b>
|
<b>Power Supply Readings</b>
|
||||||
<li>power_ac_stat<br>
|
<li>power_ac_stat<br>
|
||||||
status information to the AC socket: present (0|1), online (0|1), voltage, current<br>
|
status information to the AC socket: present (0|1), online (0|1), voltage, current<br>
|
||||||
@ -3260,6 +3358,23 @@ If one (or more) of the multiplier is set to zero, the corresponding readings is
|
|||||||
Angaben zu der installierten Firmware-Version: <VersionNr> <Erstelldatum> <Zeit>
|
Angaben zu der installierten Firmware-Version: <VersionNr> <Erstelldatum> <Zeit>
|
||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
|
<b>DSL Informationen (FritzBox)</b>
|
||||||
|
<li>dsl_rate<br>
|
||||||
|
Down/Up Verbindungsgeschwindigkeit
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>dsl_synctime<br>
|
||||||
|
Sync-Zeit mit Vermittlungsstelle
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>dsl_crc_15<br>
|
||||||
|
Nicht behebbare Übertragungsfehler in den letzten 15 Minuten
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>dsl_fec_15<br>
|
||||||
|
Behebbare Übertragungsfehler in den letzten 15 Minuten
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
<b>Readings zur Stromversorgung</b>
|
<b>Readings zur Stromversorgung</b>
|
||||||
<li>power_ac_stat<br>
|
<li>power_ac_stat<br>
|
||||||
Statusinformation für die AC-Buchse: present (0|1), online (0|1), voltage, current<br>
|
Statusinformation für die AC-Buchse: present (0|1), online (0|1), voltage, current<br>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user