zigbee2mqtt MQTT2_SERVER - Tradfri Remote Control anlernen

Begonnen von ch.eick, 08 September 2019, 19:51:07

Vorheriges Thema - Nächstes Thema

Beta-User

Eventuell könntest du die offenen issues nochmal durchsehen oder auf den devel-Zweig umsteigen, ansonsten habe ich im Moment leider keine durchschlagende Idee mehr, wenn das ohne "''" da eingetragen worden war (ich hatte es für einen Rest gehalten, sorry), dann sollte es eigentlich passen, klappt bei allem anderen ja auch (und hat auch für Gruppen schon geklappt, das hatte ich vor einiger Zeit kurz angetestet, allerdings nicht mit einer FB).
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

ch.eick

Könnte ich testweise mal ein MQTT2_Device pairen und in der Gruppe hinzufügen?
Ich verstehe nur noch nicht wie :-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

adn77

Bisher musste man mit einem zweiten CC2531 (als Sniffer geflasht) die individuelle GroupID der Fernbedienung herausbekommen und konnte dann weitere Geräte dieser Gruppe hinzufügen.

Mit der neuesten Firmware geht das nun auch per zigbee2mqtt Log: https://www.zigbee2mqtt.io/information/binding.html

Alex

ch.eick

#33
Zitat von: adn77 am 13 Oktober 2019, 22:30:16
Bisher musste man mit einem zweiten CC2531 (als Sniffer geflasht) die individuelle GroupID der Fernbedienung herausbekommen und konnte dann weitere Geräte dieser Gruppe hinzufügen.

Mit der neuesten Firmware geht das nun auch per zigbee2mqtt Log: https://www.zigbee2mqtt.io/information/binding.html
Vielen Dank für die wegweisende Information.
Für heute steht das Flashen des CC2551 an. Ich werde meine Ergebnisse dann hier noch zusammenfassen.

Gruß
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo zusammen,

ich möchte nur kurz melden, dass nach dem update des CC2551 nun die Tradfri Remote Control gesprächiger geworden ist. Ich bekomme nun Tastendrücke in FHEM angezeigt.
Das ganze muss ich nun erst mal verdauen und im ganzen verstehen, um näheres dazu sagen zu können.

Als ersten Test würde ich nun gerne die Fernbedienung zuerst mal wieder vollständig aus der zigbee Konfiguration entfernen wollen, um im Anschluss ein neues Anlernen durchzuführen.
Hat dazu jemand eine Kurzanleitung, bevor ich erst alles im Forum zusammensuchen muss?

Die Konfig sieht im Moment wie folgt aus.

- CC2531
- TRADFRI remote control

MQTT2_zigbee_pi

Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   DEVICETOPIC MQTT2_zigbee_pi
   FUUID      5d763393-f33f-81e9-b187-fa1c3d1eae39d1bd
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 7
   MQTT2_FHEM_Server_TIME 2019-11-11 14:03:16
   MSGCNT     7
   NAME       MQTT2_zigbee_pi
   NR         347
   STATE      online
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-11-11 13:56:01   commit          ac3b924
     2019-11-11 13:56:01   coordinator     20190608
     2019-11-11 13:54:18   devices         {"type":"devices","message":[{"ieeeAddr":"0x00124b0018e1e960","type":"Coordinator"},{"ieeeAddr":"0x90fd9ffffee7e93a","type":"EndDevice","model":"E1524","friendly_name":"0x90fd9ffffee7e93a","nwkAddr":13378,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.214","dateCode":"20170302"}]}
     2019-11-11 13:54:55   graphviz        digraph G {
node[shape=record];
  "0x00124b0018e1e960" [style="bold, filled", fillcolor="#e04e5d", fontcolor="#ffffff", label="{0x00124b0018e1e960|0x0 |No model information available|online (2019-11-11T13:54:55+01:00)}"];
  "0x90fd9ffffee7e93a" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{0x90fd9ffffee7e93a|0x3442 |IKEA TRADFRI remote control (E1524)|offline (unknown)}"];
  "0x90fd9ffffee7e93a" -> "0x00124b0018e1e960" [penwidth=1, weight=0, color="#994444", label="170"]
}
     2019-11-11 14:03:16   log             {"type":"pairing","message":"device incoming"}
     2019-11-11 13:56:01   log_level       debug
     2019-11-11 13:56:01   permit_join     true
     2019-11-11 13:56:30   raw             {"nodes":[{"ieeeAddr":"0x00124b0018e1e960","friendlyName":"0x00124b0018e1e960","type":"Coordinator","nwkAddr":0,"status":"online","scanfailed":[]},{"ieeeAddr":"0x90fd9ffffee7e93a","friendlyName":"0x90fd9ffffee7e93a","type":"EndDevice","nwkAddr":13378,"manufName":"IKEA of Sweden","modelId":"TRADFRI remote control","status":"offline","scanfailed":[]}],"links":[{"sourceIeeeAddr":"0x90fd9ffffee7e93a","targetIeeeAddr":"0x00124b0018e1e960","sourceNwkAddr":13378,"lqi":170,"depth":1,"relationship":1,"routes":[]}]}
     2019-11-11 13:25:50   state           online
     2019-11-11 13:25:58   subscriptions   zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/get zigbee2mqtt/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/set zigbee2mqtt/+/+/+/+/set/+ zigbee2mqtt/+/+/+/get zigbee2mqtt/+/+/+/get/+ zigbee2mqtt/+/+/+/set zigbee2mqtt/+/+/+/set/+ zigbee2mqtt/+/+/get zigbee2mqtt/+/+/get/+ zigbee2mqtt/+/+/set zigbee2mqtt/+/+/set/+ zigbee2mqtt/+/get zigbee2mqtt/+/get/+ zigbee2mqtt/+/set zigbee2mqtt/+/set/+ zigbee2mqtt/bridge/device/+/get_group_membership
     2019-11-11 13:56:01   version         1.5.1
     2019-09-12 17:38:16   x_group_add_group set RemoteControl
     2019-09-12 17:40:54   x_group_add_to  set RemoteControl 0x90fd9ffffee7e93a
     2019-09-12 17:35:27   x_group_rm_group set 'RemoteControl'
Attributes:
   IODev      MQTT2_FHEM_Server
   alias      MQTT2_zigbee_pi
   autocreate 1
   bridgeRegexp zigbee2mqtt/([A-Za-z0-9._]*)[/]?.*:.* "zigbee_$1"
   getList    devicelist:noArg log zigbee2mqtt/bridge/config/devices
  networkmap_raw:noArg raw zigbee2mqtt/bridge/networkmap raw
  networkmap_graphviz:noArg graphviz zigbee2mqtt/bridge/networkmap graphviz
   model      L_01_zigbee2mqtt_bridge
   readingList zigbee2mqtt/bridge/state:.* state
  zigbee2mqtt/bridge/config/devices:.* {}
  zigbee2mqtt/bridge/config/log_level:.* log_level
  zigbee2mqtt/bridge/config/permit_join:.* permit_join
  zigbee2mqtt/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }
  zigbee2mqtt/bridge/log:.*\"type\".\"devices\".\"message\".* devices
  zigbee2mqtt/bridge/log:.* log
  zigbee2mqtt/bridge/networkmap:.* {}
  zigbee2mqtt/bridge/networkmap/graphviz:.* graphviz
  zigbee2mqtt/bridge/networkmap/raw:.* raw
  zigbee2mqtt/bridge/config:.* { json2nameValue($EVENT) }
   room       MQTT2
   setList    log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1
  permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1
  remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1
  y_device_setting:textField zigbee2mqtt/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}
  x_bind:textField zigbee2mqtt/bridge/bind/$EVTPART1 $EVTPART2
  x_bind_unbind:textField zigbee2mqtt/bridge/unbind/$EVTPART1 $EVTPART2
  x_device_options:textField zigbee2mqtt/bridge/config/device_options {"friendly_name":"$EVTPART1",""options": {"$EVTPART2": "$EVTPART3"}}
  x_group_add_to:textField zigbee2mqtt/bridge/group/$EVTPART1/add $EVTPART2
  x_group_rm_from:textField zigbee2mqtt/bridge/group/$EVTPART1/remove $EVTPART2
  x_group_rm_from_all:textField zigbee2mqtt/bridge/group/$EVTPART1/remove_all $EVTPART2
  x_group_add_group:textField zigbee2mqtt/bridge/config/add_group $EVTPART1
  x_group_rm_group:textField zigbee2mqtt/bridge/config/remove_group $EVTPART1
  z_elapsed:textField zigbee2mqtt/bridge/config/elapsed $EVTPART1
  z_last_seen:textField zigbee2mqtt/bridge/config/last_seen $EVTPART1
  z_ban:textField zigbee2mqtt/bridge/config/ban $EVTPART1
  z_rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
  z_reset_CC:noArg zigbee2mqtt/bridge/config/reset
   setStateList on off
   verbose    5


MQTT2_FHEM_Server

Internals:
   CONNECTS   2
   DEF        1883 global
   FD         31
   FUUID      5d751c78-f33f-81e9-291a-1d62334721ed96af
   NAME       MQTT2_FHEM_Server
   NR         346
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2019-11-11 13:56:01   RETAIN          {"zigbee2mqtt/bridge/config":"{\u0022version\u0022:\u00221.5.1\u0022,\u0022commit\u0022:\u0022ac3b924\u0022,\u0022coordinator\u0022:20190608,\u0022log_level\u0022:\u0022debug\u0022,\u0022permit_join\u0022:true}","zigbee2mqtt/bridge/state":"online"}
     2019-11-11 13:25:41   nrclients       1
     2019-11-11 13:24:53   state           Initialized
   clients:
     MQTT2_FHEM_Server_127.0.0.1_41674 1
   retain:
     zigbee2mqtt/bridge/config:
       ts         1573476961.61908
       val        {"version":"1.5.1","commit":"ac3b924","coordinator":20190608,"log_level":"debug","permit_join":true}
     zigbee2mqtt/bridge/state:
       ts         1573475150.41591
       val        online
Attributes:
   alias      MQTT2_FHEM_Server
   autocreate simple
   room       MQTT2
   verbose    5


Viele Grüße
      Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Beta-User

 :) Schön, dass du vorangekommen bist.

MMn. brauchst du die FB nicht erst zu entpairen, in der yaml bzw. auf dem Stick sind afaik sowieso erst mal nur die Adressen gespeichert, die ganze Auswertung erfolgt durch die dahinterliegende software; da sollte ggf. ein Neustart des Dienstes ausreichen (schon gleich, wenn du Events für die Tastendrücke (alle?) bekommst).
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

ch.eick

Hallo Beta-User

hier kommt mal das Log mit jeder Tasten Kombination. Battery und Link habe ich bereinigt.
Bei den arrow Tasten wird auch die duration gemessen, jedoch leider nicht bei den brightness Tasten.
Die duration kommt auch nicht immer zwischen dem hold/release event.

2019-11-11_14:53:48 MQTT2_zigbee_0x90fd9ffffee7e93a linkquality: 57
2019-11-11_14:53:48 MQTT2_zigbee_0x90fd9ffffee7e93a battery: 60

2019-11-11_14:53:48 MQTT2_zigbee_0x90fd9ffffee7e93a action: toggle
2019-11-11_14:53:56 MQTT2_zigbee_0x90fd9ffffee7e93a action: toggle_hold

2019-11-11_14:54:05 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_right_hold
2019-11-11_14:54:06 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_right_release
2019-11-11_14:54:06 MQTT2_zigbee_0x90fd9ffffee7e93a duration: 0.81

2019-11-11_14:54:10 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_right_click

2019-11-11_14:54:13 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_left_hold
2019-11-11_14:54:15 MQTT2_zigbee_0x90fd9ffffee7e93a duration: 1.734
2019-11-11_14:54:15 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_left_release

2019-11-11_14:54:17 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_left_click

2019-11-11_14:54:21 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_click

2019-11-11_14:54:23 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_hold
2019-11-11_14:54:26 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_release

2019-11-11_14:54:31 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_up_click

2019-11-11_14:54:34 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_up_hold
2019-11-11_14:54:39 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_up_release

2019-11-11_14:55:19 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_hold
2019-11-11_14:55:19 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_release

2019-11-11_14:55:28 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_click

2019-11-11_14:55:30 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_hold
2019-11-11_14:55:34 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_release

2019-11-11_14:55:40 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_up_click

2019-11-11_14:55:42 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_up_hold
2019-11-11_14:55:45 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_up_release

2019-11-11_14:55:49 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_right_click

2019-11-11_14:55:53 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_right_hold
2019-11-11_14:55:57 MQTT2_zigbee_0x90fd9ffffee7e93a duration: 4.497
2019-11-11_14:55:57 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_right_release

2019-11-11_14:56:01 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_left_click

2019-11-11_14:56:03 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_left_hold
2019-11-11_14:56:07 MQTT2_zigbee_0x90fd9ffffee7e93a action: arrow_left_release
2019-11-11_14:56:07 MQTT2_zigbee_0x90fd9ffffee7e93a duration: 4.091

2019-11-11_14:56:10 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_click

2019-11-11_14:56:17 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_hold
2019-11-11_14:56:24 MQTT2_zigbee_0x90fd9ffffee7e93a action: brightness_down_release



Kann ich etwas zu einem Template beitragen? Ich bin da leider noch total am Anfang.

Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Beta-User

Hmm, das sieht ja m.E. erst mal ganz ok aus.

Wenn nichts ankommt, wird vermutlich auch nichts gesendet, wenn da also Wünsche/Anmerkungen sind, wäre das mMn. im zigbee2mqtt-Projekt zu hinterfragen.

Was das template-Thema angeht, könntest du evtl. zwei Dinge beitragen:
Zum einen ist etwas mißlich, dass die "duration" (wenn sie kommt) nicht der entsprechenden Taste zugeordnet ist. Um zu checken, ob das besser geht, wäre es hilfreich, (auch) die originale JSON-Struktur zu haben (dann könnte man erst den Button ermitteln und dann via json2nameValue() (teilweise) in der erweiterten Form diesen Button als Präfix verwenden?) und etwas besser erkennen zu können, wann welche Teile gekommen sind (vermutlich stecken Dauer und release in einem JSON) (die RAW-Events vom Server sollten diese Infos liefern).
(Alternativ können wir vielleicht auch userReadings bauen, die die duration "on the fly" dem release-Event zuordnen).

Zum anderen wäre dann interessant, wie das Gerät aus deiner Sicht optisch sinnvoll zu gestalten wäre (battery + linkquality via stateFormat schreiben?) und was ggf. als "state" Sinn macht. Würde spontan dazu tendieren, via JSONMAP die unnötig langen Readingnamen, die sich aus dem obigen Vorschlag ergeben zu nehmen und dann gleich alles nach "state" zu mappen.

(Vermutlich klingt das nach böhmischen Dörfern. Ist eher als "Fahrplan" für mich selbst gedacht, manches müssen wir evtl. erst austesten).

Für's erste wäre folgendes mal einen Test wert:
Ersetze in der readingList das {json2nameValue($EVENT) } durch:
{ $EVENT =~ m,(arrow_(left|right)_release), ? json2nameValue($EVENT,$1,$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }
und lösche die vorhandenen Readings (deletereading -q <DEVICE> (?!associatedWith).*).
Dann sollten etwas andere Readingnamen erscheinen. Du kannst dann auch gleich versuchen, ein JSONMAP-Attribut festzulegen, das die Ergebnisse so "umleitet", dass das für dich paßt, wie gesagt, ich würde dazu neigen, die ganzen Dinge, die jetzt "action" sind nach "state" zu schreiben.
Als Anfang (ggf. zwischendurch die Readings löschen...):
attr <DEVICE> jsonMap action:state
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

ch.eick

Hallo.


Internals:
   CID        zigbee_0x90fd9ffffee7e93a
   DEF        zigbee_0x90fd9ffffee7e93a
   DEVICETOPIC MQTT2_zigbee_0x90fd9ffffee7e93a
   FUUID      5d764aee-f33f-81e9-2602-d15adc73613be593
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 95
   MQTT2_FHEM_Server_TIME 2019-11-11 16:04:12
   MSGCNT     95
   NAME       MQTT2_zigbee_0x90fd9ffffee7e93a
   NR         348
   STATE      Action: arrow_right_hold
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2019-11-11 16:04:07   action          arrow_right_hold
     2019-11-11 16:02:20   arrow_left_releaseaction arrow_left_release
     2019-11-11 16:02:20   arrow_left_releasebattery 60
     2019-11-11 16:02:20   arrow_left_releaseduration 5.775
     2019-11-11 16:02:20   arrow_left_releaselinkquality 76
     2019-11-11 16:04:12   arrow_right_releaseaction arrow_right_release
     2019-11-11 16:04:12   arrow_right_releasebattery 60
     2019-11-11 16:04:12   arrow_right_releaseduration 5.529
     2019-11-11 16:04:12   arrow_right_releaselinkquality 68
     2019-09-09 14:52:00   associatedWith  MQTT2_zigbee_pi
     2019-11-11 16:04:07   battery         60
     2019-11-11 16:04:07   linkquality     68
Attributes:
   IODev      MQTT2_FHEM_Server
   alias      MQTT2_zigbee_0x90fd9ffffee7e93a
   comment    Ikea Tradfri Remote Control
   model      zigbee2mqtt_Wireless_Button
   readingList zigbee2mqtt/0x90fd9ffffee7e93a:.* { $EVENT =~ m,(arrow_(left|right)_release), ? json2nameValue($EVENT,$1,$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }
   room       MQTT2_DEVICE
   stateFormat Action: action
   verbose    5



MQTT publish: topic 'zigbee2mqtt/0x90fd9ffffee7e93a', payload '{"battery":60,"linkquality":68,"action":"arrow_right_release","duration":5.529}'
MQTT publish: topic 'zigbee2mqtt/0x90fd9ffffee7e93a', payload '{"battery":60,"linkquality":47,"action":"brightness_up_hold"}'
MQTT publish: topic 'zigbee2mqtt/0x90fd9ffffee7e93a', payload '{"battery":60,"linkquality":55,"action":"brightness_up_release"}'


Ich denke im state sollte man die atcion und wenn die duration verändert wurde sehen.
Da bei brightness keine duration kommt wäre die Zeit zwischen dem event hold und release eine tolle Ergänzung für die duration. Das hat natürlich nichts mit dem original Device zu tun und würde ja schon eine Erweiterung sein. Schick wäre es schon :-)

Ich denke jetzt auch mal ins unreine:

Wenn duration aktualisiert wird gehört es immer zur letzten action und könnte in z.B. "arrow_right_"duration" umgeschrieben werden. Jedoch habe ich noch keine Anwendung in der ich das verwenden möchte. In einem DOIF mit Abfrage von arrow_right_release kann man dann natürlich auf duration zugreifen und hat den Zusammenhang. Somit würde man unnötig viele readings, die nur in bestimmten Konstellationen aktualisiert werden, vermeiden.

Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Beta-User

 :) Sieht ja schon ganz nett aus!

Wir sollten noch einen "_" reinbasteln, versuch's mal so:
{ $EVENT =~ m,(arrow_(left|right)_release), ? json2nameValue($EVENT,$1."_",$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }

Was die "duration" angeht: Ist vermutlich nicht sooo wichtig, weil es m.E. besser ist, z.B. mit dem "Start"-Event eine unabhängige Routine zu starten (z.B. für das Hochdimmen) und diese dann zu unterbrechen, wenn der release kommt. (Dazu gibt es schon fertigen Code im Forum, gesehen habe ich das schon bei ZWave-Tastern).

Über die Dauer irgendwas zu entscheiden, ist sowieso nicht so einfach, m.E. ist das nur hilfreich, wenn der user direkt eine Reaktion erwartet und dann losläßt, wenn ihm das Ergebnis gefällt; eigentlich ist es eine "Wegwerfinfo".
Aber was man hat, das hat man (man _muß_ es ja nicht loggen oder nutzen, und mit welcher Art Eventhandler man es verwendet, bleibt jedem selbst überlassen (ich nutze keine DOIF, das Modul verstehe ich nicht))...

Dann kannst du (wenn das mit dem Stich aufgehübscht ist) ja mal versuchen, einen jsonMap festzulegen, um z.B. aus "arrow_right_release_duration" "arrow_r_duration" zu machen...
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

ch.eick


Die doppelten Battery und linkquality müssten auch noch raus. Ich denke das Original war doch schon recht gut..

Internals:
   CID        zigbee_0x90fd9ffffee7e93a
   DEF        zigbee_0x90fd9ffffee7e93a
   DEVICETOPIC MQTT2_zigbee_0x90fd9ffffee7e93a
   FUUID      5d764aee-f33f-81e9-2602-d15adc73613be593
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 120
   MQTT2_FHEM_Server_TIME 2019-11-11 16:47:14
   MSGCNT     120
   NAME       MQTT2_zigbee_0x90fd9ffffee7e93a
   NR         348
   STATE      Action: brightness_down_release
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2019-11-11 16:47:14   action          brightness_down_release
     2019-11-11 16:46:56   arrow_left_release_action arrow_left_release
     2019-11-11 16:46:56   arrow_left_release_battery 60
     2019-11-11 16:46:56   arrow_left_release_duration 5.772
     2019-11-11 16:46:56   arrow_left_release_linkquality 84
     2019-11-11 16:46:41   arrow_right_release_action arrow_right_release
     2019-11-11 16:46:41   arrow_right_release_battery 60
     2019-11-11 16:46:41   arrow_right_release_duration 4.308
     2019-11-11 16:46:41   arrow_right_release_linkquality 89
     2019-09-09 14:52:00   associatedWith  MQTT2_zigbee_pi
     2019-11-11 16:47:14   battery         60
     2019-11-11 16:47:14   linkquality     65
Attributes:
   IODev      MQTT2_FHEM_Server
   alias      MQTT2_zigbee_0x90fd9ffffee7e93a
   comment    Ikea Tradfri Remote Control
   model      zigbee2mqtt_Wireless_Button
   readingList zigbee2mqtt/0x90fd9ffffee7e93a:.* { $EVENT =~ m,(arrow_(left|right)_release), ? json2nameValue($EVENT,$1."_",$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }
   room       MQTT2_DEVICE
   stateFormat Action: action
   verbose    5


Wo finde ich denn die Template Definition, damit ich mal ein Beispiel sehen kann.
Ich schau mir das dann die Woche noch mal an.

Vielen Dank soweit und einen schönen Abend noch.

Gruß
  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Beta-User

Ja, ist unschön, dass das teilweise jetzt an mehrere Stellen verstreut wird. Sollte sich mit jsonMap beheben lassen, Beispiele dazu sind allerdings rar... (U.A. deshalb will ich das template mit JSONMAP haben  ;) ).

Den Quelltext der meisten templates zu MQTT2_DEVICE findest du z.B. hier https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template bzw. lokal im entsprechenden Ordner. Es erscheint auch der jeweilige Quelltext, wenn man ein template aus der Auswahlliste anklickt, aber noch nicht anwendet (etwas unterhalb).

Nochmal als Startpunkt für die jsonMap:
attr MQTT2_zigbee_0x90fd9ffffee7e93a jsonMap action:state arrow_left_release_action:state arrow_left_release_battery:battery



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

ch.eick

Okay, da muss ich mich erst einlesen :-) , das ist zuviel für heute.

Jedoch habe ich jetzt schon alle Devices angelernt und das Küchenlicht geht trotzdem noch :-)


{"type":"devices","message":[{"ieeeAddr":"0x00124b0018e1e960","type":"Coordinator"},

{"ieeeAddr":"0x90fd9ffffee7e93a","type":"EndDevice","model":"E1524","friendly_name":"0x90fd9ffffee7e93a","nwkAddr":13378,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.214","dateCode":"20170302"},

{"ieeeAddr":"0x90fd9ffffe9e4880","type":"EndDevice","model":"E1524","friendly_name":"0x90fd9ffffe9e4880","nwkAddr":33498,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.214","dateCode":"20170302"},

{"ieeeAddr":"0x90fd9ffffed8dee7","type":"Router","model":"L1528","friendly_name":"0x90fd9ffffed8dee7","nwkAddr":14042,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Mains (single phase)","modelId":"FLOALT panel WS 30x90","hwVersion":1,"swBuildId":"1.2.217","dateCode":"20170331"},

{"ieeeAddr":"0x90fd9ffffee0cb7b","type":"Router","model":"L1528","friendly_name":"0x90fd9ffffee0cb7b","nwkAddr":59017,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Mains (single phase)","modelId":"FLOALT panel WS 30x90","hwVersion":1,"swBuildId":"1.2.217","dateCode":"20170331"}]}


Ich gehe mal davon aus, dass es für beide device Typen noch kein Template gibt.

FLOALT panel WS 30x90
TRADFRI remote control

Toll ist jedoch, dass man schon mal alle sehen kann und die Grundfunktionalität da ist. Fhem kann jetzt ohne Gateway, also nur mit dem CC2551 mitlesen und eingreifen.
Vielen Dank für all die Unterstützung.

Gruß
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Beta-User

...eilt ja nicht...

Was das panel angeht: Eigentlich sollte eines der normalen light-templates passen. Solltest halt das nehmen, das den Fähigkeiten des FLOALT entspricht (das ist nur einfarbig, oder? Dann zigbee2mqtt_light_dimmer, evtl. auch zigbee2mqtt_light_cct). Ich kann dann gerne in den Beschreibungstext aufnehmen, welches dafür paßt, damit das auch andere wiederfinden.

Und die "normale" Remote dürfte eher einfacher sein als die "große" mit den vielen Tasten...
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

Beta-User

Hast du mal ein list von der jetzigen Remote-Konfiguration?
Bin grade dabei, alle "in der Schwebe befindlichen" template-Codes zu sammeln...

Für den CC2531 gibt es übrigens einen Vorschlag (im MQTT-Bereich, wo diese Diskussion hier eigentlich auch hingehört). Kommt demnächst per update.
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