From ed19c244f75ed73d6044ede22f741691277559ff Mon Sep 17 00:00:00 2001
From: Beta-User <>
Date: Sat, 19 Feb 2022 05:19:55 +0000
Subject: [PATCH] mqtt2.template:small changes to z2m, OMG and tasmota venetian
blind
git-svn-id: https://svn.fhem.de/fhem/trunk@25706 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/FHEM/lib/AttrTemplate/mqtt2.template | 25 ++++++++++++-----------
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/fhem/FHEM/lib/AttrTemplate/mqtt2.template b/fhem/FHEM/lib/AttrTemplate/mqtt2.template
index 2e35d8765..ba8e10bf9 100644
--- a/fhem/FHEM/lib/AttrTemplate/mqtt2.template
+++ b/fhem/FHEM/lib/AttrTemplate/mqtt2.template
@@ -135,9 +135,8 @@ attr DEVICE devicetopic BASE_TOPIC
attr DEVICE bridgeRegexp\
BASE_TOPIC/([A-Za-z0-9._]+)[/]?.*:.* "zigbee_$1"
attr DEVICE getList\
- devicelist:noArg log $\DEVICETOPIC/bridge/config/devices/get\
- networkmap_raw:noArg raw $\DEVICETOPIC/bridge/networkmap raw\
- networkmap_graphviz:noArg graphviz $\DEVICETOPIC/bridge/networkmap graphviz
+ networkmap_raw:noArg raw $\DEVICETOPIC/bridge/request/networkmap raw\
+ networkmap_graphviz:noArg graphviz $\DEVICETOPIC/bridge/request/networkmap graphviz
attr DEVICE readingList\
$\DEVICETOPIC/bridge/state:.* state\
$\DEVICETOPIC/bridge/config/devices:.* {}\
@@ -148,9 +147,7 @@ attr DEVICE readingList\
$\DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices\
$\DEVICETOPIC/bridge/log:.* log\
$\DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }\
- $\DEVICETOPIC/bridge/networkmap:.* {}\
- $\DEVICETOPIC/bridge/networkmap/graphviz:.* graphviz\
- $\DEVICETOPIC/bridge/networkmap/raw:.* raw\
+ $\DEVICETOPIC/bridge/response/networkmap:.* { my $type = $EVENT =~ m/.*,"type":"(raw|graphviz)",.*/ ? $1 : 'networkmap'; $EVENT =~ m/{"data":\{.*"value":"?(.*[^"])"?\},"status":"ok"\}/ ? { $type=>$1 } : {} }\
$\DEVICETOPIC/bridge/devices:.* devices\
$\DEVICETOPIC/bridge/info:.* info\
$\DEVICETOPIC/bridge/groups:.* groups\
@@ -181,7 +178,7 @@ attr DEVICE comment To check for new updates of the deamon software, you might w
#set DEVICE attrTemplate do_general_mqtt_cleanup ADD_TO_IO_IGNOREREGEXP=BASE_TOPIC/[A-Za-z0-9._]+/set
set DEVICE attrTemplate do_general_mqtt_cleanup
attr DEVICE model zigbee2mqtt_bridge
-setreading DEVICE attrTemplateVersion 20220114
+setreading DEVICE attrTemplateVersion 20220218
# Based on https://forum.fhem.de/index.php/topic,94060.msg872371.html#msg872371
@@ -1620,7 +1617,7 @@ attr DEVICE readingList \
STATTOPIC/POWER1:.* {{'state' => 'opening'} if $EVENT eq 'on'}\
STATTOPIC/POWER2:.* {{'state' => 'closing'} if $EVENT eq 'on'}\
STATTOPIC/SHUTTER1:.* state
-attr DEVICE devStateIcon {my $onl = ReadingsVal($name,'LWT','Offline') eq 'Offline' ? 'rot' : 'gruen'; $onl = FW_makeImage("10px-kreis-$onl"); my $ip = ReadingsVal($name,'IPAddress','none'); my $pct = maxNum(int((109 - ReadingsNum($name,'pct',0))/10)*10, 1); my $open = ReadingsVal($name,'state',''); my $lvicon = $open eq 'opening' ? 'fts_shutter_up@red' : $open eq 'closing' ? 'fts_shutter_down@red' : "fts_shutter_$pct"; $lvicon = FW_makeImage($lvicon); my $lvcmd = ($open eq 'opening' || $open eq 'closing') ? 'stop' : $pct > 50 ? 'close' : 'open'; my $slt = ReadingsNum($name,'tiltSlat',90); my $slticon = 'fts_blade_arc_close_'; $slticon .= $slt > 0 ? '00' : $slt > -45 ? '50' : '100'; $slticon = FW_makeImage($slticon); my $sltcmd = $slt > 0 ? 'closeSlat' : $slt > -45 ? 'openSlat' : 'halfSlat'; qq($onl
$slticon $slt) }
+attr DEVICE devStateIcon {my $onl = ReadingsVal($name,'LWT','Offline') eq 'Offline' ? 'rot' : 'gruen'; $onl = FW_makeImage("10px-kreis-$onl"); my $ip = ReadingsVal($name,'IPAddress','none'); my $pct = maxNum(int((109 - ReadingsNum($name,'pct',0))/10)*10, 1); my $open = ReadingsVal($name,'state',''); my $lvicon = $open eq 'opening' ? 'fts_shutter_up@red' : $open eq 'closing' ? 'fts_shutter_down@red' : "fts_shutter_$pct"; $lvicon = FW_makeImage($lvicon); my $lvcmd = ($open eq 'opening' || $open eq 'closing') ? 'stop' : $pct > 50 ? 'close' : 'open'; my $slt = ReadingsNum($name,'tiltSlat',90); my $slticon = 'fts_blade_arc_close_'; $slticon .= $slt == 0 ? '100' : $slt < 90 ? '50' : '00'; $slticon = FW_makeImage($slticon); my $sltcmd = $slt == 90 ? 'closeSlat' : $slt > 40 ? 'openSlat' : 'halfSlat'; qq(
$onl $slticon $slt) }
attr DEVICE cmdIcon open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
attr DEVICE webCmd pct:tiltSlat
#attr DEVICE eventMap open:opens close:closes
@@ -1636,7 +1633,7 @@ This is for a tilt range from -90 to 90 degrees, if you have different tilt opti
For calibration, tilt range settings, use of more than one shutter device and further information on the available commands see
Tasmota wiki.
attr DEVICE model tasmota_2ch_shutter_venetian_invert_0
-setreading DEVICE attrTemplateVersion 20220216
+setreading DEVICE attrTemplateVersion 20220218
option:{ CALLSPEECHRECOGN }
set DEVICE attrTemplate speechcontrol_type_blind
@@ -4326,14 +4323,16 @@ attr DEVICE readingList\
BASE_ID/home_presence/.* {}\
homeassistant/.+?/config:.* { }
attr DEVICE setList\
- restart:noArg BASE_ID/DEVNAME/commands/MQTTtoSYS/config {"cmd":"restart"}
+ restart:noArg BASE_ID/DEVNAME/commands/MQTTtoSYS/config {"cmd":"restart"}\
+ update { my $payload = $EVENT; $payload =~ s/$EVTPART0 //; qq(BASE_ID/DEVNAME/commands/firmware_update $payload) }
attr DEVICE stateFormat
\
LWT\
Version: version
attr DEVICE icon ICON
+attr DEVICE comment For syntax wrt. update and BT commands see https://github.com/1technophile/OpenMQTTGateway/releases/tag/v0.9.7
attr DEVICE devStateIcon online:10px-kreis-gruen offline.*:10px-kreis-rot
attr DEVICE model OpenMQTTGateway_MCU
-setreading DEVICE attrTemplateVersion 20211207
+setreading DEVICE attrTemplateVersion 20220218
{ AttrTemplate_Initialize() }
name:OpenMQTTGateway_BT_scanner
@@ -4349,6 +4348,7 @@ attr DEVICE readingList\
BASE_ID/DEVNAME/BTtoMQTT/([0-9A-Z]+)/[^:]+:.* { $TOPIC =~ m,BTtoMQTT/([0-9A-Z]+)/([^:]+),; { "${1}_$2"=>$EVENT }}\
BASE_ID/home_presence/DEVNAME:.* { return unless $EVENT =~ m,(..):(..):(..):(..):(..):(..),; json2nameValue($EVENT,"BT_".uc($1.$2.$3.$4.$5.$6)."_"); {"last"=>uc($1.$2.$3.$4.$5.$6)}}
attr DEVICE setList\
+ BT_config { my $payload = $EVENT; $payload =~ s/$EVTPART0 //; qq(BASE_ID/DEVNAME/commands/MQTTtoBT/config $payload) }\
BT_scan_now:noArg BASE_ID/DEVNAME/commands/MQTTtoBT/config {"interval":0}\
BT_scan_interval:textField BASE_ID/DEVNAME/commands/MQTTtoBT/config {"interval":$EVTPART1}\
BT_blacklist:textField BASE_ID/DEVNAME/commands/MQTTtoBT/config {"black-list":[$EVTPART1]}\
@@ -4356,9 +4356,10 @@ attr DEVICE setList\
BT_minrssi:slider,-110,1,0 BASE_ID/DEVNAME/commands/MQTTtoBT/config {"minrssi":$EVTPART1}}\
deleteReadings:noArg {fhem "deletereading -q $NAME (?!associatedWith|attrTemplateVersion).* 86400"}
attr DEVICE periodicCmd deleteReadings:1440
+attr DEVICE comment For syntax wrt. update and BT commands see https://github.com/1technophile/OpenMQTTGateway/releases/tag/v0.9.7
attr DEVICE stateFormat Last: last
attr DEVICE model OpenMQTTGateway_BT_scanner
-setreading DEVICE attrTemplateVersion 20201208
+setreading DEVICE attrTemplateVersion 20220218
name:OpenMQTTGateway_BT_gtag
prereq:{my @devices=devspec2array("model=OpenMQTTGateway_MCU");return 1 if $devices[0];return 0}