Hallo zusammen,
seit heute nutze ich das Modul DeviceMonitor aus dem Contrib Verzeichnis um meine nicht Homematic Geräte zu überwachen.
Scheinbar funktioniert das Modul auch, ich bekomme lediglich eine Meldung über dem Modul, mit dem ich nichts anfangen kann:
SYS.DeviceMonitor: There was no match for your criteria 'dead'
SYS.DeviceMonitor ist der Device Name des DeviceMonitor.
List des Device:
Internals:
CFGFN
NAME SYS.DeviceMonitor
NR 163260
NTFY_ORDER 50-SYS.DeviceMonitor
STATE ENABLED
TYPE DeviceMonitor
CHANGED:
DEFINED
Readings:
2017-03-08 15:59:55 EG.az.SD.Basteltisch alive
2017-03-08 15:59:46 EG.az.SD.Dauer alive
2017-03-08 15:59:18 EG.fl.TF.Garderobe alive
2017-03-08 15:59:08 EG.ku.TF.Kueche alive
2017-03-08 15:59:02 EG.vr.TF.Gefriertruhe alive
2017-03-08 15:59:55 EG.wz.SD.Dauer alive
2017-03-08 15:59:56 GH.tr.TF.Lampe alive
2017-03-08 15:59:06 GV.ab.TF.Blumengitter alive
2017-03-08 15:59:55 KG.wr.SD.Trockner alive
2017-03-08 15:59:55 KG.wr.SD.Waschmaschine alive
2017-03-08 15:59:15 OG.bz.TF.Badezimmer alive
2017-03-08 15:59:13 OG.k1.TF.Leonie alive
2017-03-08 15:58:56 OG.k2.TF.Kind2 alive
2017-03-08 15:58:12 OG.sz.TF.Schlafzimmer alive
Attributes:
room System
Raw definition:
defmod SYS.DeviceMonitor DeviceMonitor
attr SYS.DeviceMonitor room System
setstate SYS.DeviceMonitor ENABLED
setstate SYS.DeviceMonitor 2017-03-08 16:00:05 EG.az.SD.Basteltisch alive
setstate SYS.DeviceMonitor 2017-03-08 16:00:07 EG.az.SD.Dauer alive
setstate SYS.DeviceMonitor 2017-03-08 15:59:18 EG.fl.TF.Garderobe alive
setstate SYS.DeviceMonitor 2017-03-08 15:59:08 EG.ku.TF.Kueche alive
setstate SYS.DeviceMonitor 2017-03-08 16:00:02 EG.vr.TF.Gefriertruhe alive
setstate SYS.DeviceMonitor 2017-03-08 16:00:09 EG.wz.SD.Dauer alive
setstate SYS.DeviceMonitor 2017-03-08 15:59:56 GH.tr.TF.Lampe alive
setstate SYS.DeviceMonitor 2017-03-08 15:59:06 GV.ab.TF.Blumengitter alive
setstate SYS.DeviceMonitor 2017-03-08 16:00:12 KG.wr.SD.Trockner alive
setstate SYS.DeviceMonitor 2017-03-08 16:00:12 KG.wr.SD.Waschmaschine alive
setstate SYS.DeviceMonitor 2017-03-08 15:59:15 OG.bz.TF.Badezimmer alive
setstate SYS.DeviceMonitor 2017-03-08 15:59:13 OG.k1.TF.Leonie alive
setstate SYS.DeviceMonitor 2017-03-08 15:59:58 OG.k2.TF.Kind2 alive
setstate SYS.DeviceMonitor 2017-03-08 15:59:57 OG.sz.TF.Schlafzimmer alive
im Quellcode konnte ich die stelle finden, aber ich verstehe diese nicht.
Quellcode Auszug:
sub DeviceMonitor_GetResult($$$)
{
#*******************************************************************************
# Purpose: Get results from DeviceMonitor readings
# Author : Dennis Gnoyke
# Date : 27.10.2012
# Changes:
# Remarks: $_[0] = DeviceMonitor
# $_[1] = Criteria dead|alive|total
# $_[2] = Output as count|text|html
#**************************** Begin of Code *************************************
my $hash = $defs{$_[0]}{READINGS};
my $cnt = 0; #counter
my @result ; #result array
$result[0] ="null"; #default
my $tmp = ""; #temp var
foreach my $readings_name (sort keys %{$hash}) #Loop through Readings
{
my $val = $hash->{$readings_name};
if(ref($val))
{
my $readings_value = $val->{VAL};
my $readings_time = $val->{TIME};
if ($readings_value eq $_[1]) #value like dead or alive
{
$result["$cnt"] = $readings_name.','."has health_state '$readings_value' reported at $readings_time";
$cnt = $cnt + 1
}
elsif($_[1] eq "total")
{
$result["$cnt"] = $readings_name.','."has health_state '$readings_value' reported at $readings_time";
$cnt = $cnt + 1
}
}
}
if ($result[0] eq "null")
{
return 0 if($_[2] eq "count");
return "$_[0]: There was no match for your criteria '$_[1]'" if($_[2] eq "text");
return "$_[0]: There was no match for your criteria '$_[1]'" if($_[2] eq "html");
return "$_[0]: Unknown argument $_[2] , syntax is <criteria>_<output> criteria=dead,alive,total output=count,text,html";
}
else
{
if($_[2] eq "count"){return $cnt}
elsif($_[2] eq "text")
{
foreach (@result)
{
my ($device, $value) = split (",",$_);
$tmp .= "Device $device $value\n";
}
return $tmp;
}
elsif($_[2] eq "html")
{
$tmp = "<table>\n";
foreach (@result)
{
my ($device, $value) = split (",",$_);
$tmp .= "<tr><td>Device <a href='/fhem?detail=$device'>$device</a> $value</td></tr>\n";
};
$tmp .= "</table></div>";
return $tmp;
}
else{return "$_[0]: Unknown argument $_[2] , syntax is <criteria>_<output> criteria=dead,alive,total output=count,text,html"}
}
Kann mir jemand sagen, was das bedeutet?
Danke und Grüße
Christian
Edit:
Link zur Modulvorstellung: https://forum.fhem.de/index.php/topic,8821.0.html
heißt einfach, daß keiner deiner Sensoren "dead" ist ... also alles gut ;)
Alles klar, vielen Dank :)