Umzug v. MQTT_DEVICE und XiaomiMQTTDevice nach MQTT2_DEVICE

Begonnen von Blauhorn, 16 September 2019, 14:16:09

Vorheriges Thema - Nächstes Thema

Beta-User

Wenn du updates zu zweien der Informationen/Readings hast, die die FB sendet, ist es weder FHEM noch die Konfiguration, die verbogen ist.
Sofern es also kein weiteres MQTT2_DEVICE gibt, das die fehlenden Infos abgreift, darst du davon ausgehen, dass das Ding nichts sendet bzw. zigbee2mqtt nichts an den Server weitergibt. Der Verdacht liegt nahe, dass das Teil entweder schlicht kaputt ist oder einfach an ein Leuchtmittel angelernt (dann sendet die FB nur noch dahin, afaik).

Kannst du die FB nochmal resetten?
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,
ich habe 2 Ikea Tradfri Fernbedienungen ( Modell E1524/E1810) im Einsatz, welche vorzüglich mit Zigbee2Mqtt funktionieren. Wichtig bei der ganzen Geschichte ist das der Stick mit der neuesten Firmware (Juni2019) geflasht ist. mit einer älteren Firmware hatte ich auch das Problem, das nur Battery und Link Quality angelegt wurde. Es gibt in der Zigbee2Mqtt Geräteliste auch irgendwo einen entsprechenden Issue Eintrag, ich finde ihn im Moment aber nicht.
Ich hänge mal ein List vom Stick (Coordinator)
Internals:
   CID        mqttjs_8e63835e
   DEF        mqttjs_8e63835e
   DEVICETOPIC Zigbee2MQTT
   FUUID      5d123bdc-f33f-0bdc-55b1-e3103e529cd81380
   IODev      MQTT2_Server_FHEM
   LASTInputDev MQTT2_Server_FHEM
   MQTT2_Server_FHEM_MSGCNT 5
   MQTT2_Server_FHEM_TIME 2019-09-26 18:08:13
   MSGCNT     5
   NAME       Zigbee2MQTT
   NR         15
   STATE      online
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-09-01 19:47:33   commit          927c4db
     2019-09-01 19:47:33   [color=red]coordinator     20190608[/color]
     2019-09-26 18:08:13   devices         {"type":"devices","message":[{"ieeeAddr":"0x00124b000766d962","type":"Coordinator"},{"ieeeAddr":"0x90fd9ffffe7fd13c","type":"Router","model":"LED1536G5","friendly_name":"0x90fd9ffffe7fd13c","nwkAddr":63264,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Mains (single phase)","modelId":"TRADFRI bulb E14 WS opal 400lm","hwVersion":1,"swBuildId":"1.2.217","dateCode":"20170331"},{"ieeeAddr":"0x90fd9ffffe16b6d7","type":"EndDevice","model":"E1524","friendly_name":"0x90fd9ffffe16b6d7","nwkAddr":25264,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.214","dateCode":"20170302"},{"ieeeAddr":"0x000d6ffffe429408","type":"EndDevice","model":"E1524","friendly_name":"0x000d6ffffe429408","nwkAddr":24968,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.223","dateCode":"20190211"},{"ieeeAddr":"0x000d6ffffe0b416a","type":"EndDevice","model":"E1525","friendly_name":"0x000d6ffffe0b416a","nwkAddr":60452,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI motion sensor","hwVersion":1,"swBuildId":"2.0.022","dateCode":"20190308"}]}
     2019-07-01 16:12:33   graphviz        digraph G {
node[shape=record];
  "0x00124b0018ed1a21" [style="bold", label="{0x00124b0018ed1a21|Coordinator|No model information available|online}"];
  "0x00124b0018ed1a21" -> "0x90fd9ffffe7fd13c" [label="119"]
  "0x90fd9ffffe7fd13c" [style="rounded", label="{0x90fd9ffffe7fd13c|Router|IKEA TRADFRI LED bulb E12/E14 400 lumen, dimmable, white spectrum, opal white (LED1536G5)|offline}"];
  "0x90fd9ffffe7fd13c" -> "0x00124b0018ed1a21" [label="67"]
  "0x90fd9ffffe16b6d7" [style="rounded, dashed", label="{0x90fd9ffffe16b6d7|EndDevice|IKEA TRADFRI remote control (E1524)|online}"];
  "0x90fd9ffffe16b6d7" -> "0x00124b0018ed1a21" [label="55"]
}
     2019-09-26 18:08:13   log             {"type":"devices","message":[{"ieeeAddr":"0x00124b000766d962","type":"Coordinator"},{"ieeeAddr":"0x90fd9ffffe7fd13c","type":"Router","model":"LED1536G5","friendly_name":"0x90fd9ffffe7fd13c","nwkAddr":63264,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Mains (single phase)","modelId":"TRADFRI bulb E14 WS opal 400lm","hwVersion":1,"swBuildId":"1.2.217","dateCode":"20170331"},{"ieeeAddr":"0x90fd9ffffe16b6d7","type":"EndDevice","model":"E1524","friendly_name":"0x90fd9ffffe16b6d7","nwkAddr":25264,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.214","dateCode":"20170302"},{"ieeeAddr":"0x000d6ffffe429408","type":"EndDevice","model":"E1524","friendly_name":"0x000d6ffffe429408","nwkAddr":24968,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.223","dateCode":"20190211"},{"ieeeAddr":"0x000d6ffffe0b416a","type":"EndDevice","model":"E1525","friendly_name":"0x000d6ffffe0b416a","nwkAddr":60452,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI motion sensor","hwVersion":1,"swBuildId":"2.0.022","dateCode":"20190308"}]}
     2019-09-01 19:47:33   log_level       info
     2019-09-01 19:47:33   permit_join     false
     2019-07-01 16:12:16   raw             [{"ieeeAddr":"0xd0cf5efffe43215c","nwkAddr":40720,"lqi":0,"parent":"0x00124b0018ed1a21","status":"offline"},{"ieeeAddr":"0x90fd9ffffe7fd13c","nwkAddr":31592,"lqi":65,"parent":"0x00124b0018ed1a21","status":"offline"},{"ieeeAddr":"0x90fd9ffffe16b6d7","nwkAddr":55401,"lqi":55,"parent":"0x00124b0018ed1a21","status":"online"},{"ieeeAddr":"0x00124b0018ed1a21","nwkAddr":0,"lqi":119,"parent":"0x90fd9ffffe7fd13c","status":"online"}]
     2019-06-25 17:45:35   remove          set 0x90fd9ffffe7fd13c
     2019-09-01 19:47:05   state           online
     2019-09-01 19:47:33   version         1.4.0
Attributes:
   IODev      MQTT2_Server_FHEM
   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       Geräte
   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

wichtig ist der Eintrag beim Reading  Coordinator.
Der Vollständigkeit halber noch das List einer Fernbedienung
Internals:
   CID        zigbee_0x90fd9ffffe16b6d7
   DEF        zigbee_0x90fd9ffffe16b6d7
   DEVICETOPIC MQTT2_zigbee_0x90fd9ffffe16b6d7
   FUUID      5d1ba23d-f33f-0bdc-fbeb-2a898e7c3f1a262d
   IODev      MQTT2_Server_FHEM
   LASTInputDev MQTT2_Server_FHEM
   MQTT2_Server_FHEM_MSGCNT 79
   MQTT2_Server_FHEM_TIME 2019-10-06 21:45:15
   MSGCNT     79
   NAME       MQTT2_zigbee_0x90fd9ffffe16b6d7
   NR         25
   STATE      toggle
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-09-26 18:05:48   action          toggle
     2019-07-02 20:28:13   associatedWith  Zigbee2MQTT
     2019-10-06 21:45:15   battery         60
     2019-10-06 21:45:15   linkquality     76
Attributes:
   IODev      MQTT2_Server_FHEM
   alias      TRADFRI_RC1
   devStateIcon .*:noIcon
   imageLink  /fhem/deviceimages/mqtt2/E1524.jpg
   model      L_12_Wireless_Button
   readingList zigbee2mqtt/0x90fd9ffffe16b6d7:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   stateFormat action

unter action steht dann jeweils was gedrückt wurde: hier die mittlere Taste (toggle)
Ich hoffe das hilft weiter.
Gruß Thomas

Blauhorn

Zitat von: Beta-User am 07 Oktober 2019, 12:21:27
Der Verdacht liegt nahe, dass das Teil entweder schlicht kaputt ist oder einfach an ein Leuchtmittel angelernt (dann sendet die FB nur noch dahin, afaik).
Aber dann würde sie ja auch keine battery- und linkquality-Werte zum zigbee2mqtt senden.


So sieht die def von mir aus. Aber das topic, dass die readingList füttert, kommt aus dem friendlyName des Gerätes, der ursprünglich mal aus XiaomiMQTTDevice generiert wurde.


define MQTT2_zigbee_tradfri_r1 MQTT2_DEVICE zigbee_tradfri_r1
attr MQTT2_zigbee_tradfri_r1 IODev MQTT2_Client
attr MQTT2_zigbee_tradfri_r1 model zigbee2mqtt_Wireless_Button
attr MQTT2_zigbee_tradfri_r1 readingList zigbee2mqtt/tradfri_r1:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_tradfri_r1 room MQTT2_DEVICE
attr MQTT2_zigbee_tradfri_r1 stateFormat action

setstate MQTT2_zigbee_tradfri_r1 toggle
setstate MQTT2_zigbee_tradfri_r1 2019-10-02 06:35:27 action toggle
setstate MQTT2_zigbee_tradfri_r1 2019-09-21 09:47:49 associatedWith MQTT2_zigbee_pi
setstate MQTT2_zigbee_tradfri_r1 2019-10-07 09:03:08 battery 74
setstate MQTT2_zigbee_tradfri_r1 2019-10-02 06:35:12 duration 2.909
setstate MQTT2_zigbee_tradfri_r1 2019-10-07 09:03:08 linkquality 54


Ich hab schon hin und wieder bemerkt, dass es da Kollisionen gibt, z.B. auch bei Fenstersensoren, die urplötzlich nicht mehr wollten. Da stand in der yaml noch der friendlyName mit der falschen Adresse drin oder anderesrum.
Da half dann nur noch ein set remove auf das falsche Gerät und einige Minuten warten, bis der Remove-Prozess auf die unterste Ebene durchgestellt wurde.
Ich muss irgendwann mal ausprobieren, ob der friendlyName eines Devices auch aus Fhem heraus geändert werden kann.
1xBananaPi; 1x FB7490; 1xCUL433; 1x CC2530+CC2591; OpenMiLight-Gateway; 1xHMUART; HM-LC-Sw4-DR; Sonoff* mit TASMOTA, LEDController; MySensors; zigbee2mqtt;

Beta-User

Na ja, die Tasten könnten trotzdem kaputt sein. Aber wenn es an der firmware des Sticks hängt, dann "einfach" mal den updaten, wie von TL60 vorgeschlagen...
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

#49
Hallo zusammen.
Vielen Dank für die vielen Hilfestellungen.

Als erstes werde ich den Stick neu flashen.
Das hat ein Arbeitskollege gemacht und garantiert die Version vor Juni .
Das dauert jetzt allerdings, bis ich mich mit einem Ergebnis wieder melden kann.

Die Fernbedienung ist noch neu und ich hatte vorher auch einen Werksreset gemacht.

Vielen Dank
    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

Kawaci

Hallo!
ich bin gerade am umstellen von Mosquitto auf MQTT2_Server. Ich habe meine ganzen MQTT_Devices schon auf MQTT2 umgestellt jetzt will ich auch meine Zigbee Devices auf MQTT2 haben.
Habe den ganzen Beitrag gelesen, und nicht wirklich was gefunden, ich suche in der zigbee2mqtt configuration.yaml eine position wo ich 1. den Port einstellen kann und
2. Wo ich ein user:passwort einfügen kann! Mein mqtt2 server braucht ein Passwort.

3. Wie lösch ich Mosquitto von meinem Raspi?

Danke!

OdfFhem

@Kawaci

zu 1) und 2) https://www.zigbee2mqtt.io/information/configuration.html

zu3) "sudo apt-get remove --auto-remove mosquitto". Könnte jedoch sein, dass Du noch mehr deinstallieren musst - hängt davon ab, was Du alles installiert hast ...

Kawaci

Danke! Habs versucht mosquitto zu entfernen und dann ist fhem nicht mehr hochgefahren! Jetzt noch mal ein fhem backup aufgespielt und die ganzen tasmota sachen laufen nun auf mqtt2 port 1884 die alten gelöscht und es funktioniert. Jetzt zu meiner frage, wie krieg ich die zigbee geräte auf mqtt2? Einfach port änder hat nichts gebracht es wurde kein einziges gerät angelegt!

Beta-User

Den zigbee2mqtt-Dienst hast du aber nach der Änderung der yaml neu gestartet?

Wenn ja, ist da mind. ein Device (wenn autocreate auf beiden Ebenen MQTT2_SERVER+TYPE=autocreate darf). Auf das mußt du dann das zigbee2mqtt-Bridge-attrTemplate anwenden (siehe "Praxisbeispiele" im Wiki). Der Rest sollte dann halbwegs selbsterklärend sein.
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

Kawaci

Ja alles neugestartet! 3-4 mal aber kein device ist gekommen! Clienten muss ich keinen anlegen oder?

Beta-User

Nein. Wenn der Port paßt, müßte der zigbee2mqtt-Dienst direkt mit dem MQTT2_SERVER sprechen, und dann sollten auch Devices angelegt werden, wenn nicht "allowed" zuschlägt; irgendwo hattest du mal gefragt, wie das mit dem Passwort geht. Vermutlich solltest du mal im FHEM- und zigbee2mqtt-log nachsehen, ob da was zu finden ist.
Alternativ: eventuell paßt die readingList einer deiner "Altlasten"... (Sammeldevice?)? Dann wird natürlich nichts mehr neu angelegt.

(Wenn beide Dienste auf derselben Maschine laufen und via localhost kommunizieren, würde ich da ein Ausnahme zulassen).
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

Kawaci

So jetzt kommen alle devices nach der reihe herein! Es hat alles gepasst nur die Zeile server: 'mqtt://localhost:1884' musste ich auf die server: 'mqtt://192.168.xx.xx:1884' ändern! Keine Ahnung wieso!

Kawaci

So danke noch mal für die Hilfe! Die Geräte die ich vorher über MQTT angelegt habe löschen und nicht mit set remove entfernen, wenn ich mit dem einrichten fertig bin!

Sedonion

So, da bin ich nun.
Ich möchte auch von Mosquitto mit MQTT auf MQTT2_Server umsteigen.
Habe fleißg mehrfach diesen Thread gelesen und auch die Praxisbeispiele.
Aktuell betrifft es mich nur im Bereich XiaomiMQTTDevice mit Osram Plugs, Xiaomi Tempsensoren und vier neuen Bulbs, die meine alte Milight Config ablösen sollen.

- MQTT2_Server auf port 1884 eingerichtet.
- Port und client_id in configuration.yaml umgestellt.
- Bridge wird angelegt und mit Template zu MQTT2_zigbee_coordinator gemacht.
- mit dem BridgeRegexp Attribut werden auch viele Geräte vereinzelt.
- Danach wende ich auf die Plugs das Plug template an, auf die Sensoren das TempHumHpaSensor Template und die Bulb das light_cc.
Aber:
Ich habe wahrscheinlich den Fehler gemacht, das meine Temperatursensoren alle diese Namen haben:
Temp_Badezimmer, Temp_Kinderzimmer, Temp_Kueche usw.
Diese werden mir nicht vereinzelt, sondern in einem Device MQTT2_zigbee_Temp zusammen gefasst.

1. Wie kann ich das beheben? Muss der "Unterstrich" mit in den Regexp Ausdruck?

2. Die Plugs lassen sich nicht schalten.
Ich schaue mit journalctl -u zigbee2mqtt.service -f parallel nach ob ein Commando an kommt. Tut es aber nicht.

Kann ich ein paar Denkanstöße für meine beiden Punkte haben bitte?

Gruß Marco

fhem auf HP Microserver Gen8 mit Openmedivault
- 4 Milight RGB Bulbs an Milight Wifi Controller
- MAX Cube mit 2 Heizkörperthermostaten und 2 Fenstersensoren
- VU+ Solo4k Enigma2
- Fritzbox mit Callmonitor

Beta-User

Zitat von: Sedonion am 03 April 2020, 17:12:23
1. Wie kann ich das beheben? Muss der "Unterstrich" mit in den Regexp Ausdruck?
Wenn ich https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L64 ansehe, ist der _ in der BridgeRegexp drin (und zwar schon ziemlich lange).

=> bist du auf dem aktuellen Template-Stand? (auch mit FHEM allg., da hat sich grade im MQTT2-Bereich einiges getan

Zitat2. Die Plugs lassen sich nicht schalten.
Ich schaue mit journalctl -u zigbee2mqtt.service -f parallel nach ob ein Commando an kommt. Tut es aber nicht.
Auch hier kann ich nicht ausschließen, dass es erst vor kurzem eine Änderung gab, da war bei irgendeinem noch ein fehlender Parameter drin, wenn ich's richtig im Kopf habe.

Sollte das nach einem update (und der automatischen Neuanlage der plug-devices, da evtl. was kaputt gegangen ist...) noch da sein, bitte je ein RAW von jedem Device, so kann man nur raten...
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