FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: HomeAlone am 30 Juli 2022, 16:59:20

Titel: [gelöst] Aqara Opple über zigbee2mqtt in fhem einbinden
Beitrag von: HomeAlone am 30 Juli 2022, 16:59:20
Hallo zusammen,

ich habe den 6fach Taster von Aquara (Aqara Opple, WXCJKG13LM). Dieser ist in zigbee2mqtt erfolgreich eingebunden.

Nun wollte ich diesen in fhem ansprechen, komme aber leider nicht ganz darauf wie. Bisher wurden mir alle zigbee-Geräte, die ich zuvor in zigbee2mqtt erstellt habe, in fhem automatisch erzeugt. Bei dem Aqara Opple Schalter ist das leider nicht der Fall.

Folgende Config:

MQTT_GENERIC_BRIDGE:
defmod mqttGenericBridge MQTT_GENERIC_BRIDGE
attr mqttGenericBridge alias mqttGenericBridge
attr mqttGenericBridge globalDefaults sub:base=mqttGenericBridge/set pub:base=mqttGenericBridge
attr mqttGenericBridge group MQTT2_DEVICE
attr mqttGenericBridge icon mqtt_bridge_1
attr mqttGenericBridge room MQTT2_DEVICE,Zentralen
attr mqttGenericBridge stateFormat dev: device-count in: incoming-count out: outgoing-count

setstate mqttGenericBridge dev: 11 in: 0 out: 2
setstate mqttGenericBridge 2022-07-30 12:44:42 IODev mosquittoATnucgulp
setstate mqttGenericBridge 2022-02-22 23:24:43 attrTemplateVersion 20211208_MGB_M2D
setstate mqttGenericBridge 2022-07-30 12:44:43 device-count 11
setstate mqttGenericBridge 2022-07-30 12:44:38 incoming-count 0
setstate mqttGenericBridge 2022-07-30 14:50:33 outgoing-count 2
setstate mqttGenericBridge 2022-07-30 14:50:33 transmission-state outgoing publish sent
setstate mqttGenericBridge 2022-07-30 12:44:38 updated-reading-count 0
setstate mqttGenericBridge 2022-07-30 12:44:38 updated-set-count 0



zigbee2mqtt bridge (als MQTT2_DEVICE):
defmod MQTT2_zigbee2mqtt MQTT2_DEVICE zigbee2mqtt
attr MQTT2_zigbee2mqtt alias MQTT2_zigbee2mqtt
attr MQTT2_zigbee2mqtt autocreate 1
attr MQTT2_zigbee2mqtt bridgeRegexp zigbee2mqtt/([A-Za-z0-9._]+)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee2mqtt comment To check for new updates of the deamon software, you might want to use a separate HTTPMOD device. See HTTPMOD template zigbee2mqtt_daemon_updates for further details.
attr MQTT2_zigbee2mqtt devicetopic zigbee2mqtt
attr MQTT2_zigbee2mqtt getList networkmap_raw:noArg raw $DEVICETOPIC/bridge/request/networkmap raw\
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/request/networkmap graphviz
attr MQTT2_zigbee2mqtt icon mqtt_bridge_1
attr MQTT2_zigbee2mqtt model zigbee2mqtt_bridge
attr MQTT2_zigbee2mqtt readingList $DEVICETOPIC/bridge/state:.* state\
  $DEVICETOPIC/bridge/config/devices:.* {}\
  $DEVICETOPIC/bridge/config/log_level:.* log_level\
  $DEVICETOPIC/bridge/config/permit_join:.* permit_join\
  $DEVICETOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
  $DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices\
  $DEVICETOPIC/bridge/log:.* log\
  $DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }\
  $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\
  $DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/bridge/extensions:.* extensions
attr MQTT2_zigbee2mqtt room MQTT2_DEVICE
attr MQTT2_zigbee2mqtt setList log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1\
  permit_join:true,false $DEVICETOPIC/bridge/request/permit_join $EVTPART1\
  remove:textField $DEVICETOPIC/bridge/config/remove $EVTPART1\
  ota_update:textField $DEVICETOPIC/bridge/ota_update/update $EVTPART1\
  ota_update_check:textField $DEVICETOPIC/bridge/ota_update/check $EVTPART1\
  y_device_setting:textField $DEVICETOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}\
  x_bind:textField $DEVICETOPIC/bridge/bind/$EVTPART1 $EVTPART2\
  x_bind_unbind:textField $DEVICETOPIC/bridge/unbind/$EVTPART1 $EVTPART2\
  x_device_options:textField $DEVICETOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}\
  x_group_add_to:textField $DEVICETOPIC/bridge/group/$EVTPART1/add $EVTPART2\
  x_group_rm_from:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove $EVTPART2\
  x_group_rm_from_all:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2\
  x_group_add_group:textField $DEVICETOPIC/bridge/config/add_group $EVTPART1\
  x_group_rm_group:textField $DEVICETOPIC/bridge/config/remove_group $EVTPART1\
  z_elapsed:textField $DEVICETOPIC/bridge/config/elapsed $EVTPART1\
  z_last_seen:disable,ISO_8601,epoch,ISO_8601_local $DEVICETOPIC/bridge/config/last_seen $EVTPART1\
  z_ban:textField $DEVICETOPIC/bridge/config/ban $EVTPART1\
  z_rename:textField $DEVICETOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
  z_reset_CC:noArg $DEVICETOPIC/bridge/config/reset
attr MQTT2_zigbee2mqtt setStateList on off

setstate MQTT2_zigbee2mqtt online
setstate MQTT2_zigbee2mqtt 2022-07-30 16:30:25 attrTemplateVersion 20220328
setstate MQTT2_zigbee2mqtt 2022-07-30 16:38:59 log_level info
setstate MQTT2_zigbee2mqtt 2022-07-30 16:38:59 log_message MQTT publish: topic 'zigbee2mqtt/kz_Schalter_Bett', payload '{"action":"button_5_single","battery":94,"device":{"applicationVersion":17,"dateCode":"20190730","friendlyName":"kz_Schalter_Bett","hardwareVersion":1,"ieeeAddr":"0x04cf8cdf3c75b1f0","manufacturerID":4447,"manufacturerName":"LUMI","model":"WXCJKG13LM","networkAddress":9285,"powerSource":"Battery","softwareBuildID":"2019\


In der Konfiguration sieht man auch den Tastendruck des Aqara Opple:

Im Wiki zu zigbee2mqtt -> https://wiki.fhem.de/wiki/Zigbee2mqtt steht, dass anschließend neue MQTT2_DEVICE Geräte automatisch angelegt würden. Die bridgeRegexp entspricht bei mir der auf der Wiki Seite. Weiter steht im Text man könne via
get MQTT2_zigbee_pi devicelist true
eine Liste zu bereits angelernten Geräten erhalten. Bei meinem MQTT2_zigbee2mqtt erscheinen bei den gets nur die Einträge "networkmap_graphviz" und "networkmap_raw".
Geschaltet habe ich das Gerät mehrfach (siehe auch das Beispiel oben).

Also irgendetwas stimmt bei mir nicht, bzgl. des automatischen Anlegens von Devices...

Kann mir jemand einen Tipp geben, woran es hakt?

Schon mal vielen Dank im Voraus!
Beste Grüße Sascha
Titel: Antw:Aqara Opple über zigbee2mqtt in fhem einbinden
Beitrag von: Beta-User am 31 Juli 2022, 21:19:28
a) was sagt
list TYPE=autocreate

b) was hat MQTT_GENERIC_BRIDGE hier verloren?

c) was hat das mit ZigBee zu tun?

d) Wo ist die Info zum MQTT-IO?
Titel: Antw:Aqara Opple über zigbee2mqtt in fhem einbinden
Beitrag von: HomeAlone am 04 August 2022, 15:12:19
Hallo Beta-User

erst einmal vielen Dank für Deine Antwort.

Mittlerweile habe ich es hinbekommen, dass der Schalter angelegt wird:
Ich habe ihn in Zigbee2MQTT einfach umbenannt. Danach wurde er in fhem angelegt.  :-[ Ich muss noch mal suchen, ob ich da irgendwo eine Leiche im System habe, die das verhindert hat.
Habe es auch mit einem zweiten Schalter, der netterweise gestern ankam, noch mal getestet und der wurde auch gleich angelgt.

Und dann noch zu c):
Sorry, das hätte unter MQTT geposted werden müssen. Freudscher Fehler bei zigbee2mqtt   :D

Könnte das jemand mit den entsprechenden Rechten bitte verschieben?

Noch mal vielen Dank,
Gruß
Sascha
Titel: Antw:Aqara Opple über zigbee2mqtt in fhem einbinden
Beitrag von: Beta-User am 04 August 2022, 15:35:21
Na ja, wenn es [gelöst] ist, brauchst du nicht mehr unbedingt verschieben, aber den Knopf dazu würdest du unter deinem ersten Beitrag hier finden ;) .

Wenn ein anderer "friendly name" geholfen hat, war da vermutlich irgendein Zeichen in deiner alten Benennung drin, das die bridgeRegexp durcheinandergebracht hat (sowas ist einer der Gründe, warum ich kein großer Freund von "friendly names" bin und alles nur unter FHEM "sprechend " benennen würde; ist aber schwierig, wenn man weitere Systeme im Einsatz hat).