From aaf1100c72b0fb46f2177c20fd23e17c0efe9638 Mon Sep 17 00:00:00 2001 From: Beta-User <> Date: Wed, 11 Sep 2019 05:51:25 +0000 Subject: [PATCH] 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 --- fhem/FHEM/lib/AttrTemplate/httpmod.template | 99 +++++++++++++-------- fhem/FHEM/lib/AttrTemplate/mqtt2.template | 2 +- 2 files changed, 61 insertions(+), 40 deletions(-) diff --git a/fhem/FHEM/lib/AttrTemplate/httpmod.template b/fhem/FHEM/lib/AttrTemplate/httpmod.template index 490212b01..7bba0658f 100644 --- a/fhem/FHEM/lib/AttrTemplate/httpmod.template +++ b/fhem/FHEM/lib/AttrTemplate/httpmod.template @@ -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 no or wrong data from eq3-server!");; \ - if($check eq "no fw-updates needed!") {\ - $ret .= '| ';;\ - $ret .= '';;\ - $ret .= sprintf("%-80s",$check);;\ - $ret .= '';;\ - $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,$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 .= '| ';;\ - $ret .= sprintf("%-23s",$dev);;\ - $ret .= ' | ';;\ - $ret .= sprintf("%-23s",$md);;\ - $ret .= ' | ';;\ - $ret .= sprintf("%6s",$ofw);;\ - $ret .= ' | ';;\ - $ret .= sprintf("%6s",$nfw);;\ - $ret .= ' | ';;\ - $ret .= sprintf("%-10s",$date);;\ - $ret .= " |
";;\ - }\ - }\ - $ret .= '';;\ - return $ret;;\ +attr DEVICE stateFormat {\ + my $ret ="";; \ + my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","???");; \ + $ret .= '
';; \ + $ret .= 'last homematic-fw-check => '.$lastCheck;; \ + $ret .= '

';; \ + $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 .= '';;\ + $ret .= sprintf("%-80s",$check);;\ + $ret .= '';;\ + $ret .= ' |';;\ + } elsif($check eq "error => no or wrong data from eq3-server!") {\ + $ret .= '| ';;\ + $ret .= '';;\ + $ret .= sprintf("%-80s",$check);;\ + $ret .= '';;\ + $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 .= '';; \ + $ret .= sprintf("%-23s",$dev);; \ + $ret .= '';; \ + $ret .= " | ";; \ + $ret .= '';; \ + $ret .= sprintf("%-23s",$md);; \ + $ret .= '';; \ + $ret .= " | ";; \ + $ret .= '';; \ + $ret .= sprintf("%6s",$ofw);; \ + $ret .= '';; \ + $ret .= " | ";; \ + $ret .= '';; \ + $ret .= '';; \ + $ret .= sprintf("%6s",$nfw);; \ + $ret .= '';; \ + $ret .= '';; \ + $ret .= " | ";; \ + $ret .= '' if($cl_link ne "none");; \ + $ret .= sprintf("%-10s",$date);; \ + $ret .= '' if($cl_link ne "none");; \ + $ret .= " |
";; \ + } \ + } \ + $ret .= '
';; \ + $ret .= '
';; \ + return $ret;; \ } attr DEVICE userReadings newFwForDevices:MATCHED_READINGS.* {\ my $ret = "";;\ diff --git a/fhem/FHEM/lib/AttrTemplate/mqtt2.template b/fhem/FHEM/lib/AttrTemplate/mqtt2.template index ff4275ffc..ef6f8a4f2 100644 --- a/fhem/FHEM/lib/AttrTemplate/mqtt2.template +++ b/fhem/FHEM/lib/AttrTemplate/mqtt2.template @@ -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"}}\