';;\
+ $ret .= 'last
homematic-fw-check => '.$lastCheck;;\
+ $ret .= '
';;\
+ $ret .= "| device | model | cur_fw | new_fw | release |
";;\
+ $ret .= "------------------------------------------------------------------------------------
";;\
+ my $check = ReadingsVal($name,"newFwForDevices","error => no or wrong data from eq3-server!");;\
+ if($check eq "no fw-updates needed!") {\
+ $ret .= '| ';;\
+ $ret .= sprintf("%-80s",$check);;\
+ $ret .= ' |';;\
+ } elsif($check eq "error => no or wrong data from eq3-server!") {\
+ $ret .= '| ';;\
+ $ret .= sprintf("%-80s",$check);;\
+ $ret .= ' |';;\
+ } else {\
+ my @devices = split(',',$check);;\
+ foreach my $devStr (@devices) {\
+ my ($dev,$md,$ofw,$idx_fw,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;;\
+ my $fw_link = ReadingsVal($name,"fw_link-".$idx_fw,"???");;\
+ my $cl_link = ReadingsVal($name,"changeLog_link-".$idx_fw,"???");;\
+ $ret .= '| ';;\
+ $ret .= sprintf("%-23s",$dev);;\
+ $ret .= ' | ';;\
+ $ret .= '';;\
+ $ret .= sprintf("%-23s",$md);;\
+ $ret .= ' | ';;\
+ $ret .= '';;\
+ $ret .= sprintf("%6s",$ofw);;\
+ $ret .= ' | ';;\
+ $ret .= '';;\
+ $ret .= '';;\
+ $ret .= sprintf("%6s",$nfw);;\
+ $ret .= ' | ';;\
+ $ret .= '' if($cl_link ne "none");;\
+ $ret .= sprintf("%-10s",$date);;\
+ $ret .= '' if($cl_link ne "none");;\
+ $ret .= " |
";;\
+ }\
+ }\
+ $ret .= '
';;\
+ return $ret;;\
}
attr DEVICE userReadings newFwForDevices:MATCHED_READINGS.* {\
my $ret = "";;\