attrTemplate für ZigBee2Tasmota

Begonnen von kimbolero, 19 Juni 2020, 21:02:50

Vorheriges Thema - Nächstes Thema

TL60

Bezüglich NACK sehe ich auch keine Möglichkeit das enzugrenzen. Ich habe gerade auch nochmal die tasmota Konsole angeschaut, die meiner Meinung nach aber auch nichts hergibt, oder ?15:53:57 MQT: stat/zb2tasmota/RESULT = {"ZbSend":"Done"}
15:53:57 MQT: tele/zb2tasmota/RESULT = {"ZbConfirm":{"Endpoint":1,"Status":233,"StatusMessage":"NO_ACK"}}
15:53:57 MQT: tele/zb2tasmota/RESULT = {"ZbConfirm":{"Endpoint":1,"Status":233,"StatusMessage":"NO_ACK"}}
.
Bezüglich Wiki werde ich dann deinem Vorschlag folgen und im Wiki-Bereich einen neuen Thread aufmachen.
Dann habe ich wie schon erwähnt den Tradri On/off Switch angelegt und das ...generic_battery_senor Template angewendet. Raw definition defmod MQTT2_z2t_A5A6 MQTT2_DEVICE z2t_A5A6
attr MQTT2_z2t_A5A6 IODev MQTT2server
attr MQTT2_z2t_A5A6 icon temperature_humidity
attr MQTT2_z2t_A5A6 jsonMap Battery:batteryPercent Device:0 BatteryPercentage:0
attr MQTT2_z2t_A5A6 readingList tele/zb2tasmota/A5A6/SENSOR:.* { $EVENT =~ m,^.*(..Device.+)..$, ?  json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xA5A6.:(.*).., ?  json2nameValue($1,'',$JSONMAP) : undef }
attr MQTT2_z2t_A5A6 room MQTT2_DEVICE

setstate MQTT2_z2t_A5A6 2020-08-06 14:26:24 0006_00
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:20 0006_01
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:50 0008_01 01530000
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:34 0008_05 0053
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:52 0008_07
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:50 DimmerMove 1
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:52 DimmerStop true
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:55 Endpoint 1
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:55 LinkQuality 94
setstate MQTT2_z2t_A5A6 2020-08-06 14:26:24 Power 0
setstate MQTT2_z2t_A5A6 2020-08-06 14:24:11 associatedWith MQTT2_DVES_AAFFC1

Hier wird bei einem kurzen Tastendruck auf I das Reading Power auf 1 bzw. bei druck auf 0 das Reading Power auf 0 gesetzt, ansonsten soll das Verhalten lt. zigbee2mqtt Doku so sein:Ikea ON/OFF Switch

"ModelId":"TRADFRI on/off switch","Manufacturer":"IKEA of Sweden"

    Short press O - 0006!00
    Short press I - 0006!01
    Long press O - 0008!01
    Long press I - 0008!05
    Long press release O or I - 0008!07
Dieses Verhalten kenne ich so nicht. Z.Bsp. Deconz liefert unter einem Reading mit unterschiedlichen Werten die Daten aus.Zigbee2Mqtt ebenso, oder täusche ich mich da?

Beta-User

Bzgl. NO_ACK scheint die Tasmota-Konsole in der Tat keinen Erkenntnisgewinn zu bieten.

Was das Mapping der Tasten-Events angeht, liefert Tasmota hier scheinbar eben _auch_ die unbearbeiteten Werte. An sich wäre es wohl kein Problem, ein Fernbedienungs-Template zu basteln, das die "Roh"-Codes anders verarbeitet. Allerdings scheint mir das bzgl. der nummerishen Angaben keinen großen Mehrwert zu bieten, da wohl auch "bessere" (aufbearbeitete) Infos geliefert werden (siehe Ende des Abschnitts https://tasmota.github.io/docs/Zigbee/#receiving-commands; das paßt zu dem, was du hier postest). Am ehesten sollten wir versuchen, die "nummerischen" direkt auszublenden (jsonMap auf :0 oder ein negativer Filter).
Dass es nicht ganz trivial ist, mit den FB-Codes was vernünftiges anzufangen, die eben auf mind. 3 "lesbare" Readings verteilt sind, ist eine andere Geschichte, eventuell wäre es noch eine interessante Sache, den "lastClick" irgendwie einzufangen und daraus dann nur eine Info (oder was zusätzliches) zu extrahieren...

(Kann versuchen, da bei Gelegenheit etwas rumzuspielen, aber dann bräuchte ich eine Ladung Roh-Daten vom MQTT-Verkehr).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TL60

ich muss zugeben, jetzt habe ich zum grossenTeil nur Bahnhof verstanden. Mit MQTT Rohdaten meintest du sowas wie das hier:17:44:37 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"0008!05":"0053","DimmerMove":0,"Endpoint":1,"LinkQuality":78}}}
17:44:38 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"0008!07":"","DimmerStop":true,"Endpoint":1,"LinkQuality":84}}}
17:44:39 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"Endpoint":1,"LinkQuality":49}}}
17:44:41 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"Endpoint":1,"LinkQuality":92}}}
das ist ein Auszug aus der Tasmota Konsole beim längeren Drücken der I Taste und so sieht längerer Druck auf 0 aus 17:49:22 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"0008!01":"01530000","DimmerMove":1,"Endpoint":1,"LinkQuality":52}}}
17:49:24 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"0008!07":"","DimmerStop":true,"Endpoint":1,"LinkQuality":70}}}
17:49:24 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"Endpoint":1,"LinkQuality":89}}}
17:49:27 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"Endpoint":1,"LinkQuality":110}}}
Interessant ist noch, wie ich finde das bei Druck auf 0 Dimmermove:1 und bei Druck auf I Dimmermove:0 kommt, also genau andersrum wie zumindest ich es erwartet hätte.

TL60

Hallo,
der Anfang ist gemacht, https://forum.fhem.de/index.php/topic,113374.0.html,  da ich keine Ahnung habe wie das dann jetzt abläuft bin ich sehr gespannt. :)

Beta-User

So, seit eben gibt es auch den "smart switch" und ein erstes template für Remote-Control-Devices (und einige Kleinigkeiten beim Bridge-Device). Das sollte einfach die Taste in state schreiben, leider bekomme ich nicht ohne weiteres ein "hübscheres mapping" hin (die Idee war gewesen, dazu auch die Paare in jsonMap zu nutzen). Aber auch so sollte es ähnlich benutzbar sein wie z.B. das, was über HUEDevice zu sehen ist.

Ggf. können wir das Ausrufezeichen da noch eliminieren, das ist für regex-Ausdrücke bei der Weiterverarbeitung ggf. hinderlich, und das ganze dann ähnlich formatieren wie HUEDevice (das liefert sowas wie z.B. "8007").

Jetzt aber erst mal austesten, bitte...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TL60

Hallo gerade das template für das Remote-Control device probiert. Folgende Fehlermeldung: syntax error at (eval 180) line 1, near "? :", wobei at (eval 180 ) sich mit jedem Aufruf ändert, also z.Bsp. at (eval 215) at (eval219) usw. Ach ja und by the way der Tradfri Dimmer Switch hat mitlerweile ein eigenes Icon spendiert bekommen, heisst : tradfri_dimmerswitch. :) Das Template für das Bridge Device habe ich jetzt noch nicht angeschaut, oder hätte ich das vorher aktualisiern müssen?
Gruß Thomas

Beta-User

Argh, da machst du bitte das Fragezeichen vor dem Doppelpunkt aus der readingList, war vom Testen/Übertragen noch über... Sollte so anfangen:
{ $EVENT =~ m,([0-9]{4}![0-9]{2}), ? { 'state'=>$1 } : $EVENT =~ m [...]

Das mit dem Icon ist Absicht, das template sollte für alle Arten FB's passen und auch z.B. den Cube.

Das bridge_attrTemplate müßtest du nochmal anwenden, dann wäre dieses Device dann bei dir auf dem aktuellen Stand (bitte vorher eine RAW-Sicherungskopie anlegen, falls was schiefgeht).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TL60

Mache ich so, da ich sowieso auf einem Testsystem arbeite ist das mit dem schiefgehen nicht so schlimm  ;).
Wegen ZbStatus hätte ich mich auch noch gemeldet, weil das, soweit ich gesehen habe, die einzige Möglichkeit darstellt mit dem Gateway gepairte Geräte sichtbar zu machen. Hier fände ich persönlich es schön, wenn man ähnlich wie bei Zigbee2mqtt über den get **** devicelist ein neues Fenster mit den Informationen angezeigt bekommt. Gemäß zigbee2tasmota doku besteht aber die Gefahr, dass die maximale Mqtt message Größe überschritten wird. (von mir frei übersetzt). Ansonsten habe ich während des Probierens hier viel damit an der Tasmota Konsole gearbeitet.

Beta-User

So, gerne wieder ein svn-update machen:
- getList@bridge gibt vielleicht schon die passenden Rückmeldungen...
Was die Länge angeht, ist das evtl. eher eine Beschränkung auf der Tasmota-Seite; daher habe ich die Option vorgesehen, da für "2" auch Zahlen einzugeben, es müßte aber auch ohne gehen?
- Die Tasten-Regex für die FB's habe ich nochmal geändert (ist ungetestet), die sollte jetzt ein "einfaches" 8007 oder 8001 etc. in state schreiben. (Geht erst mal davon aus, dass das eigentlich immer "000a!0b" entspricht, kann man aber bei Bedarf erweitern).
- Was mir jetzt noch gedanklich aus der z2t-Doku fehlt, ist das mit den Gruppen. Das ist da aber nicht so klar, wohin denn ggf. die Rückmeldungen gehen. Wenn möglich, würde ich setter in jeder Bulb+FB vorsehen, mit denen man Gruppen beitreten kann oder diese wieder verlassen? Dazu einen/zwei setter an der bridge, um Gruppen zu erstellen bzw. zu löschen? Wenn du das nicht alleine hinbekommst (das scheint mir jetzt in Reichweite zu sein, kann aber gerne unterstützen), würde ich gerne wissen wollen, wo in welchem Fall welche Nachricht hin muß (alles über den normalen cmnd-Pfad, nehme ich an), und vor allem: wohin die zugehörige Rückmeldung jeweils geht.



Was die Vorgehensweise angeht, ist es m.E. sehr zielführend, auch immer einen Blick auf die "low level"-Kommunikation zu werfen; das war u.a. der Grund, warum ich hier mal nach dem MQTT-Verkehr gefragt hatte. Ob das die Tasmota-Konsole ist oder "nur" ein MQTT-Werkzeug, ist dann nicht so entscheidend... ;)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TL60

Soo, in Kurzform: ich bin schwer begeistert !!
In Langform: da ich ja sowieso auf einem Testsystem arbeite, habe ich in diesem heute abend alles gelöscht ein FHEM update gemacht, sicherheitshalber die Templates auch nochmal aus dem svn upgedatet.
Das erste Device (die zigbee2tasmota bridge) wurde sofort automatisch angelegt, darauf das bridge Template ohne Probleme angewendet. Befehle wie permt _join, ZbStatus1oder ZbStatus2 probiert, genauso hatte ich mir das vorgestellt, echt super. Nur beim ZbSend komme ich irgendwie nicht auf einen grünen Zweig, will heissen auf den richtigen Syntax für die Eingabe. Aber sonst alles schick. Jetzt könnte man das neu angelegte Wiki schon das erste Mal überarbeiten, weil über die Konsole von Zigbee2tasmota braucht man ja jetzt nicht mehr gehen  ;).
Weiter im Text: wie im Wiki beschrieben das erste Device (tasmota_zigbee2tasmota_light_cct )angelegt und wieder das Template erfolgreich darauf angewendet. Funktionen on/off dimup/down dim mit Slider und Ct mit Slider getestet keine Fehler gefunden auch die Icon Darstellung war i.O. zu guter Letzt den Tradfri Dimmer- Switch einmal die I Taste und einmal 0 Taste gedrückt, auch der wurde korrekt angelegt und wieder das entsprechende Template ohne Fehler angewendet die Readings für state kommen so wie du dir das vorgestellt hast: Also 6000,6001,8001,8005,8007 damit kann man dann sicher mittels notify oder doif reagieren. Also ich würde sagen:Perfekt :)
Bezüglich Gruppen: zum Anlegen von Gruppen brauche ich mindestens2 gleiche Lampen und eine Remote, korrekt? Vielleicht beschreibst mal etwas konkreter was ich machen soll/kann und ich versuche parallel dazu die Doku in Zigbee2tasmota zu verstehen. Wenn du noch irgendwelche Raw definitions oder so brauchst, einfach melden!
und für heute dann Gute Nacht ;)

Beta-User

 :) 8)
Hatte doch angekündigt, dass man da was draus machen kann:
Zitat von: Beta-User am 22 Juni 2020, 16:11:56
Es würde reichen, einfach den (sinnvollen) MQTT-Verkehr hier zu dokumentieren, dann bräuchen wir auch nicht irgendwelche suboptimalen Konstruktionen von externen (Werbe?)-Webseiten diskutieren, sondern könnten zusammen eine "vernünftige" und für andere "easy to adopt"-Lösung erarbeiten...
Von daher: Auch wenn kimbolero da irgendwie sehr zögerlich reagiert hatte: Ziel (fast) erreicht!  8) 8) 8)

Was Gruppen angeht: Ich weiß letztlich auch nicht mehr wie du, aber lt. der Doku @z2t würde ich annehmen, dass man nur eine FB und ein schaltbares Gerät braucht, von daher sollte der tint+FB gehen oder tint+Bulb oder tint+beides, gleich brauchen die Zielgeräte mAn. nicht zu sein.

Wg. der Syntax: Da hatte ich mich an dem orientiert, was in dem Hardware-Thread von locutus steht, mAn. solltest du da einfach ein wenig mit rumspielen, dann wird auch klarer, was das ggf. etwas erklärungsbedürftige "$EVTPARTx" eigentlich ist. (Ich habe da noch einen kleinen "Anschlag" betr. Wiki auf dich vor, aber nur, wenn du magst... Meine bisherigen Versuche waren leider noch nicht von (sichtbarem) Erfolg gekrönt).

Dass der Wiki-Artikel leben würde, war klar, aber es ist  nach meiner Erfahrung einfacher, für sowas erst mal einen Wurf zu machen und das dann nach und nach umzubauen, wenn neue Erkenntnisse oder Wege da sind. Btw.: Ein- und Ausschalten sollten nicht erforderlich sein, eines sollte schon ausreichen, oder täuscht mich das?

Das RAW von der FB würde mich übrigens in der Tat interessieren, denn eigentlich sollten da auch andere Readings vorhanden sein, z.B. für Batterie. Wäre schade, wenn wir die jetzt versehentlich komplett rausgefiltert hätten...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TL60

Hallo,
hier die RAW-definition des Schalters, ich muss sagen, tatsächlich kein Reading battery. Ich frage mich nur,  ob es überhaupt übrmittelt wird, denn im ganzenMqtt Verkehr auf der Zigbee2tasmota taucht nichts dergleichen auf, weder beim schalten noch mit ZbStatus2.defmod MQTT2_z2t_A5A6 MQTT2_DEVICE z2t_A5A6
attr MQTT2_z2t_A5A6 IODev MQTT2server
attr MQTT2_z2t_A5A6 icon tradfri_remote
attr MQTT2_z2t_A5A6 jsonMap Battery:batteryPercent Device:0 BatteryPercentage:0
attr MQTT2_z2t_A5A6 model tasmota_zigbee2tasmota_remote_control
attr MQTT2_z2t_A5A6 readingList tele/zb2tasmota/A5A6/SENSOR:.* { $EVENT =~ m,([0-9]{3}([0-9])![0-9]([0-9])), ? { 'state'=>"${2}00$3" } : $EVENT =~ m,^.*(..Device.+)..$, ?  json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xA5A6.:(.*).., ?  json2nameValue($1,'',$JSONMAP) : undef }
attr MQTT2_z2t_A5A6 room MQTT2_DEVICE

setstate MQTT2_z2t_A5A6 8007
setstate MQTT2_z2t_A5A6 2020-08-08 14:09:51 Endpoint 1
setstate MQTT2_z2t_A5A6 2020-08-08 14:09:51 LinkQuality 99
setstate MQTT2_z2t_A5A6 2020-08-08 14:06:44 Manufacturer IKEA of Sweden
setstate MQTT2_z2t_A5A6 2020-08-08 14:06:44 ModelId TRADFRI on/off switch
setstate MQTT2_z2t_A5A6 2020-08-07 22:23:58 associatedWith MQTT2_DVES_AAFFC1
setstate MQTT2_z2t_A5A6 2020-08-07 22:24:41 attrTemplateVersion 20200807_1
setstate MQTT2_z2t_A5A6 2020-08-08 14:09:47 state 8007
und die Konsolenausgabe bei ZbStatus2 14:24:46 CMD: ZbStatus2 2
14:24:46 MQT: stat/zb2tasmota/RESULT = {"ZbStatus2":[{"Device":"0xA5A6","IEEEAddr":"0x588E81FFFE144884","ModelId":"TRADFRI on/off switch","Manufacturer":"IKEA of Sweden","Endpoints":["0x01"]}]}
durch die 2te 2 wird nur der Schalter ausgegeben. Und nochmal ein Tastendruck 14:27:54 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"0006!01":"","Power":1,"Endpoint":1,"LinkQuality":92}}}
14:27:56 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"Endpoint":1,"LinkQuality":94}}}

Bezüglich Gruppen werde ich heute nachmittag / früher Abend mal was probieren.
Bezüglich Wiki will ich gerne was beitragen / probieren wenn ich weiss worum es geht.

TL60

Neue Erkenntisse bezüglich Groups und Bindings. Mit dem Befehl ZbSend {"device":"0xF6F8","Send":{"AddGroup":100}} wird eine Gruppe 100erstellt und das Device 0xF&F(tasmota_zigbee2tasmota_light_cct1) zu dieser Gruppe hinzugefügt. Der Befehl ZbSend {"device":"0xF5A6","Send":{"AddGroup":100}} fügt das Device 0XF5A6(tasmota_zigbee2tasmota_light_cct2) zu dieser Gruppe hinzu.ZbSend { "group":"100", "send":{"Power":"ON"} } schaltet beide Lampen ein bzw. Power:Off beide Lampen aus. Soweit so gut, der Zustand beider Lampen in FHEM get auf on bzw off, weil der Zustand auch über Mqtt gepublished wird 15:48:20 MQT: stat/zb2tasmota/RESULT = {"ZbSend":"Done"}
15:48:21 MQT: tele/zb2tasmota/F6F8/SENSOR = {"ZbReceived":{"0xF6F8":{"Power":1,"Endpoint":1,"LinkQuality":55}}}
15:48:21 MQT: tele/zb2tasmota/F5A6/SENSOR = {"ZbReceived":{"0xF5A6":{"Power":1,"Endpoint":1,"LinkQuality":84}}}
. Zu keiner Zeit ist in FHEM irgendwie die Group 100 als eigenständiges Gerät sichtbar, man sieht jediglich in den einzelnen Lampen neue Readings AddGroup,AddGroupStatus und AddGroupStatusMsg. Hier exemplarisch die RAW-definition einer Lampe, die andere Lampe sieht in dem Bereich genauso aus. defmod MQTT2_z2t_F6F8 MQTT2_DEVICE z2t_F6F8
attr MQTT2_z2t_F6F8 IODev MQTT2server
attr MQTT2_z2t_F6F8 devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr MQTT2_z2t_F6F8 icon light_control
attr MQTT2_z2t_F6F8 jsonMap Dimmer:brightness Power:state Device:0 Hue:hue Sat:saturation CT:ct
attr MQTT2_z2t_F6F8 model tasmota_zigbee2tasmota_light_cct
attr MQTT2_z2t_F6F8 readingList tele/zb2tasmota/F6F8/SENSOR:.* { $EVENT =~ s/"Power":1/"Power":"on"/g;; $EVENT =~ s/"Power":0/"Power":"off"/g;; $EVENT =~ m,^.*(..Device.+)..$, ?  json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xF6F8.:(.*).., ?  json2nameValue($1,'',$JSONMAP) : undef  }
attr MQTT2_z2t_F6F8 room MQTT2_DEVICE
attr MQTT2_z2t_F6F8 setExtensionsEvent 1
attr MQTT2_z2t_F6F8 setList on cmnd/zb2tasmota/ZbSend {"device":"0xF6F8","send":{"Power":"On"}}\
  off cmnd/zb2tasmota/ZbSend {"device":"0xF6F8","send":{"Power":"Off"}}\
  brightness:colorpicker,BRI,0,5,254 cmnd/zb2tasmota/ZbSend { "device":"0xF6F8", "send":{"Dimmer":$EVTPART1} }\
  dimup:noArg cmnd/zb2tasmota/ZbSend { "device":"0xF6F8", "send":{"DimmerUp":""} }\
  dimdown:noArg cmnd/zb2tasmota/ZbSend { "device":"0xF6F8", "send":{"DimmerDown":""} }\
  ct:colorpicker,CT,153,5,370 cmnd/zb2tasmota/ZbSend { "device":"0xF6F8", "send":{"CT":$EVTPART1} }
attr MQTT2_z2t_F6F8 setStateList on off
attr MQTT2_z2t_F6F8 webCmd on:off:brightness:ct

setstate MQTT2_z2t_F6F8 off
setstate MQTT2_z2t_F6F8 2020-08-08 15:01:03 0004_00 006400
setstate MQTT2_z2t_F6F8 2020-08-08 15:01:03 AddGroup 100
setstate MQTT2_z2t_F6F8 2020-08-08 15:01:03 AddGroupStatus 0
setstate MQTT2_z2t_F6F8 2020-08-08 15:01:03 AddGroupStatusMsg SUCCESS
setstate MQTT2_z2t_F6F8 2020-08-07 22:18:02 ColorMode 2
setstate MQTT2_z2t_F6F8 2020-08-08 15:52:15 Endpoint 1
setstate MQTT2_z2t_F6F8 2020-08-08 15:52:15 LinkQuality 55
setstate MQTT2_z2t_F6F8 2020-08-07 22:18:02 X 21202
setstate MQTT2_z2t_F6F8 2020-08-07 22:18:02 Y 22152
setstate MQTT2_z2t_F6F8 2020-08-07 22:15:26 associatedWith MQTT2_DVES_AAFFC1
setstate MQTT2_z2t_F6F8 2020-08-07 22:16:02 attrTemplateVersion 20200805
setstate MQTT2_z2t_F6F8 2020-08-07 22:18:57 brightness 250
setstate MQTT2_z2t_F6F8 2020-08-07 22:18:02 ct 168
setstate MQTT2_z2t_F6F8 2020-08-07 22:18:43 dimdown set
setstate MQTT2_z2t_F6F8 2020-08-07 22:18:55 dimup set
setstate MQTT2_z2t_F6F8 2020-08-08 15:52:15 state off
, da stellt sich natürlich die Frage, wie man aus FHEM heraus die Gruppe findet, oder erstellt um sie zu schalten.
Nächster Punkt, das Hinzufügen einer Remote zu dieser Gruppe führt beim schalten der Remote zur Fehlermeldung unsupported Cluster 15:32:08 MQT: stat/zb2tasmota/RESULT = {"ZbSend":"Done"}
15:32:24 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"0006!01":"","Power":1,"Endpoint":1,"LinkQuality":97}}}
15:32:25 MQT: tele/zb2tasmota/RESULT = {"ZbResponse":{"Device":"0xA5A6","Command":"0004!00","Status":195,"StatusMessage":"UNSUPPORTED_CLUSTER","Endpoint":1,"LinkQuality":99}} in der Konsole. Füge ich die Remote über den Befehl ZbBind ZbBind {"Device":"0xA5A6","ToGroup":100,"Endpoint":1,"Cluster":6} hinzu funktioniert das Schalten der Gruppe (beider Lampen)  mit der Remote zum Erfolg, allerdings bekommt FHEM hiervon nichts mit, ich denke weil der Zustand der beiden Lampen nicht gepublished wird, oder? das was gepublishet wird beim drücken der I Taste sieht so aus 16:09:39 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"0006!01":"","Power":1,"Endpoint":1,"Group":100,"LinkQuality":99}}}
16:09:40 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"Endpoint":1,"LinkQuality":99}}}
oder so bei Taste0 16:11:10 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"0006!00":"","Power":0,"Endpoint":1,"Group":100,"LinkQuality":99}}}
16:11:11 MQT: tele/zb2tasmota/A5A6/SENSOR = {"ZbReceived":{"0xA5A6":{"Endpoint":1,"LinkQuality":99}}}

Ich schätze heute nachmittag sind mehr offene Fragen aufgetaucht als Lösungen .
Trotzdem schönes (Rest-) Wochenende
Thomas

Beta-User

Vorab mal Danke für den RAW-Remote-Code. Das scheint insgesamt zu funktionieren, wie es soll, jedenfalls sind Teile der "anderen" Readings da; vermute battery wird ggf. nicht oder nur gelegentlich gesendet.




Was Gruppen angeht: hab's gesehen und jetzt eine Zeitlang drüber nachgedacht, bin aber zu keiner wirklichen Lösung gekommen... Hatte auch nicht erwartet, dass das ein "Spaziergang" wird, Gruppenfunktionen sind mAn. nämlich auch in deconz ein etwas undurchsichtiges Thema. Vermutlich muß man irgendwie den Weg Remote -(Rückmeldung) -> (Hilfsdevice für die) Gruppe -> Leuchtmittel gehen, wenn man da irgendwelche Schlussfolgerungen draus ziehen will.

Gibt es ggf. die Möglichkeit, eine Art Statusupdate von den Bulbs anzufordern? Dann könnte man das im Nachgang zum Empfang eines (Gruppen-) Fernbedienungscodes anschubsen.

(Das ganze dürfte aber dann schnell Richtung "Fortgeschrittene" gehen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TL60

Ich habe nochmal etwas mit Groups und Bindings herumexperimentiert. Folgendes händisch angelegtes Gruppendevice lässt sich aus FHEM heraus ein und aus schalten und zeigt den Status der Gruppe korrekt an wenn über die Remote geschaltet wird.Allerdings wird nach wie  vor der Zustand der einzelnen Lampen nicht aktualisiert.defmod MQTT2_z2t_Group100 MQTT2_DEVICE Group100
attr MQTT2_z2t_Group100 IODev MQTT2server
attr MQTT2_z2t_Group100 devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr MQTT2_z2t_Group100 icon light_control
attr MQTT2_z2t_Group100 jsonMap Dimmer:brightness Power:state Device:0 Hue:hue Sat:saturation CT:ct
attr MQTT2_z2t_Group100 model tasmota_zigbee2tasmota_group
attr MQTT2_z2t_Group100 readingList tele/zb2tasmota/A5A6/SENSOR:.* { $EVENT =~ s/"Power":1/"Power":"on"/g;; $EVENT =~ s/"Power":0/"Power":"off"/g;; $EVENT =~ m,^.*(..Device.+)..$, ?  json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xA5A6.:(.*).., ?  json2nameValue($1,'',$JSONMAP) : undef  }
attr MQTT2_z2t_Group100 room MQTT2_DEVICE
attr MQTT2_z2t_Group100 setExtensionsEvent 1
attr MQTT2_z2t_Group100 setList on cmnd/zb2tasmota/ZbSend {"group":"100","send":{"Power":"On"}}\
  off cmnd/zb2tasmota/ZbSend {"group":"100","send":{"Power":"Off"}}\
attr MQTT2_z2t_Group100 setStateList on off
attr MQTT2_z2t_Group100 webCmd on:off

setstate MQTT2_z2t_Group100 off
setstate MQTT2_z2t_Group100 2020-08-10 12:51:26 0006_00
setstate MQTT2_z2t_Group100 2020-08-10 12:51:23 0006_01
setstate MQTT2_z2t_Group100 2020-08-10 12:51:27 Endpoint 1
setstate MQTT2_z2t_Group100 2020-08-10 12:51:26 Group 100
setstate MQTT2_z2t_Group100 2020-08-10 12:51:27 LinkQuality 44
setstate MQTT2_z2t_Group100 2020-08-10 12:51:26 state off
Achtung das ganze ist eigentlich nur unsauberes Copy and Paste, ob und wie man das generalisieren kann keine Ahnung. Außerdem müsste man wenn man in Richtung Group Befehle mit ZbSend geben will entweder den Setlist anpassen oder ein neues ZbSend für Gruppen etwa in dieser Art:gr_ZbSend:textField cmnd/zb2tasmota/ZbSend {"group":"$EVTPART1","send":{"$EVTPART2":"$EVTPART3"}} einbauen, ich weiss aber auch nicht wie weit man da gehen kann und gehen soll.