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
$lvicon
$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
$lvicon
$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}