mqtt2.template: bugs, Fragen, Anregungen

Begonnen von Beta-User, 15 Dezember 2018, 11:44:43

Vorheriges Thema - Nächstes Thema

TomLee

Wie es sich liest müsstest in der Payload bei den Schlüsseln einfach nur ein "_rgb" anhängen?

moskito

Hier mal mein Device, kann nicht ausschließen evtl. irgendwo noch mal etwas händisch angepasst zu haben:

define MQTT2_zigbee_led_flur MQTT2_DEVICE zigbee_led_flur
attr MQTT2_zigbee_led_flur alias LED Flur
attr MQTT2_zigbee_led_flur cmdIcon on:general_an off:general_aus
attr MQTT2_zigbee_led_flur devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr MQTT2_zigbee_led_flur devicetopic zigbee2mqtt/led_flur
attr MQTT2_zigbee_led_flur event-on-change-reading .*
attr MQTT2_zigbee_led_flur group Licht
attr MQTT2_zigbee_led_flur jsonMap color_temp:ct
attr MQTT2_zigbee_led_flur licht se.alle.lichter
attr MQTT2_zigbee_led_flur model zigbee2mqtt_light_rgbw_hex
attr MQTT2_zigbee_led_flur readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP);; $ret->{state_rgb}=lc($ret->{state_rgb}) if defined $ret->{state_rgb};; }\
zigbee2mqtt/led_flur/availability:.* { json2nameValue($EVENT, 'availability_', $JSONMAP) }\
zigbee2mqtt/led_flur/rgb:.* { json2nameValue($EVENT, 'rgb_', $JSONMAP) }\
zigbee2mqtt/led_flur/white:.* { json2nameValue($EVENT, 'white_', $JSONMAP) }
attr MQTT2_zigbee_led_flur room 13_Flur,MQTT2_DEVICE
attr MQTT2_zigbee_led_flur setList on:noArg $DEVICETOPIC/set {"state_rgb":"ON"}\
  off:noArg $DEVICETOPIC/set {"state_rgb":"OFF"}\
  warm:noArg $DEVICETOPIC/set {"brightness_rgb": 200 , "color_temp_rgb": 360}\
  white:noArg $DEVICETOPIC/set {"brightness_rgb": 254, "color_temp_rgb": 250}\
  blue:noArg $DEVICETOPIC/set {"color":{"hex":"#0000FF"}}\
  ct:colorpicker,CT,250,1,454 $DEVICETOPIC/set {"color_temp_rgb":"$EVTPART1"}\
  brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state_rgb":"on","$EVTPART0":"$EVTPART1"}\
  hex:colorpicker,HEX,0,15,255 $DEVICETOPIC/set {"color":{"$EVTPART0":"#$EVTPART1"}}
attr MQTT2_zigbee_led_flur userReadings hex:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))},\
attr MQTT2_zigbee_led_flur webCmd on:off:brightness:ct:warm:white:hex


Gruß
Danny
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

fsyy

Hallo,

das Aqara W100 wird nun von zigbee2mqtt unterstützt.

https://github.com/Koenkk/zigbee2mqtt/issues/27262

Wie kann ich hierbei helfen? Ich habe das Gerät und es ist in zigbee2mqtt angelernt. Wenn ich davon Infos posten soll, bitte bescheid geben.

Herzlichen Dank.

McElch

Hallo, ich habe eine Frage zu einem meiner mqtt2_devices. Es ist ein Fingerbot, der den Türöffner der Haussprechanlage bedient. Das hat auch lange geklappt. Allerdings bin ich gerade dabei, alle meine Zigbee-Geräte von deConz auf zigbee2mqtt umzustellen.

Das Gerät hat sich nach dem neuen Pairing wie folgt angelegt:

define zigbee_Fingerbot01 MQTT2_DEVICE zigbee_Fingerbot01
attr zigbee_Fingerbot01 readingList zigbee2mqtt/Fingerbot01:.* { json2nameValue($EVENT) }
attr zigbee_Fingerbot01 room MQTT2_DEVICE
#   CFGFN     
#   CID        zigbee_Fingerbot01
#   DEF        zigbee_Fingerbot01
#   FUUID      6947d638-f33f-e7df-b244-d35c974785c0c02b
#   IODev      mqtt2server
#   LASTInputDev mqtt2server
#   MSGCNT     50
#   NAME       zigbee_Fingerbot01
#   NR         895
#   STATE      OFF
#   TYPE       MQTT2_DEVICE
#   eventCount 52
#   mqtt2server_CONN mqtt2server_192.168.70.178_58024
#   mqtt2server_MSGCNT 50
#   mqtt2server_TIME 2025-12-21 12:38:27
#   READINGS:
#     2025-12-21 12:12:56   IODev           mqtt2server
#     2025-12-21 12:12:56   associatedWith  mqttjs_dee908bf
#     2025-12-21 12:38:27   battery         100
#     2025-12-21 12:38:27   delay           3
#     2025-12-21 12:38:27   linkquality     18
#     2025-12-21 12:38:27   lower           85
#     2025-12-21 12:38:27   mode            click
#     2025-12-21 12:38:27   program_0       255
#     2025-12-21 12:38:27   program_1       255
#     2025-12-21 12:38:27   program_2       255
#     2025-12-21 12:38:27   program_3       0
#     2025-12-21 12:38:27   program_4       85
#     2025-12-21 12:38:27   program_5       0
#     2025-12-21 12:38:27   program_6       1
#     2025-12-21 12:38:27   program_7       0
#     2025-12-21 12:38:27   program_8       0
#     2025-12-21 12:38:27   program_9       5
#     2025-12-21 12:38:27   reverse         ON
#     2025-12-21 12:38:27   state           OFF
#     2025-12-21 12:38:27   touch           ON
#     2025-12-21 12:38:27   upper           0
#
setstate zigbee_Fingerbot01 OFF
setstate zigbee_Fingerbot01 2025-12-21 12:12:56 IODev mqtt2server
setstate zigbee_Fingerbot01 2025-12-21 12:12:56 associatedWith mqttjs_dee908bf
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 battery 100
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 delay 3
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 linkquality 18
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 lower 85
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 mode click
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_0 255
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_1 255
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_2 255
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_3 0
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_4 85
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_5 0
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_6 1
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_7 0
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_8 0
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 program_9 5
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 reverse ON
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 state OFF
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 touch ON
setstate zigbee_Fingerbot01 2025-12-21 12:38:27 upper 0


Nur schalten lässt sich nichts. Ich habe auch kein passendes attrTemplate gefunden (habe erfolglos zigbee2mqtt_light_switch und zigbee2mqtt_wireless_button ausprobiert).

Das einzige, was er können soll, ist den Türöffner ein paar Sekunden zu drücken.

Von zigbee2mqtt wird der Fingerbot zu 100% unterstützt. Ich weiss nur nicht, wie ich FHEM dazu bringe, ihn zu steuern.

Unter deConz hat es funktioniert, da ist er wie folgt angelegt worden:

define deConz_HUEDevice12 HUEDevice 12  IODev=deConz
attr deConz_HUEDevice12 IODev deConz
attr deConz_HUEDevice12 alias Haustür
attr deConz_HUEDevice12 color-icons 2
attr deConz_HUEDevice12 devStateIcon .*:smartlock_unlocked@green
attr deConz_HUEDevice12 group HUEDevice
attr deConz_HUEDevice12 icon secur_locked
attr deConz_HUEDevice12 model TS0001
attr deConz_HUEDevice12 room HUEDevice,Schlösser
attr deConz_HUEDevice12 subType switch
attr deConz_HUEDevice12 webCmd toggle
#   DEF        12  IODev=deConz
#   FUUID      677d9626-f33f-07a1-a09c-b7a25fa32e896201
#   FVERSION   31_HUEDevice.pm:0.290140/2024-07-06
#   ID         12
#   INTERVAL  
#   IODev      deConz
#   NAME       deConz_HUEDevice12
#   NR         529
#   STATE      unreachable
#   TYPE       HUEDevice
#   desired    0
#   eventCount 30174
#   has_events 1
#   lastannounced 2025-11-15T12:23:08Z
#   manufacturername _TZ3210_j4pdtz9v
#   modelid    TS0001
#   name       On/Off output 12
#   swversion  1.1.3
#   type       On/Off output
#   uniqueid   a4:c1:38:41:9b:74:1f:5a-01
#   READINGS:
#     2025-11-30 15:07:23   IODev           deConz
#     2025-12-21 12:53:17   lastseen        2025-12-21T11:01Z
#     2025-12-20 15:12:22   onoff           0
#     2025-12-20 15:12:22   pct             0
#     2025-12-21 12:07:05   reachable       0
#     2025-12-21 12:07:05   state           unreachable
#   helper:
#     alert     
#     battery    -1
#     bri        -1
#     colormode 
#     ct         -1
#     devtype   
#     dynamics_status
#     effect    
#     hue        -1
#     lastseen  
#     mode      
#     on         0
#     pct        0
#     reachable  0
#     rgb       
#     sat        -1
#     update_timeout 1
#     v2effect  
#     xy        
#     capabilities:
#     json:
#       etag       13a9585ac21bbe9163288cb8183f3eac
#       lastannounced 2025-11-15T12:23:08Z
#       lastseen   2025-12-21T11:01Z
#       manufacturername _TZ3210_j4pdtz9v
#       modelid    TS0001
#       name       On/Off output 12
#       nwkaddress 0x897A
#       swversion  1.1.3
#       type       On/Off output
#       uniqueid   a4:c1:38:41:9b:74:1f:5a-01
#       capabilities:
#       config:
#         groups:
#           11
#           10
#       state:
#
setstate deConz_HUEDevice12 unreachable
setstate deConz_HUEDevice12 2025-11-30 15:07:23 IODev deConz
setstate deConz_HUEDevice12 2025-12-21 12:53:17 lastseen 2025-12-21T11:01Z
setstate deConz_HUEDevice12 2025-12-20 15:12:22 onoff 0
setstate deConz_HUEDevice12 2025-12-20 15:12:22 pct 0
setstate deConz_HUEDevice12 2025-12-21 12:07:05 reachable 0
setstate deConz_HUEDevice12 2025-12-21 12:07:05 state unreachable


Könnt ihr helfen? Vielen Dank im Voraus! :)

Beta-User

Kannst du den Link zum Modell auf den zigbee2mqtt-Seiten raussuchen? Da sollte stehen, wie die Json aussehen müssen.
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

moskito

Du müsstest das Device um das Attribut "setList" erweitern. Mal so aus der Hüfte ohne Gewähr...

setList:
on:noArg zigbee2mqtt/Fingerbot01/set {"state": "ON"}

Ich habe mal dieses Modell als Vorlage genommen:
https://www.zigbee2mqtt.io/devices/TS0001_fingerbot.html

Gruß
Danny
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

McElch

Ja, genau das ist die Seite auf zigbee2mqqt:

https://www.zigbee2mqtt.io/devices/TS0001_fingerbot_1.html

Das mit dem setList hat auf Anhieb geklappt, ich kann jetzt set zigbee_Fingerbot01 on senden, dann drückt er den Knopf, und lässt ihn auch nach der in zigbee2mqtt eingestellten sustain time wieder los!

Cool, vielen Dank!