mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-01 20:20:10 +00:00
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:
parent
37da7827fc
commit
db340fb39a
@ -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!");; \
|
||||
if($check eq "no fw-updates needed!") {\
|
||||
$ret .= '| ';;\
|
||||
$ret .= '<b style="color:green">';;\
|
||||
$ret .= sprintf("%-80s",$check);;\
|
||||
$ret .= '</b>';;\
|
||||
$ret .= ' |';;\
|
||||
} elsif($check eq "error => no or wrong data from eq3-server!") {\
|
||||
$ret .= '| ';;\
|
||||
$ret .= '<b style="color:red">';;\
|
||||
$ret .= sprintf("%-80s",$check);;\
|
||||
$ret .= '</b>';;\
|
||||
$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 .= '<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;; \
|
||||
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 .= '| <b style="color:green">';;\
|
||||
$ret .= sprintf("%-80s",$check);;\
|
||||
$ret .= '</b> |';;\
|
||||
} elsif($check eq "error => no or wrong data from eq3-server!") {\
|
||||
$ret .= '| <b style="color:red">';;\
|
||||
$ret .= sprintf("%-80s",$check);;\
|
||||
$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 .= '| <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 = "";;\
|
||||
|
Loading…
x
Reference in New Issue
Block a user