Autor Thema: mqtt2.template: Contributing  (Gelesen 2356 mal)

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5843
  • Maintainer: mqtt2.template, httpmod.template
Antw:mqtt2.template: Contributing
« Antwort #15 am: 05 Februar 2019, 07:59:32 »
Zu dem Magichome RGBW-Controller:
- So ganz will mir das mit den userreadings-Anweisungen nicht einleuchten. Es ist doppelt (im Ergebnis also nur das letzte maßgebend, und dann wird eigentlich nur das Reading "Color" nach "rgb" gedoppelt; soweit erkennbar, gibt es kein Reading für die Helligheit. Müßte ganz ohne userreadings doch eigentlich auch so gehen:attr DEVICE devStateIcon {Color::devStateIcon($name,"color","color","state")}- Was das mit POWER, POWER1 usw. angeht, haben wir für andere Tasmota-Varianten da vorab eine Umstellung (mit einem innerhalb des templates zuerst angewendeten anderen template) vorgenommen, dass immer POWER1 verwendet wird und der Status klein geschrieben zurückkommt usw.. Würde das hier auch Sinn machen, v.a. um die beschriebenen Probleme mit unterschiedlichen ESP's zu vermeiden?

Udate:
habe das als template ins svn geladen mit den genannten Änderungen. Wäre nett, wenn du das kurz testen könntest :) .
« Letzte Änderung: 05 Februar 2019, 16:33:51 von Beta-User »
Server: HP-T5740 mit Debian stretch (i386) + aktuellem FHEM | ConfigDB | CUL_HM: div. Hardware mit VCCU | MySensors seriell (2.3.1@RS485, daran div. Sensoren usw., u.a. DS18B20) | Milight@ESP-GW@MQTT2 | zigbee2mqtt@MQTT2 | SIGNALduino | MapleCUN

Offline drhirn

  • Sr. Member
  • ****
  • Beiträge: 894
Antw:mqtt2.template: Contributing
« Antwort #16 am: 07 März 2019, 15:29:11 »
Hallo,

hab die letzten etlichen Stunden mit einem Shelly RGBW2 gespielt und dabei auch erste Gehversuche mit den MQTT-Templates gemacht. Hier das Ergebnis.
Bitteschön aber nicht in die Liste integrieren. Das war nur so ein Versuch. Ich lasse den einfach hier stehen, falls jemand (oder ich) damit weitertun möchte.

Shelly ist auf "weiß" konfiguriert (spricht die vier Kanäle als weiße Leuchten an), das "Template" gilt nur für Kanal 0.

# shellyrgbw2 white-channel 0 only using original firmware
name:A_16_shellyrgbw2_white_c0
filter:TYPE=MQTT2_DEVICE
desc:shellyrgbw2 using white-channel 0 only with original firmware
par:DEVNAME;name of this shelly;{ AttrVal("DEVICE","readingList","") =~ m,shellies/([^/]+)/, ? $1 : undef }
attr DEVICE setList\
on:noArg shellies/DEVNAME/white/0/command on\
off:noArg shellies/DEVNAME/white/0/command off\
brightness:colorpicker,BRI,0,1,100 shellies/DEVNAME/white/0/set {"$EVTPART0":"$EVTPART1"}
deletereading DEVICE status_.*
attr DEVICE readingList\
shellies/DEVNAME/white/0:.* { state=>$EVTPART0 }\
shellies/DEVNAME/white/0/status:.* {json2nameValue($EVENT)}
attr DEVICE webCmd toggle:on:off:brightness
attr DEVICE genericDeviceType light
attr DEVICE model A_16_shellyrgbw2_white_c0

Offline Capu

  • New Member
  • *
  • Beiträge: 15
Antw:mqtt2.template: Contributing
« Antwort #17 am: 09 März 2019, 17:53:15 »
So... Nachdem das Brett vor dem Kopf weg ist  ;)

WXKG12LM - Xiaomi Aqara wireless switch (with gyroscope)
name:L_12_zigbee2mqtt_Wireless_Button
desc: Wireless button via zigbee2mqtt <br>Tested with: Xiaomi Aqara WXKG12LM wireless switch with gyroscope
filter:TYPE=MQTT2_DEVICE
par:BASE_TOPIC;base topic as set in configuration.yaml of the zigbee2mqtt bridge in the topics;{ AttrVal("DEVICE","readingList","") =~ m,([^/]+)[/].*:, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
attr DEVICE stateFormat Click: click Action: action
attr DEVICE readingList BASE_TOPIC/DEV_ID:.* { json2nameValue($EVENT) }
deletereading DEVICE .*
attr DEVICE model L_12_Wireless_Button

@luke666s, @Beta-User
Das "Aqara" ohne "u" ;)

Server: Raspberry 3B+ - USB-SSD (Raspian Stretch) - HM-MOD-RPI-PCB - 433MHz@GPIO - MQTT2
Support: Raspberry (Raspian Stretch) - lepresenced - CC2531 - zigbee2mqtt
Stuff: HM-Thermostate, -Dimmer, -Schalter, -Fensterkontakte, 433MHz-"Baumarktsteckdosen", Aqara Temp/Hum/hPa, Aqara wireless switch

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 1121
Antw:mqtt2.template: Contributing
« Antwort #18 am: 11 März 2019, 12:57:39 »
Hallo,

stehe gerade etwas auf dem Schlauch, wo steht/sieht man denn die Beschreibung/Description/desc: die man im Template angibt.
War der Meinung der Inhalt steht später dann über Replace, ist aber nicht so.

Gruß

Thomas

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5843
  • Maintainer: mqtt2.template, httpmod.template
Antw:mqtt2.template: Contributing
« Antwort #19 am: 11 März 2019, 13:10:10 »
stehe gerade etwas auf dem Schlauch, wo steht/sieht man denn die Beschreibung/Description/desc: die man im Template angibt.
War der Meinung der Inhalt steht später dann über Replace, ist aber nicht so.
Die Frage wäre m.E. besser hier aufgehoben gewesen: https://forum.fhem.de/index.php/topic,94494.msg872200.html#msg872200 (bzw. es handelt sich ggf. sogar um eine ganz allgemeine Frage zum ganzen...)

Grundsätzlich gehört immer zusammen, was ab "name:" bis vor das nächste "name:" steht.
"desc:" ist das, was als Beschreibung bei Aufruf von ? erscheint.

Was mit Replace gemeint ist, kann ich nur raten:
Wenn man irgendeine Variable vorab mit Inhalt füllen will, der dann in den nachfolgenden Zeilen statt der Variable eingesetzt werden soll, macht man das mit "par: ...". Dabei ist die Syntax: VARIABLENNAME;Hinweistext, der in einem Dialogfeld zur Erstetzen im Aufruf erscheint, wenn die hinter dem nächsten Trenner (";") stehende Perl-Funktion "undef" zurückgibt. Wird was anderes als undef (oder vielleicht ""?) zurüchgeliefert, wird das direkt und ohne weitere Rückfrage übernommen.

Wenn das in der Form noch nicht weiterhilft, bitte in den anderen Thread ausweichen!
Server: HP-T5740 mit Debian stretch (i386) + aktuellem FHEM | ConfigDB | CUL_HM: div. Hardware mit VCCU | MySensors seriell (2.3.1@RS485, daran div. Sensoren usw., u.a. DS18B20) | Milight@ESP-GW@MQTT2 | zigbee2mqtt@MQTT2 | SIGNALduino | MapleCUN

Offline Capu

  • New Member
  • *
  • Beiträge: 15
Antw:mqtt2.template: Contributing
« Antwort #20 am: 12 März 2019, 12:11:43 »
Mahlzeit... Hätte da noch zwei Aqaras

Xiaomi Aqara WXKG11LM wireless button (older, without gyro | single, double, triple, quadruple click)
name:L_13_zigbee2mqtt_wireless_button_old
desc: Wireless button without gyro via zigbee2mqtt <br>Tested with: Xiaomi Aqara WXKG11LM wireless button
filter:TYPE=MQTT2_DEVICE
par:BASE_TOPIC;base topic as set in configuration.yaml of the zigbee2mqtt bridge in the topics;{ AttrVal("DEVICE","readingList","") =~ m,([^/]+)[/].*:, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
attr DEVICE stateFormat Click: click
attr DEVICE readingList BASE_TOPIC/DEV_ID:.* { json2nameValue($EVENT) }
deletereading DEVICE .*
attr DEVICE model L_13_wireless_button_old

Xiaomi Mi/Aqara MFKZQ01LM smart home cube (shake, wakeup, slide, flip180, flip90, rotate_left and rotate_right)
name:L_14_zigbee2mqtt_aqara_cube
desc: Aqara smarthome cube via zigbee2mqtt <br>Tested with: Xiaomi Aqara MFKZQ01LM smarthome cube
filter:TYPE=MQTT2_DEVICE
par:BASE_TOPIC;base topic as set in configuration.yaml of the zigbee2mqtt bridge in the topics;{ AttrVal("DEVICE","readingList","") =~ m,([^/]+)[/].*:, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
attr DEVICE stateFormat Action: action
attr DEVICE readingList BASE_TOPIC/DEV_ID:.* { json2nameValue($EVENT) }
deletereading DEVICE .*
attr DEVICE model L_14_aqara_cube
Server: Raspberry 3B+ - USB-SSD (Raspian Stretch) - HM-MOD-RPI-PCB - 433MHz@GPIO - MQTT2
Support: Raspberry (Raspian Stretch) - lepresenced - CC2531 - zigbee2mqtt
Stuff: HM-Thermostate, -Dimmer, -Schalter, -Fensterkontakte, 433MHz-"Baumarktsteckdosen", Aqara Temp/Hum/hPa, Aqara wireless switch

Offline Capu

  • New Member
  • *
  • Beiträge: 15
Antw:mqtt2.template: Contributing
« Antwort #21 am: Heute um 10:42:29 »
Guten Morgen zusammen,
hab speziell für die Müller Licht/MLI/Aldi "tint" Leuchten noch ein Template erstellt. RGBW Leuchte mit Farbauswahl und Farbtemperaturauswahl bei weißem Licht.

name:L_02d_zigbee2mqtt_light_MLItint
filter:TYPE=MQTT2_DEVICE:FILTER=CID=zigbee.*
desc: MuellerLight/MLI/Aldi tint RGBW bulb connected via zigbee2mqtt <br>tested with Mueller Light tint RGBW bulb
par:BASE_TOPIC;base topic as set in configuration.yaml of the zigbee2mqtt bridge in the topics;{ AttrVal("DEVICE","readingList","") =~ m,([^/]+)[/].*:, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
attr DEVICE icon hue_filled_white_and_color_e27_b22
attr DEVICE stateFormat {lc ReadingsVal("$name","state",0)}
attr DEVICE devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr DEVICE webCmd toggle:on:off:brightness:color_temp:white:bright:color
attr DEVICE readingList BASE_TOPIC/DEV_ID:.* { json2nameValue($EVENT) }
attr DEVICE setList \
  on:noArg BASE_TOPIC/DEV_ID/set {"state":"ON"}\
  off:noArg BASE_TOPIC/DEV_ID/set {"state":"OFF"}\
  white:noArg BASE_TOPIC/DEV_ID/set {"brightness": 200 , "color_temp": 320}\
  bright:noArg BASE_TOPIC/DEV_ID/set {"brightness": 254, "color_temp": 250}\
  color_temp:colorpicker,CT,250,1,454 BASE_TOPIC/DEV_ID/set {"$EVTPART0":"$EVTPART1"}\
  brightness:colorpicker,BRI,0,5,255 BASE_TOPIC/DEV_ID/set {"state":"on","$EVTPART0":"$EVTPART1"}\
  color:colorpicker,HEX,0,15,255 BASE_TOPIC/DEV_ID/set {"color":{"$EVTPART0":"#$EVTPART1"}}
attr DEVICE model L_02d_zigbee2mqtt_light_MLItint

Vielleicht kann das ja noch jemand gebrauchen ;)
Viel Spaß damit!

Danke auch an Nenno für die initialen Logs :)


UPDATE:
Sorry, grad gemerkt das ich die falsche (Test-)Version eingestellt hab! :(

DAS ist die Richtige!
name:L_02d_zigbee2mqtt_light_MLItint
filter:TYPE=MQTT2_DEVICE:FILTER=CID=zigbee.*
desc: MuellerLight/MLI/Aldi tint RGBW bulb connected via zigbee2mqtt <br>tested with Mueller Light tint RGBW bulb
par:BASE_TOPIC;base topic as set in configuration.yaml of the zigbee2mqtt bridge in the topics;{ AttrVal("DEVICE","readingList","") =~ m,([^/]+)[/].*:, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
attr DEVICE icon hue_filled_white_and_color_e27_b22
attr DEVICE stateFormat {lc ReadingsVal("$name","state",0)}
attr DEVICE devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr DEVICE webCmd toggle:on:off:brightness:color_temp:white:bright:hex
attr DEVICE readingList BASE_TOPIC/DEV_ID:.* { json2nameValue($EVENT) }
attr DEVICE setList \
  on:noArg BASE_TOPIC/DEV_ID/set {"state":"ON"}\
  off:noArg BASE_TOPIC/DEV_ID/set {"state":"OFF"}\
  white:noArg BASE_TOPIC/DEV_ID/set {"color_temp": 200 , "color_temp": 320}\
  bright:noArg BASE_TOPIC/DEV_ID/set {"color_temp": 254, "color_temp": 250}\
  color_temp:colorpicker,CT,250,1,454 BASE_TOPIC/DEV_ID/set {"$EVTPART0":"$EVTPART1"}\
  brightness:colorpicker,BRI,0,5,255 BASE_TOPIC/DEV_ID/set {"state":"on","$EVTPART0":"$EVTPART1"}\
  hex:colorpicker,HEX,0,15,255 BASE_TOPIC/DEV_ID/set {"color":{"$EVTPART0":"#$EVTPART1"}}
attr DEVICE model L_02d_zigbee2mqtt_light_MLItint
« Letzte Änderung: Heute um 14:59:35 von Capu »
Server: Raspberry 3B+ - USB-SSD (Raspian Stretch) - HM-MOD-RPI-PCB - 433MHz@GPIO - MQTT2
Support: Raspberry (Raspian Stretch) - lepresenced - CC2531 - zigbee2mqtt
Stuff: HM-Thermostate, -Dimmer, -Schalter, -Fensterkontakte, 433MHz-"Baumarktsteckdosen", Aqara Temp/Hum/hPa, Aqara wireless switch

 

decade-submarginal