Hallo alle,
Ich habe in meine 99_myUtils.pm eingefügt:
sub TrendLineStatus($)
#
# Usage: in stateFormat { TrendLineStatus( $name) ; }
#
{
my $Status = "OK" ;
my $Module = $_[0] ;
my $ModuleStatus = ReadingsVal($Module,"status","");
my $ServiceCode = ReadingsVal($Module,"boiler_data_ServiceCode","");
my $ServiceCodeNumber = ReadingsVal($Module,"boiler_data_ServiceCodeNumber",0);
my $HeartbeatUptime = ReadingsAge($Module,"heartbeat_uptime",0);
my @ErrorCodes = ( "H--", "H01", "H02", "H03", "H07", "H11", "H12", "H13", "H25", "H27", "H28", "H29" ) ;
my @ErrorNumbers = ( 207, 210, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 227, 228, 229,
231, 233, 234, 235, 237, 238, 239, 240, 241, 242, 246, 250, 251, 254, 259, 260, 261, 263,
264, 266, 269, 271, 273, 276, 277, 278, 280, 281, 282, 285, 286, 288, 289, 306, 316, 317,
318, 322, 323, 328, 329, 332, 338, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
353, 356, 357, 358, 359, 360, 361, 373, 374, 509, 550, 552, 554, 578, 601, 602, 607, 608, 609, 611 ) ;
if ( $ServiceCode ~~ @ErrorCodes ) { $Status = "Error" }
elsif ( $ServiceCodeNumber ~~ @ErrorNumbers ) { $Status = "Error" } ;
if ( $HeartbeatUptime > 90 ) { $Status = "Offline" } ;
return $Status ;
}
Natürlich kann man es nach Belieben anpassen. Überprüfe auch die Fehlercodes im Handbuch Ihres Kessels.
Freundliche Grüßen,
Paul