httpmod.template: update eq3 fw check

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@20154 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
Beta-User 2019-09-13 06:01:43 +00:00
parent 37da7827fc
commit db340fb39a

View File

@ -415,8 +415,10 @@ attr DEVICE model C_01a_resol_solar
name:X_01a_CUL_HM_firmware_update_downloader
filter:TYPE=HTTPMOD
desc: Check eQ3 homepage for available new firmware files; provides also links for direct downloads<br>Define a HTTPMOD device like <br>define eq3 HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800<br><a href="https://https://forum.fhem.de/index.php/topic,78501.msg972144.html#msg972144">Source: Forum</a><br><a href="https://wiki.fhem.de/wiki/HomeMatic_Firmware_Update#Basis-Definitionen_f.C3.BCr_Device_eq3">Wiki</a>
par:WHICHROOM;Room of the calling device; {AttrVal("DEVICE","room","CUL_HM" )}
defmod DEVICE HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800
attr DEVICE userattr enableControlSet event-on-change-reading event-on-update-reading reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01RegOpt:s,i,g reading01Regex readingMaxAge readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,expression,delete readingMaxAgeReplacementMode:text,reading,internal,expression,delete requestData.* showError showMatched stateFormat userReadings webCmd
attr DEVICE alignTime 00:45
attr DEVICE enableControlSet 1
attr DEVICE event-on-change-reading .*
attr DEVICE event-on-update-reading LAST_ERROR,MATCHED_READINGS
@ -434,65 +436,52 @@ attr DEVICE reading02Regex (.{300})<a.href="\/downloads\/software\/firmware\/hm[
attr DEVICE readingMaxAge 10
attr DEVICE readingMaxAgeReplacementMode delete
attr DEVICE requestData.* suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
attr DEVICE room CUL_HM
attr DEVICE room WHICHROOM
attr DEVICE showError 1
attr DEVICE showMatched 1
attr DEVICE stateFormat {\
my $ret ="";; \
my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","???");; \
$ret .= '<div style="text-align:left">';; \
$ret .= 'last <a title="eq3-downloads" href="http://www.eq-3.de/service/downloads.html">homematic</a>-fw-check => '.$lastCheck;; \
$ret .= '<br><br>';; \
$ret .= '<pre>';; \
$ret .= "| device | model | cur_fw | new_fw | release |<br>";; \
$ret .= "------------------------------------------------------------------------------------<br>";; \
my $check = ReadingsVal($name,"newFwForDevices","error => no or wrong data from eq3-server!");; \
attr DEVICE stateFormat { my $ret ="";;\
my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","???");;\
$ret .= '<div style="text-align:left">';;\
$ret .= 'last <a title="eq3-downloads" href="http://www.eq-3.de/service/downloads.html">homematic</a>-fw-check => '.$lastCheck;;\
$ret .= '<br><br><pre>';;\
$ret .= "| device | model | cur_fw | new_fw | release |<br>";;\
$ret .= "------------------------------------------------------------------------------------<br>";;\
my $check = ReadingsVal($name,"newFwForDevices","error => no or wrong data from eq3-server!");;\
if($check eq "no fw-updates needed!") {\
$ret .= '| ';;\
$ret .= '<b style="color:green">';;\
$ret .= '| <b style="color:green">';;\
$ret .= sprintf("%-80s",$check);;\
$ret .= '</b>';;\
$ret .= ' |';;\
$ret .= '</b> |';;\
} elsif($check eq "error => no or wrong data from eq3-server!") {\
$ret .= '| ';;\
$ret .= '<b style="color:red">';;\
$ret .= '| <b style="color:red">';;\
$ret .= sprintf("%-80s",$check);;\
$ret .= '</b>';;\
$ret .= ' |';;\
} else { \
my @devices = split(',',$check);; \
foreach my $devStr (@devices) { \
$ret .= '</b> |';;\
} 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 .= '<a href="/fhem?detail='.$dev.'">';; \
$ret .= sprintf("%-23s",$dev);; \
$ret .= '</a>';; \
$ret .= " | ";; \
$ret .= '<b'.(($md eq "?")?' title="missing attribute model => set device in teach mode to receive missing data" style="color:yellow"':' style="color:lightgray"').'>';; \
$ret .= sprintf("%-23s",$md);; \
$ret .= '</b>';; \
$ret .= " | ";; \
$ret .= '<b'.(($ofw eq "0.0")?' title="missing attribute firmware => set device in teach mode to receive missing data" style="color:yellow"':' style="color:lightgray"').'>';; \
$ret .= sprintf("%6s",$ofw);; \
$ret .= '</b>';; \
$ret .= " | ";; \
$ret .= '<a title="download firmware file" href="'.$fw_link.'">';; \
$ret .= '<b style="color:red">';; \
$ret .= sprintf("%6s",$nfw);; \
$ret .= '</b>';; \
$ret .= '</a>';; \
$ret .= " | ";; \
$ret .= '<a title="open changeLog file" href="'.$cl_link.'"><b style="color:red">' if($cl_link ne "none");; \
$ret .= sprintf("%-10s",$date);; \
$ret .= '</b></a>' if($cl_link ne "none");; \
$ret .= " |<br>";; \
} \
} \
$ret .= '</pre>';; \
$ret .= '</div>';; \
return $ret;; \
my $fw_link = ReadingsVal($name,"fw_link-".$idx_fw,"???");;\
my $cl_link = ReadingsVal($name,"changeLog_link-".$idx_fw,"???");;\
$ret .= '| <b><a href="/fhem?detail='.$dev.'">';;\
$ret .= sprintf("%-23s",$dev);;\
$ret .= '</a> | ';;\
$ret .= '<b'.(($md eq "?")?' title="missing attribute model => set device in teach mode to receive missing data" style="color:yellow"':' style="color:lightgray"').'>';;\
$ret .= sprintf("%-23s",$md);;\
$ret .= '</b> | ';;\
$ret .= '<b'.(($ofw eq "0.0")?' title="missing attribute firmware => set device in teach mode to receive missing data" style="color:yellow"':' style="color:lightgray"').'>';;\
$ret .= sprintf("%6s",$ofw);;\
$ret .= '</b> | ';;\
$ret .= '<a title="download firmware file" href="'.$fw_link.'">';;\
$ret .= '<b style="color:red">';;\
$ret .= sprintf("%6s",$nfw);;\
$ret .= '</b></a> | <b>';;\
$ret .= '<a title="open changeLog file" href="'.$cl_link.'"><b style="color:red">' if($cl_link ne "none");;\
$ret .= sprintf("%-10s",$date);;\
$ret .= '</b></a>' if($cl_link ne "none");;\
$ret .= " |<br>";;\
}\
}\
$ret .= '</pre></div>';;\
return $ret;;\
}
attr DEVICE userReadings newFwForDevices:MATCHED_READINGS.* {\
my $ret = "";;\