mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
httpmod.template: update eq3 fw check; mqtt2.template: bugfix in zigbee2mqtt bridge
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@20144 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
be7e1b585b
commit
082372eff5
@ -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.
|
# Comments start with #. Empty lines are ignored.
|
||||||
# Syntax of one entry: name: line, one optional filter: line, zero or more par: lines, FHEM-Commands
|
# 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 reading01Name fw_link
|
||||||
attr DEVICE reading01RegOpt gi
|
attr DEVICE reading01RegOpt gi
|
||||||
attr DEVICE reading01Regex <a.href="(\/downloads\/software\/firmware\/hm[^"]+)
|
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 readingMaxAge 10
|
||||||
attr DEVICE readingMaxAgeReplacementMode delete
|
attr DEVICE readingMaxAgeReplacementMode delete
|
||||||
attr DEVICE requestData.* suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
|
attr DEVICE requestData.* suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
|
||||||
attr DEVICE room CUL_HM
|
attr DEVICE room CUL_HM
|
||||||
attr DEVICE showError 1
|
attr DEVICE showError 1
|
||||||
attr DEVICE showMatched 1
|
attr DEVICE showMatched 1
|
||||||
attr DEVICE stateFormat { my $ret ="";; \
|
attr DEVICE stateFormat {\
|
||||||
my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","");; \
|
my $ret ="";; \
|
||||||
$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;; \
|
my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","???");; \
|
||||||
$ret .= '<br><br><pre>';; \
|
$ret .= '<div style="text-align:left">';; \
|
||||||
$ret .= "| device | model | cur_fw | new_fw | release |<br>";; \
|
$ret .= 'last <a title="eq3-downloads" href="http://www.eq-3.de/service/downloads.html">homematic</a>-fw-check => '.$lastCheck;; \
|
||||||
$ret .= "------------------------------------------------------------------------------------<br>";; \
|
$ret .= '<br><br>';; \
|
||||||
my $check = ReadingsVal($name,"newFwForDevices","error => no or wrong data from eq3-server!");; \
|
$ret .= '<pre>';; \
|
||||||
if($check eq "no fw-updates needed!") {\
|
$ret .= "| device | model | cur_fw | new_fw | release |<br>";; \
|
||||||
$ret .= '| ';;\
|
$ret .= "------------------------------------------------------------------------------------<br>";; \
|
||||||
$ret .= '<b style="color:green">';;\
|
my $check = ReadingsVal($name,"newFwForDevices","error => no or wrong data from eq3-server!");; \
|
||||||
$ret .= sprintf("%-80s",$check);;\
|
if($check eq "no fw-updates needed!") {\
|
||||||
$ret .= '</b>';;\
|
$ret .= '| ';;\
|
||||||
$ret .= ' |';;\
|
$ret .= '<b style="color:green">';;\
|
||||||
} elsif($check eq "error => no or wrong data from eq3-server!") {\
|
$ret .= sprintf("%-80s",$check);;\
|
||||||
$ret .= '| <b style="color:red">';;\
|
$ret .= '</b>';;\
|
||||||
$ret .= sprintf("%-80s",$check);;\
|
$ret .= ' |';;\
|
||||||
$ret .= '</b> |';;\
|
} elsif($check eq "error => no or wrong data from eq3-server!") {\
|
||||||
} else { \
|
$ret .= '| ';;\
|
||||||
my @devices = split(',',$check);;\
|
$ret .= '<b style="color:red">';;\
|
||||||
foreach my $devStr (@devices) {\
|
$ret .= sprintf("%-80s",$check);;\
|
||||||
my ($dev,$md,$ofw,$idx,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;;\
|
$ret .= '</b>';;\
|
||||||
my $link = ReadingsVal($name,"fw_link-".$idx,"");;\
|
$ret .= ' |';;\
|
||||||
$ret .= '| <a href="/fhem?detail='.$dev.'">';;\
|
} else { \
|
||||||
$ret .= sprintf("%-23s",$dev);;\
|
my @devices = split(',',$check);; \
|
||||||
$ret .= '</a> | <b';;\
|
foreach my $devStr (@devices) { \
|
||||||
$ret .= (($md eq "?")?' title="missing attribute model => set device in teach mode to receive missing data" style="color:yellow"':' style="color:lightgray"').'>';;\
|
my ($dev,$md,$ofw,$idx_fw,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;;\
|
||||||
$ret .= sprintf("%-23s",$md);;\
|
my $fw_link = ReadingsVal($name,"fw_link-".$idx_fw,"???");; \
|
||||||
$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"').'>';;\
|
my $cl_link = ReadingsVal($name,"changeLog_link-".$idx_fw,"???");; \
|
||||||
$ret .= sprintf("%6s",$ofw);;\
|
$ret .= '| ';; \
|
||||||
$ret .= '</b> | <a title="eq3-firmware.tgz" href="'.$link.'"><b style="color:red">';;\
|
$ret .= '<a href="/fhem?detail='.$dev.'">';; \
|
||||||
$ret .= sprintf("%6s",$nfw);;\
|
$ret .= sprintf("%-23s",$dev);; \
|
||||||
$ret .= '</b></a> | ';;\
|
$ret .= '</a>';; \
|
||||||
$ret .= sprintf("%-10s",$date);;\
|
$ret .= " | ";; \
|
||||||
$ret .= " |<br>";;\
|
$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 .= '</pre></div>';;\
|
$ret .= " | ";; \
|
||||||
return $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.* {\
|
attr DEVICE userReadings newFwForDevices:MATCHED_READINGS.* {\
|
||||||
my $ret = "";;\
|
my $ret = "";;\
|
||||||
|
@ -71,7 +71,7 @@ attr DEVICE setList\
|
|||||||
log_level:debug,info,warn,error BASE_TOPIC/bridge/config/log_level $EVTPART1\
|
log_level:debug,info,warn,error BASE_TOPIC/bridge/config/log_level $EVTPART1\
|
||||||
permit_join:true,false BASE_TOPIC/bridge/config/permit_join $EVTPART1\
|
permit_join:true,false BASE_TOPIC/bridge/config/permit_join $EVTPART1\
|
||||||
remove:textField BASE_TOPIC/bridge/config/remove $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:textField BASE_TOPIC/bridge/bind/$EVTPART1 $EVTPART2\
|
||||||
x_bind_unbind:textField BASE_TOPIC/bridge/unbind/$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"}}\
|
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