mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-24 09:09:19 +00:00
httpmod.template: update eq3 fw check; mqtt2.template: bugfix in zigbee2mqtt bridge
git-svn-id: https://svn.fhem.de/fhem/trunk@20144 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
7a9765cf00
commit
aaf1100c72
@ -1,5 +1,5 @@
|
||||
###########################################
|
||||
# $Id: mqtt2.template 18592 2019-02-14 06:27:39Z Beta-User $
|
||||
# $Id: httpmod.template $
|
||||
#
|
||||
# Comments start with #. Empty lines are ignored.
|
||||
# Syntax of one entry: name: line, one optional filter: line, zero or more par: lines, FHEM-Commands
|
||||
@ -426,50 +426,71 @@ attr DEVICE reading01Format https://www.eq-3.de%s
|
||||
attr DEVICE reading01Name fw_link
|
||||
attr DEVICE reading01RegOpt gi
|
||||
attr DEVICE reading01Regex <a.href="(\/downloads\/software\/firmware\/hm[^"]+)
|
||||
attr DEVICE reading02OExpr $val=~m/(\/downloads\/software\/firmware\/[^"]+)/?"https://www.eq-3.de".$1:"none"
|
||||
attr DEVICE reading02RegOpt gis
|
||||
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 showError 1
|
||||
attr DEVICE showMatched 1
|
||||
attr DEVICE stateFormat { my $ret ="";; \
|
||||
my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","");; \
|
||||
$ret .= '<div style="text-align:left">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 .= sprintf("%-80s",$check);;\
|
||||
$ret .= '</b>';;\
|
||||
$ret .= ' |';;\
|
||||
} 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,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;;\
|
||||
my $link = ReadingsVal($name,"fw_link-".$idx,"");;\
|
||||
$ret .= '| <a href="/fhem?detail='.$dev.'">';;\
|
||||
$ret .= sprintf("%-23s",$dev);;\
|
||||
$ret .= '</a> | <b';;\
|
||||
$ret .= (($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> | <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> | <a title="eq3-firmware.tgz" href="'.$link.'"><b style="color:red">';;\
|
||||
$ret .= sprintf("%6s",$nfw);;\
|
||||
$ret .= '</b></a> | ';;\
|
||||
$ret .= sprintf("%-10s",$date);;\
|
||||
$ret .= " |<br>";;\
|
||||
}\
|
||||
}\
|
||||
$ret .= '</pre></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>';; \
|
||||
$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 userReadings newFwForDevices:MATCHED_READINGS.* {\
|
||||
my $ret = "";;\
|
||||
|
@ -71,7 +71,7 @@ attr DEVICE setList\
|
||||
log_level:debug,info,warn,error BASE_TOPIC/bridge/config/log_level $EVTPART1\
|
||||
permit_join:true,false BASE_TOPIC/bridge/config/permit_join $EVTPART1\
|
||||
remove:textField BASE_TOPIC/bridge/config/remove $EVTPART1\
|
||||
y_device_setting:textField zigbee2mqtt/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}\
|
||||
y_device_setting:textField BASE_TOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}\
|
||||
x_bind:textField BASE_TOPIC/bridge/bind/$EVTPART1 $EVTPART2\
|
||||
x_bind_unbind:textField BASE_TOPIC/bridge/unbind/$EVTPART1 $EVTPART2\
|
||||
x_device_options:textField BASE_TOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1",""options": {"$EVTPART2": "$EVTPART3"}}\
|
||||
|
Loading…
x
Reference in New Issue
Block a user