FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: supernova1963 am 23 September 2018, 19:17:21

Titel: Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: supernova1963 am 23 September 2018, 19:17:21
Hallo zusammen,

gerade habe ich im Koenkk/zigbee2mqtt Gateway den fhem MQTT2_SERVER eingetragen und neugestartet.
Damit gepairt sind:
Es hat auch sofort funktioniert. Das zigbee2mqtt gateway wurde sofort erkannt und die als MQTT2_DEVICE angelegt.
Der einzige Wermutstropfen, alle readings der verschiedenen zigbee Devices werden an dem erkannten Gateway (MQTT2_DEVICE) angelegt.

Internals:
   CFGFN     
   CID        mqttjs_45746193
   DEF        mqttjs_45746193
   DEVICETOPIC MQTT2_mqttjs_45746193
   IODev      mqttserver
   LASTInputDev mqttserver
   MSGCNT     37
   NAME       MQTT2_mqttjs_45746193
   NR         21781
   STATE      online
   TYPE       MQTT2_DEVICE
   mqttserver_MSGCNT 37
   mqttserver_TIME 2018-09-23 19:04:58
   READINGS:
     2018-09-23 19:04:58   humidity        44.33
     2018-09-23 18:45:33   illuminance     259
     2018-09-23 19:04:58   linkquality     94
     2018-09-23 18:45:33   occupancy       false
     2018-09-23 19:04:58   pressure        978
     2018-09-23 18:39:55   state           online
     2018-09-23 19:04:58   temperature     27.32
Attributes:
   IODev      mqttserver
   readingList mqttjs_45746193:zigbee2mqtt/bridge/state:.* state
mqttjs_45746193:zigbee2mqtt/0x00158d000276e175:.* { json2nameValue($EVENT) }
mqttjs_45746193:zigbee2mqtt/0x00158d00023256f8:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

Gibt es die Möglichkeit den MQTT2_SERVER dazu zu bringen, ein Gateway zu erkennen und die angeschlossenen Devices als einzelne MQTT2_DEVICE anzulegen?

Danke,

Gernot

Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: rudolfkoenig am 23 September 2018, 20:53:28
Nicht automatisch, da ich nicht weiss, an welchem Kriterium ich die Geraete unterscheiden soll.Ohne Automatik sollte es aber jetzt schon gehen.
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 23 September 2018, 21:07:49
Lustig, habe heute auch etwas mit dem Thema rumexperimentiert.

Was nicht so lustig ist: es werden bei jedem Restart des zigbee2mqtt-services wieder neue Devices angelegt. An sich sollte das damit zu erledigen sein, dass man in der configuration.yaml eine "client_id" vergibt. Leider scheint das das Problem aber nicht zu erledigen.

Ist das bei dir ähnlich? Jemand eine Idee für Abhilfe?

Sonst könnte man die Devices ähnlich vereinzeln, wie ich das mit der Sidoh-Bridge schon gemacht hatte, Details um diesen Beitrag herum: https://forum.fhem.de/index.php/topic,86932.msg832336.html#msg832336

Aber wenn man da jedes Mal von vorne anfangen muß, ist das nicht so lustig. (Könnte aber auch daran liegen, dass das Modul von Neumann derzeit auch im Einsatz ist, evtl. kommt sich da was in die Quere).
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: supernova1963 am 24 September 2018, 06:51:12
Ja, die neue ClientID bei Neustart des zigbee2mqtt gateway führt bei mir auch zu einer Neuanlage in mqtt2
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 24 September 2018, 07:40:16
Hast du in der configuration.yaml auch was festgelegt?
Den Teil erledigt hier ein separater reaktivierter PI, der die Daten auch sauber an die erwartete Stelle (zigbee_pi) liefert: zigbee_pi:zigbee2mqtt/bridge/state:.* state
In der yaml steht hier unter mqtt die Angabe "client_id: 'zigbee_pi'".

Nur tauchen daneben weitere MQTT2-Devices auf mit immer wieder anderen Nummern. Bin mittlerweile aber ziemlich sicher, dass es daran liegt, dass ich keinen anderen Broker mehr am laufen habe und für die ersten Geh-Versuche noch ein 00_MQTT-Gerät (mit der externen IP des FHEM-Servers, da es über localhost nicht wollte) und zwei Leuchtmittel als Xiaomi-MQTT-Devices definiert sind. Irgendwie muß man ja rausbekommen, was da an Verkehr stattfindet.

Mehr zur eigenen Doku noch folgendes:
Das letztgenanntes Modul ist so aufgebaut, dass man ein Gerät als Bridge definieren muß, aber an dem gibt es eigentlich nicht viel mehr wie den Befehl "set <Bridge> pair 1", der im mosquitto_sub dann folgendes erzeugt:
'zigbee2mqtt/bridge/config/permit_join', ... (4 bytes))
true
'xiaomi/cmnd/bridge/pair', ... (3 bytes))
220

Alles, was nicht direkt mit der Bridge zu tun hat, kommt über
zigbee_pi:zigbee2mqtt/<bulb id>:.* { json2nameValue($EVENT) }rein, für das set wird ein set angefügt:
zigbee2mqtt/<bulb id>/set:.* {<json> }Der set-Code unterscheidet sich kaum von dem, was die Milights benötigen, sieht z.B. so aus:
{"brightness":"135"}
{"state":"ON"}

Dürfte also kein Hexenwerk sein, das vollends nur mit MQTT2 zu machen.

(Spannender wird ggf. der nächste Schritt, auf MQTT ganz zu verzichten, aber das ist was für 2019...)

EDIT: Im Modulcode für Xiaomi-MQTT steht zu den 'xiaomi/cmnd/bridge...'-Messages immer ein "Backwards compability" drin. Scheint also verzichtbar zu sein;

weitere Spezial-Messages:
zigbee2mqtt/bridge/config/remove", message => $hash->{SID} (SID ist wohl das, was oben mit <bulb id> bezeichnet ist)
zigbee2mqtt/bridge/config/devices", message => "" für "update devices"
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: supernova1963 am 24 September 2018, 17:50:55
Vielen Dank für deine ausführliche Beschreibung, BetaUser:

Ich habe nun einmal folgende configuration.yaml ausprobiert:
Änderungen zum Original:
homeassistant: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://192.168.1.100'
  user: fhem
  password: '*****'
  client_id: 'zigbeeStick'
  include_device_information: true
serial:
  port: /dev/ttyACM0
advanced:
  log_level: debug
devices:
  '0x00158d000276e175':
    friendly_name: 'Bewegungsmelder_01'
    retain: false
  '0x00158d00023256f8':
    friendly_name: 'Raumklima_01'
    retain: false
Diese Konfiguration ergibt folgendes MQTT2_DEVICE per autocreate:
Internals:
   CFGFN     
   CID        zigbeeStick
   DEF        zigbeeStick
   DEVICETOPIC MQTT2_zigbeeStick
   IODev      mqttserver
   LASTInputDev mqttserver
   MSGCNT     13
   NAME       MQTT2_zigbeeStick
   NR         3977
   STATE      online
   TYPE       MQTT2_DEVICE
   mqttserver_MSGCNT 13
   mqttserver_TIME 2018-09-24 17:39:06
   READINGS:
     2018-09-24 17:31:40   availability_topic zigbee2mqtt/bridge/state
     2018-09-24 17:39:06   battery         100.00
     2018-09-24 17:31:40   device_class    motion
     2018-09-24 17:31:40   humidity        51.87
     2018-09-24 17:31:40   icon            mdi:speedometer
     2018-09-24 17:39:06   illuminance     62
     2018-09-24 17:31:40   json_attributes_1 battery
     2018-09-24 17:31:40   json_attributes_2 voltage
     2018-09-24 17:39:06   linkquality     68
     2018-09-24 17:31:40   name            Raumklima_01_pressure
     2018-09-24 17:39:06   occupancy       false
     2018-09-24 17:31:40   payload_off     false
     2018-09-24 17:31:40   payload_on      true
     2018-09-24 17:31:40   pressure        994.4
     2018-09-24 17:31:40   state           online
     2018-09-24 17:31:40   state_topic     zigbee2mqtt/Raumklima_01
     2018-09-24 17:31:40   temperature     22.9
     2018-09-24 17:31:40   unit_of_measurement Pa
     2018-09-24 17:31:40   value_template  {{ value_json.pressure }}
     2018-09-24 17:39:06   voltage         3195
Attributes:
   IODev      mqttserver
   readingList zigbeeStick:zigbee2mqtt/bridge/state:.* state
zigbeeStick:homeassistant/binary_sensor/0x00158d000276e175/occupancy/config:.* { json2nameValue($EVENT) }
zigbeeStick:homeassistant/sensor/0x00158d000276e175/illuminance/config:.* { json2nameValue($EVENT) }
zigbeeStick:homeassistant/sensor/0x00158d00023256f8/temperature/config:.* { json2nameValue($EVENT) }
zigbeeStick:homeassistant/sensor/0x00158d00023256f8/humidity/config:.* { json2nameValue($EVENT) }
zigbeeStick:homeassistant/sensor/0x00158d00023256f8/pressure/config:.* { json2nameValue($EVENT) }
zigbeeStick:zigbee2mqtt/Bewegungsmelder_01:.* { json2nameValue($EVENT) }
zigbeeStick:zigbee2mqtt/Raumklima_01:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

Das zigbee2mqtt log-file enthält im debug modus:
2018-9-24 17:31:36 - info: Logging to directory: '/opt/zigbee2mqtt/data/log/2018-09-24.17-31-36'
2018-9-24 17:31:36 - debug: Removing old log directory '/opt/zigbee2mqtt/data/log/2018-09-24.16-38-31'
2018-9-24 17:31:36 - debug: Using zigbee-shepherd with settings: '{"net":{"panId":6754,"channelList":[11]},"dbPath":"/opt/zigbee2mqtt/data/database.db","sp":{"baudRate":115200,"rtscts":true}}'
2018-9-24 17:31:36 - debug: Loaded state from file /opt/zigbee2mqtt/data/state.json
2018-9-24 17:31:36 - info: Starting zigbee2mqtt version 0.1.5 (commit #7d49e13)
2018-9-24 17:31:36 - info: Starting zigbee-shepherd
2018-9-24 17:31:40 - info: zigbee-shepherd started
2018-9-24 17:31:40 - info: Coordinator firmware version: 'undefined'
2018-9-24 17:31:40 - debug: zigbee-shepherd info: {"enabled":true,"net":{"state":"Coordinator","channel":11,"panId":"0x1a62","extPanId":"0xdddddddddddddddd","ieeeAddr":"0x00124b0014d9e066","nwkAddr":0},"firmware":{"error":"Unable to get firmware version"},"startTime":1537803100,"joinTimeLeft":0}
2018-9-24 17:31:40 - info: Currently 2 devices are joined:
2018-9-24 17:31:40 - info: Bewegungsmelder_01 (0x00158d000276e175): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
2018-9-24 17:31:40 - info: Raumklima_01 (0x00158d00023256f8): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
2018-9-24 17:31:40 - warn: `permit_join` set to  `true` in configuration.yaml.
2018-9-24 17:31:40 - warn: Allowing new devices to join.
2018-9-24 17:31:40 - warn: Set `permit_join` to `false` once you joined all devices.
2018-9-24 17:31:40 - info: Zigbee: allowing new devices to join.
2018-9-24 17:31:40 - info: Connecting to MQTT server at mqtt://192.168.1.100
2018-9-24 17:31:40 - debug: Using MQTT client ID: 'zigbeeStick'
2018-9-24 17:31:40 - info: zigbee-shepherd ready
2018-9-24 17:31:40 - info: Connected to MQTT server
2018-9-24 17:31:40 - info: MQTT publish, topic: 'zigbee2mqtt/bridge/state', payload: 'online'
2018-9-24 17:31:40 - info: MQTT publish, topic: 'homeassistant/binary_sensor/0x00158d000276e175/occupancy/config', payload: '{"payload_on":true,"payload_off":false,"value_template":"{{ value_json.occupancy }}","device_class":"motion","json_attributes":["battery","voltage"],"state_topic":"zigbee2mqtt/Bewegungsmelder_01","availability_topic":"zigbee2mqtt/bridge/state","name":"Bewegungsmelder_01_occupancy"}'
2018-9-24 17:31:40 - info: MQTT publish, topic: 'homeassistant/sensor/0x00158d000276e175/illuminance/config', payload: '{"unit_of_measurement":"lx","icon":"mdi:theme-light-dark","value_template":"{{ value_json.illuminance }}","json_attributes":["battery","voltage"],"state_topic":"zigbee2mqtt/Bewegungsmelder_01","availability_topic":"zigbee2mqtt/bridge/state","name":"Bewegungsmelder_01_illuminance"}'
2018-9-24 17:31:40 - info: MQTT publish, topic: 'homeassistant/sensor/0x00158d00023256f8/temperature/config', payload: '{"unit_of_measurement":"°C","icon":"mdi:temperature-celsius","value_template":"{{ value_json.temperature }}","json_attributes":["battery","voltage"],"state_topic":"zigbee2mqtt/Raumklima_01","availability_topic":"zigbee2mqtt/bridge/state","name":"Raumklima_01_temperature"}'
2018-9-24 17:31:40 - info: MQTT publish, topic: 'homeassistant/sensor/0x00158d00023256f8/humidity/config', payload: '{"unit_of_measurement":"%","icon":"mdi:water-percent","value_template":"{{ value_json.humidity }}","json_attributes":["battery","voltage"],"state_topic":"zigbee2mqtt/Raumklima_01","availability_topic":"zigbee2mqtt/bridge/state","name":"Raumklima_01_humidity"}'
2018-9-24 17:31:40 - info: MQTT publish, topic: 'homeassistant/sensor/0x00158d00023256f8/pressure/config', payload: '{"unit_of_measurement":"Pa","icon":"mdi:speedometer","value_template":"{{ value_json.pressure }}","json_attributes":["battery","voltage"],"state_topic":"zigbee2mqtt/Raumklima_01","availability_topic":"zigbee2mqtt/bridge/state","name":"Raumklima_01_pressure"}'
2018-9-24 17:31:40 - info: MQTT publish, topic: 'zigbee2mqtt/Bewegungsmelder_01', payload: '{"illuminance":174,"linkquality":76,"occupancy":true,"battery":"100.00","voltage":3195}'
2018-9-24 17:31:40 - info: MQTT publish, topic: 'zigbee2mqtt/Raumklima_01', payload: '{"temperature":22.9,"linkquality":86,"humidity":51.87,"pressure":994.4,"battery":"100.00","voltage":3045}'
2018-9-24 17:31:56 - debug: Recieved zigbee message of type 'attReport' with data '{"cid":"msIlluminanceMeasurement","data":{"measuredValue":62}}' of device 'lumi.sensor_motion.aq2' (0x00158d000276e175)
2018-9-24 17:31:56 - info: MQTT publish, topic: 'zigbee2mqtt/Bewegungsmelder_01', payload: '{"illuminance":62,"linkquality":63,"occupancy":true,"battery":"100.00","voltage":3195}'
2018-9-24 17:31:56 - debug: Recieved zigbee message of type 'devChange' with data '{"cid":"msIlluminanceMeasurement","data":{"measuredValue":62}}' of device 'lumi.sensor_motion.aq2' (0x00158d000276e175)
2018-9-24 17:31:56 - debug: Recieved zigbee message of type 'attReport' with data '{"cid":"msOccupancySensing","data":{"occupancy":1}}' of device 'lumi.sensor_motion.aq2' (0x00158d000276e175)
2018-9-24 17:31:56 - info: MQTT publish, topic: 'zigbee2mqtt/Bewegungsmelder_01', payload: '{"illuminance":62,"linkquality":60,"occupancy":true,"battery":"100.00","voltage":3195}'
2018-9-24 17:31:56 - debug: Recieved zigbee message of type 'devChange' with data '{"cid":"msOccupancySensing","data":{"occupancy":1}}' of device 'lumi.sensor_motion.aq2' (0x00158d000276e175)
2018-9-24 17:33:26 - info: MQTT publish, topic: 'zigbee2mqtt/Bewegungsmelder_01', payload: '{"illuminance":62,"linkquality":60,"occupancy":false,"battery":"100.00","voltage":3195}'

Vielleicht kann man mit diesen zusätzlichen Informationen etwas anfangen.

Danke,

Gernot
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 24 September 2018, 18:07:00
An sich sollte es jetzt nicht mehr das große Problem sein, das zu "vereinzeln":

Mal angenommen, du hast 2 zigbee-Geräte (Bewegungsmelder und einen Temp/Hum-Sensor).

Dann brauchst du im Ergebnis 4 MQTT2-Devices:

- Das "Großdevice", an das alle Infos auch weiterhin (auch) kommen; das kann irgendwo in einen "Sammelraum". Davon machst du dann 3 "Klone", die aber nicht alle bzw. weitere Angaben enthalten, nämlich
- die "Bridge", die zur Steuerung des Java-Daemons samt CC2531 dient (zigbeeStick:zigbee2mqtt/bridge/...); da sollten dann die zusätzlichen set-Angaben rein; dient auch nur der Verwaltung, sowas landet bei mir in der Gruppe Interfaces im Raum Steuerung
- Jedes der beiden anderen als seperates MQTT2-Device's, wobei es reichen dürfte, den "friendly name" zu nutzen. Das sind die eigentlichen Nutzdevices.
Solange es nur Sensoren sind, braucht es (ggf. außer dem "unpair") keine set's. Ein Beispiel, wie man set-JSON-Blobs zusammensetzt, ist im verlinkten Beitrag (bzw. irgendwo in der Ecke) zu MiLight.

Vielleicht komme ich die Tage mal dazu, das für meine Tradfri's zu testen und dann zu posten. Aber hoffentlich bist du schneller...

Gruß und gutes Gelingen!
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 25 September 2018, 19:26:01
So, erste Tests mal gemacht, kurzer Zwischenstand:
Wenn man das "Großdevice" auch als Bridge (nach alter Lesart) nutzen will, sollte es eigentlich genügen, folgende Einstellungen für setList und widgetOverride zu nehmen (RAW-Definitionen):
attr MQTT2_zigbee_pi setList permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\
remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\
log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\
rename {"zigbee2mqtt/bridge/config/rename  " . toJSON({ 'old' => "$EVTPART1", 'new' => "$EVTPART2"})}\
network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\
attr MQTT2_zigbee_pi widgetOverride permit_join:true,false remove:textField rename:textField log_level:debug,info,warn,error network_map:raw,graphviz
Für die Bulb-Devices sollte es noch einfacher gehen...

Wenn du nur Sensoren hast, könnte das Vereinzeln über ReadingsProxy auch eine Variante sein.

EDIT: widgetOverride-Attribut geändert
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 26 September 2018, 00:09:19
Anbei noch eine Bulb-Definition:

defmod IKEA_Bulb1 MQTT2_DEVICE
attr IKEA_Bulb1 IODev MQTT2_FHEM_Server
attr IKEA_Bulb1 eventMap on:ON:off off:OFF:on
attr IKEA_Bulb1 readingList zigbee_pi:zigbee2mqtt/0x90fd9ffffe0bcd51:.* { json2nameValue($EVENT) }
attr IKEA_Bulb1 setList on {"zigbee2mqtt/0x90fd9ffffe0bcd51/set " . toJSON({ 'state' => 'ON'})}\
off {"zigbee2mqtt/0x90fd9ffffe0bcd51/set " . toJSON({ 'state' => 'OFF'})}\
brightness {"zigbee2mqtt/0x90fd9ffffe0bcd51/set " . toJSON({ "$EVTPART0" => "$EVTPART1"})}

attr IKEA_Bulb1 webCmd brightness
attr IKEA_Bulb1 widgetOverride brightness:colorpicker,BRI,0,15,255
Fehlt eigentlich nur noch ein DevStateIcon, das den aktuellen Dim-Level sauber wiedergibt :) .

Damit fliegen meine Übergangs-Devices aus der klassischen MQTT-Welt wieder raus 8) , bis zum nächsten Step (direkte serielle Einbindung der TI-Chips) ist das erst mal eine Sache, mit der ich gut leben kann, ggf. mit geringfügigen Verbesserungen.

EDIT: Code leicht geändert
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 26 September 2018, 07:42:27
Hmm, jetzt ist doch noch eine seltsame Sache aufgetaucht:

2. Bulb mit anderer IEEE-Adresse angelegt, ansonsten sind es dieselben Einstellungen wie Bulb1.

Schaltet man Bulb1, ist alles ok, der Status der beiden Bulbs ist unabhängig voneinander.

ABER: Schaltet man Bulb2, ändert sich auch der Status (on/off und Brightness) von Bulb1.

Nicht schön... Am mosquitto_sub gibt es keine Auffälligkeiten, da kommt nach dem "set" artig nur die Rückmeldung zu der einen geschalteten Bulb, nicht zur anderen (was auch dem tatsächlichen Verhalten der beiden Bulbs entspricht).

Ideen dazu?
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: dev0 am 26 September 2018, 08:12:12
Zitat
ABER: Schaltet man Bulb2, ändert sich auch der Status (on/off und Brightness) von Bulb1.
Falls Du das Device kopiert hast, dann könnte es vllt. daran liegen. Hier (https://forum.fhem.de/index.php/topic,90750.msg832563.html#msg832563) wurde Ähnliches beschrieben.
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 26 September 2018, 09:22:06
Falls Du das Device kopiert hast, dann könnte es vllt. daran liegen. Hier (https://forum.fhem.de/index.php/topic,90750.msg832563.html#msg832563) wurde Ähnliches beschrieben.
Danke für den Hinweis, dürfte dieselbe Ursachen haben; Bulb1 ist eine "copy" des Großdevices mit anschließender "Ausdünnung", Bulb2 wurde im RAW-Editor auf Basis von Bulb1 angelegt.

Werde wohl FHEM mal neu starten :) .
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 27 September 2018, 08:34:10
Falls Du das Device kopiert hast, dann könnte es vllt. daran liegen. Hier (https://forum.fhem.de/index.php/topic,90750.msg832563.html#msg832563) wurde Ähnliches beschrieben.
Danke, das war es tatsächlich; ein simpler reload von 10_MQTT2_DEVICE hat es auch getan...
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 27 September 2018, 08:48:34
@rudolfkoenig
(Ich gehe mal davon aus, dass du hier noch mitliest)

Wie kurz beschrieben, hatte ich übergangsweise an dem MQTT2-Server auch einen 00_MQTT-Client gehängt, um das angepaßte Xiaomi-MQTT-Modul nutzen zu können, also genau die Konstruktion aufgebaut, die wir neulich in einem anderen Thread (mit "normalen 10_MQTT_DEVICE-Geräten) als "vermutlich möglich" diskutiert hatten. Autocreate am MQTT2_SERVER war an.
Zunächst war für 00_MQTT die externe IP des FHEM-Servers verwendet worden. Dabei wurden ständig neue MQTT2_DEVICE-Geräte angelegt. Dies geschah nach meiner Wahrnehmung auch noch, nachdem der zigbee2mqtt-Pi (der die eigentliche Informationsquelle darstellt) dann eine eindeutige Kennung erhalten hatte.

Ohne das jetzt ausführlich ausgetestet zu haben, scheint mir die Ursache hierfür das 00_MQTT-Gerät zu sein, und zwar unabhängig davon, ob es über die externe IP oder über localhost (auf das ich kurz umgestellt hatte) kommuniziert.

Frage: wäre es möglich, das Autocreate (optional?) für localhost auszuschalten (in der Annahme, das es keine andere Methode gibt, ein 00_MQTT-Gerät anderweitig von "echten" externen Informationsquellen (weiterer MQTT-Server oder Client) zu unterscheiden?)
Ist für den Fall hier m.E. nicht mehr relevant, aber evtl. eine Sache, über die zukünftig evtl. noch mehr Leute stolpern, die aus welchen Gründen auch immer beides haben wollen.
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: rudolfkoenig am 28 September 2018, 09:16:14
Bei gesetzten autocreate wird dann eine neue MQTT2_DEVICE Instanz angelegt, falls die aktuell gesendete clientId unbekannt ist, d.h. kein MQTT2_DEVICE mit diesem clientId existiert. Wenn deine Beschreibung zutrifft, dann sendet die bei MQTT verwendete Bibliothek fuer jede neue Verbindung eine neue clientId.

Die von Dir vorgeschlagene Aenderung ist natuerlich machbar, ich wuerde es aber vorziehen, wenn MQTT clientId konstant bleibt (vulgo: es soll da gefixt werden). Abgesehen davon: eine FHEM-interne Kommunikation ueber MQTT ist ineffizient, man sollte beim Einsatz von MQTT2_SERVER die dafuer vorgesehene MQTT2_DEVICE verwenden, dann gibt es diese Probleme nicht, und die Konfiguration ist deutlich einfacher.

Falls aber mehrere Benutzer hier einfinden, die "autocreate remoteonly" haben wollen, dann baue ich es ein.
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 28 September 2018, 10:00:04
Danke für die Antwort.

Bei 00_MQTT gibt es lt. Commandref die Option, eine ClientID zu setzen:attr mqtt client-id fhem1234567Damit dürfte sich das Problem also bei korrekter Konfiguration gar nicht stellen, keine Aktivität erforderlich.

Ansonsten teile ich die Einschätzung, dass es in der Regel mehr Sinn macht, auf solche Umwege zu verzichten und alles vollständig über die MQTT2-Module abzubilden. Die übergangsweise Einrichtung der bisherigen MQTT-Strecke erfolgte nur zu dem Zweck, die Kommunikation abzuhören. Aber eigentlich hätte ich mir auch das schenken können, hätte ich mal früher in die Doku bei zigbee2mqtt
 (https://github.com/Koenkk/zigbee2mqtt/wiki/MQTT-topics-and-message-structure)geschaut. Ist ein wenig eigenwillig, dass da simple Textangaben und JSON durcheinandergehen, aber dafür kann man jetzt auch "friendly names" vergeben usw.. (Das mit den names habe ich ausprobiert, ob es Sinn macht, ist eine andere Frage; jedenfalls kommt mit den Einstellungen aus Post #8 scheinbar das richtige am zigbee2mqtt-Code an, müßte also auch beim Rest soweit passen).

Ob allerdings alle die Einschätzung teilen, dass die Konfiguration deutlich einfacher ist, wenn sie die Message-Struktur wie hier selbst mit toJSON() zusammenbasteln müssen? Ich fand das einigermaßen herausfordernd, v.a., da die Suche nach toJSON im Forum und Wiki nicht besonders viele Beispiele bringt. Aber jetzt gibt's ja die hier :) .
Fettes Danke an der Stelle nochmal, ist wirklich top, wie das flutscht, wenn man's mal (halbwegs) verstanden hat.
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: rudolfkoenig am 28 September 2018, 10:42:53
Zitat
Ob allerdings alle die Einschätzung teilen, dass die Konfiguration deutlich einfacher ist, wenn sie die Message-Struktur wie hier selbst mit toJSON() zusammenbasteln müssen?
Ich habe mich gefragt, warum du toJSON verwendest, statt sowas:{ 'zigbee2mqtt/0x90fd9ffffe0bcd51/set {"state":"ON"}' }Und ich wuesste auch gerne, ob MQTT_DEVICE das einfacher anbietet, bzw. was ich machen kann, um es zu vereinfachen.
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 28 September 2018, 11:08:25
Hmm, interessante Frage wg. to JSON ??? .

Also vorab: Meine Einstiegsdevices in die MQTT-Welt waren die Milight-Bulbs über die Sidoh-Bridge. Da war es (soweit mir bekannt) zwingend, den Sendestring mit toJSON zusammenzubauen, da die bisherige MQTT-Strecke (jedenfalls nach meinem Kenntnisstand) mit den Klammern nicht umgehen konnte bzw. die irgendwie unterschlagen hat (hatte ich damals so aufgeschnappt und dann auch nicht weiter hinterfragt, nachdem es mir gelungen war, das mit toJSON zu lösen). Ohne Klammern wollte aber die Bridge die Befehle nicht annehmen. Nachdem ich wußte, wie es geht, habe ich dann diesen Teil einfach nach hierher übernommen, ohne nochmal zu prüfen, ob es auch "noch einfacher" geht.

Ob es mit der schlichten Text-Lösung klappt, probiere ich gerne aus, das wäre dann wirklich nochmal eine super Vereinfachung!

Zusammengefaßt:
MQTT-Device war also in allen Belangen jedenfalls nicht einfacher, und für das Auspacken der JSON benötigt man dort ein extra Modul => IMO sehr unhandlich.
Der einzige "Vorteil", den ich im Moment bei der bisherigen Strecke sehe ist der Umstand, dass es eben für "spezielle" Anforderungen (wie die Xiaomi's) "Module" gibt, die einem die Konfiguration erleichtern, die also "copy/paste" für jedermann nutzbar sind ohne groß darüber nachzudenken.
Hat man wie hier eine Bridge, über die alle nachfolgenden Devices laufen, muß man bei MQTT2 etwas Zeit investieren, um zu vereinzeln. Das ist aber auch alles :) .

Was vielleicht noch ein Argument für den weiteren (gleichzeitigen) Einsatz von 00_MQTT sein könnte: die "Generic-Bridge"-Funktionalität. Aber wer sowas haben will, benötigt sowieso einen "echten" Broker/Server. Aber darüber, wie man "best of both worlds" in solchen Konstellationen erhalten kann, habe ich noch nicht intensiver nachgedacht. Vom Gefühl her wäre es aber gut, wenn das Zusammenspiel von MQTT2 auch mit einem "regulären" Server reibungslos funktionieren würde. Ob das der Fall ist, weiß ich nicht, weil ich MQTT2 ja gerade dazu nutze, um _keinen_ externen Broker für die paar Devices zu benötigen :) .
Aus letzterem Grund hatte ich btw. auch die Frage zum Zusammenspiel zwischen MQTT2-Server und 00_MQTT gestellt :) .
Titel: Antw:Ergebnis des Versuchs zigbee2mqtt mit MQTT2_SERVER zu nutzen
Beitrag von: Beta-User am 30 September 2018, 05:29:11
So, funktioniert mit MQTT2 auch ohne toJSON.

Kurze Zusammenfassung also nochmal:

1. Man teile dem zigbee2mqtt-Client in der configuration.yaml mit, wohin er die Daten schicken soll (MQTT2-SERVER-DEVICE, und vergebe eine "client_id" unter "mqtt" (hier: zigbee_pi). Habe dann unter serial noch die USB-Angabe "by-id" gemacht und die LED mit "disable_led: true" ausgeschaltet.
2. Da der Client erst mal nichts weiter schickt oder weiß, benötigt man ein MQTT2-DEVICE-Gerät, über das man dann später echte Geräte hinzufügen kann. Sieht in etwa so aus:
defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_pi setList permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\
remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\
log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\
rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\
network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\

attr MQTT2_zigbee_pi widgetOverride permit_join:true,false rename:textField remove:textField log_level:debug,info,warn,error network_map:raw,graphviz
3. Dann kann man darüber mit "set MQTT2_zigbee_pi permit_join true" neue Geräte erkennen lassen. Die tauchen dann in der readingList (ggf. nach einem Browser-Refresh) auf.
Wer mag, kann die dann mit dem rename umbenennen, z.B.: "set MQTT2_zigbee_pi rename 0x90fd9ffffe0bcd51 Kueche_Durchgang_A2".
Die Angabe taucht dann als friendly name in der configuration yaml auf. (M.E. sollte man sich das eher sparen, da die Bulb dann im nächsten Schritt eh' einen FHEM-Namen bekommt).

4. Kennt man dann den Pfad, unter dem ein Device seine Daten an den Broker sendet, kann man (am besten über die RAW-Definition ein weiteres MQTT2-DEVICE ableiten. Für meine IKEA-Lampen sieht das dann so aus:
defmod IKEA_Bulb2 MQTT2_DEVICE
attr IKEA_Bulb2 IODev MQTT2_FHEM_Server
attr IKEA_Bulb2 eventMap on:ON:off off:OFF:on
attr IKEA_Bulb2 icon light_control
attr IKEA_Bulb2 readingList zigbee_pi:zigbee2mqtt/Kueche_Durchgang_A2:.* { json2nameValue($EVENT) }
attr IKEA_Bulb2 setList on {'zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"ON"}'}\
off {'zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"OFF"}'}\
brightness {"zigbee2mqtt/Kueche_Durchgang_A2/set {\"$EVTPART0\":\"$EVTPART1\"}"}\

attr IKEA_Bulb2 webCmd brightness
attr IKEA_Bulb2 widgetOverride brightness:colorpicker,BRI,0,15,255

That's all.

Verbesserungsmöglichkeiten bestehen noch bei der etwas ungewöhnlichen eventMap und dem devStateIcon.

Kann's bei Interesse gerne ins Wiki übernehmen.

@supernova1963:
Für den Fall, dass das auch bei dir klappt, könntest du eventuell den Thread-Titel anpassen?
Vorschlag: Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: supernova1963 am 30 September 2018, 10:42:41
Wow, jede Menge Input, den ich erstmal verarbeiten muss.
Vielen Dank euch allen.

@BetaUser: Es hat mit deinen Einstellungen funktioniert. Den Thread-Titel habe ich angepaßt.

Folgende Ergänzungen habe ich bei mir noch vorgenommen:

setlist am bridge device:
attr MQTT2_zigbee_pi setList permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\
remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\
log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\
rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\
network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\
devicelist {"zigbee2mqtt/bridge/config/devices"}
widgetOverride am bridge device
attr MQTT2_zigbee_pi widgetOverride permit_join:true,false rename:textField remove:textField log_level:debug,info,warn,error network_map:raw,graphviz devicelist:noArg

Als ideal empfände ich es, wenn man nachdem autocreate des bridge-Devices, hier entsprechend einstellen könnte, dass die zugehörigen Endpunkt - devices auf Basis des mqtt Pfades (nicht auf Basis der Sender ID) ebenfalls angelegt werden.

Danke, danke, danke,

Gernot
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 01 Oktober 2018, 11:09:45
Danke auch für die Erweiterung mit devicelist :) . Wenn man jetzt noch abfragen könnte, ob ein bestimmtes Device online ist (oder grade keinen Saft hat), wäre das top (hat aber nichts mehr mit MQTT2 zu tun).

Als ideal empfände ich es, wenn man nachdem autocreate des bridge-Devices, hier entsprechend einstellen könnte, dass die zugehörigen Endpunkt - devices auf Basis des mqtt Pfades (nicht auf Basis der Sender ID) ebenfalls angelegt werden.
Was genau meinst du damit? Sollte es eine Art "create Device from Reading" geben?
Sowas wäre m.E. ja irgendwie nett, aber viel Aufwand für eher wenig Ertrag, zumal man die "set"-Anpassungen trotzdem noch vornehmen müßte.
Wenn es nur um einzelne Werte geht, wäre m.E. eh' die Überlegung, ob nicht ReadingsProxy die bessere Wahl wäre bzw. ReadingsGroup zur Darstellung mehrerer Readings. "Richtige" Devices benötigt man eher erst dann, wenn man die auch steuern will (das geht zwar evtl. auch mit den genannten Optionen, aber da dann möglicherweise eher umständlicher).

Ansonsten geht der Dank zurück; wie geschrieben, war ich just in dem Moment sowieso an dem Thema dran, war also purer Eigennutz, dass ich mich da an deinen Thread rangehängt habe ;) . Und so gibt es jetzt Rückmeldung auch von dir und eine deutlich vereinfachte setList ;) .

Gruß, Beta-User
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: gloob am 01 Oktober 2018, 13:52:08
Kann's bei Interesse gerne ins Wiki übernehmen.

Das wäre natürlich die Krönung. Ich würde nämlich auch gerne mein MQTT+Mosquitto durch MQTT2 ersetzen
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 01 Oktober 2018, 14:10:39
Zitat
Wenn man jetzt noch abfragen könnte, ob ein bestimmtes Device online ist
Es gab mal eine Anfrage, dass MQTT2_SERVER das direkt melden sollte, aber ich meine das hat ueber LWT, bzw. ein PUBLISH direkt nach dem connect zu erfolgen, dann funktioniert das auch dann, wenn man statt MQTT2_SERVER einen anderen MQTT server wie mosquitto verwendet.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 01 Oktober 2018, 14:35:09
Das wäre natürlich die Krönung. Ich würde nämlich auch gerne mein MQTT+Mosquitto durch MQTT2 ersetzen
Here you are:
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele

Wäre natürlich super, wenn du Tasmota und ggf. die IR-Bridge da ergänzen könntest ;) . Diskussion dazu bitte dann im Wiki-Bereich

MiLight ziehe ich dann bei Gelegenheit nach.

Es gab mal eine Anfrage, dass MQTT2_SERVER das direkt melden sollte, aber ich meine das hat ueber LWT, bzw. ein PUBLISH direkt nach dem connect zu erfolgen, dann funktioniert das auch dann, wenn man statt MQTT2_SERVER einen anderen MQTT server wie mosquitto verwendet.
Danke für die Antwort; hier ging es um was anderes: die zigbee2mqtt-Lösung sollte eigentlich das offline-Gehen von Geräten bemerken können (also, wenn jemand die Spannung an einer Bulb abschaltet, sollte diese nach einiger Zeit offline gehen, nicht die zigbee-shepard-Komponente, die bleibt (hoffentlich) trotzdem online); das ist aber dort noch nicht implementiert.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 04 Oktober 2018, 12:24:28
MiLight ziehe ich dann bei Gelegenheit nach.
Done...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Badflex am 07 Oktober 2018, 13:30:54
Hallo,
habe auch mal von MQTT zu Mqtt2_Server gewechselt. Dabei Mosqitto deinstalliert.
habe alles wie hier:https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele) beschrieben angelegt.
Das MQTT2_DEVICE zigbee_pi auch angelegt

wenn ich nun meine IKEA Lampe in den auslieferungszustand bringe 6x an/aus.
erscheint auch unter Message im MQTT2_DEVICE zigbee_pi das er die Lampe gefunden hat "0x90fd9ffffe71ce9f" und type
device_connected,
aber er erstellt kein neues Device.

Wo kann ich einen Fehler gemacht haben ?
Muss ich die Server Teile in der Konfiguration.yaml ändern?
Bei mir steht.   server: 'mqtt://localhost'
Sollte der Ordner  bridge automatisch angelegt werden?
Den gibt's bei mir nicht.


qtt2 Server:
Internals:
   CONNECTS   1
   DEF        1883 global
   FD         15
   NAME       MQTT2
   NR         97
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2018-10-07 13:13:52   RETAIN          {"zigbee2mqtt/bridge/state":"online"}
     2018-10-07 13:13:51   nrclients       1
     2018-10-07 13:12:33   state           Initialized
   clients:
     MQTT2_127.0.0.1_38306 1
   retain:
     zigbee2mqtt/bridge/state:
       ts         1538910832.05297
       val        online
Attributes:
   autocreate 1
   room       System

---------------------------------------------------------------------------------------------------
zigbee_pi:

Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   DEVICETOPIC MQTT2_zigbee_pi
   IODev      MQTT2
   LASTInputDev MQTT2
   MQTT2_MSGCNT 14
   MQTT2_TIME 2018-10-07 13:13:57
   MSGCNT     14
   NAME       MQTT2_zigbee_pi
   NR         99
   STATE      online
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-10-07 13:13:57   message         0x90fd9ffffe71ce9f
     2018-10-07 13:13:52   state           online
     2018-10-07 13:13:57   type            device_connected
Attributes:
   IODev      MQTT2
   readingList zigbee_pi:zigbee2mqtt/bridge/log:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/bridge/state:.* state
   room       MQTT2_Device
   setList    permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\ remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\ log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\ rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\ network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\ devicelist {"zigbee2mqtt/bridge/config/devices"}
   widgetOverride permit_join:true,false rename:textField remove:textField log_level:debug,info,warn,error network_map:raw,graphviz devicelist:noArg


Hier der Log:


PERL WARNING: Backslash found where operator expected at (eval 9150) line 1, near "}\"
2018.10.07 16:03:39 3: eval: my $EVTPART0='permit_join';my $EVTPART1='true';my $NAME='MQTT2_zigbee_pi';my $EVENT='permit_join true';{"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\ remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\ log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\ rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\ network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\ devicelist {"zigbee2mqtt/bridge/config/devices"}
2018.10.07 16:03:39 1: ERROR evaluating my $EVTPART0='permit_join';my $EVTPART1='true';my $NAME='MQTT2_zigbee_pi';my $EVENT='permit_join true';{"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\ remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\ log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\ rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\ network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\ devicelist {"zigbee2mqtt/bridge/config/devices"}: syntax error at (eval 9150) line 1, near "}\"

2018.10.07 16:03:54 4: MQTT2_127.0.0.1_42812 zigbee_pi PUBLISH zigbee2mqtt/bridge/log:{"type":"pairing","message":"connecting with device"}
2018.10.07 16:03:54 5: MQTT2: dispatch autocreate:zigbee_pi:zigbee2mqtt/bridge/log:{"type":"pairing","message":"connecting with device"}
2018.10.07 16:03:54 4: MQTT2_DEVICE_Parse: MQTT2_zigbee_pi zigbee2mqtt/bridge/log => { json2nameValue($EVENT) }



Vielen Dank
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 07 Oktober 2018, 17:41:32
Per autocreate wird nur das erste MQTT2_DEVICE automatisch angelegt.

Alle weiteren Devices muss man dann "ableiten", also händisch (am einfachsten als Teilauszug der RAW-Definition der "Bridge") anlegen. Bei dir ware also statt "Kueche_Durchgang_A2" "0x90fd9ffffe71ce9f" zu verwenden...

Werde das bei Gelegenheit noch etwas deutlicher ins Wiki schreiben, zusammen mit der Tasmota-Anleitung für einfach-Schalt-Devices.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Badflex am 07 Oktober 2018, 17:45:33
ahh, danke

hab noch ein Problem beim anlegen vom Attribut:
attr MQTT2_zigbee_pi setList permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\
remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\
log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\
rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\
network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\
devicelist {"zigbee2mqtt/bridge/config/devices"}

Fehlermeldung:

syntax error at (eval 2519) line 1, at EOF
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 07 Oktober 2018, 17:51:28
Hmmm,
(vorab: vermutlich braucht man weder die Klammern noch die einleitenden/ausleitenden "", sollte auch so gehen:
attr MQTT2_zigbee_pi setList permit_join zigbee2mqtt/bridge/config/permit_join $EVTPART1\
...
Vermuten würde ich im Moment, dass da durch das Kopieren irgend ein unsichtbares Zeichen reingekommen ist, das da nicht hingehört, bitte versuche das mal direkt im Eingabefeld zum Attribut (da sind dann keine "\" mehr nötig).

EDIT: wenn man $EVENT usw. nutzen will, braucht man die Klammern, sonst nicht...

Die setList sieht für die Lampe im "reduzierten Format" dann so aus (dann geht sie bei brightness auch gleich an, wenn sie aus ist):
attr IKEA_Bulb2 setList on zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"ON"}\
off zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"OFF"}\
brightness {"zigbee2mqtt/Kueche_Durchgang_A2/set {\"state\":\"on\",\"$EVTPART0\":\"$EVTPART1\"}"}\
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Badflex am 07 Oktober 2018, 18:39:57
super Danke ohne \
klappt das auch:)

Gibt es schon eine Möglichkeit bei den Tradfri lampen die Farbtemperatur oder die Farbe darüber zu ändern?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 07 Oktober 2018, 20:24:51
Gibt es schon eine Möglichkeit bei den Tradfri lampen die Farbtemperatur oder die Farbe darüber zu ändern?
Das sollte "eigentlich" kein Problem sein: Im Prinzip sollte sich der brightness-code entsprechend anpassen lassen (setList ergänzen, webCmd und widgetOverride). Da aber meine Bulbs keine Farbtemperatur kennen und schon gleich keine Farbe, kann ich das nicht testen. Bei der Farbtemperatur müßten dann einfach auch die Grenzwerte für den Colorpicker-Slider angepaßt werden.

Notfalls kannst du mir die Topics nennen, auf die das gesendet werden muß, und das "Schlüsselwort" für den JSON-Blob, dann kann ich das per "Fernwartung" versuchen. Ansonsten gerne das Ergebnis posten, dann kommt's für Nachahmer ins Wiki ;) .
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 07 Oktober 2018, 22:54:14
Seit heute ist widgetOverride nicht unbedingt notwendig, man kann die modifier direkt ins setList schreiben, siehe https://forum.fhem.de/index.php/topic,90145.msg843370.html#msg843370
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 08 Oktober 2018, 08:08:13
Danke für das mit der erweiterten setList, das ist m.E. wieder eine Vereinfachung, die dem Anfänger helfen dürfte.

Gestern bin ich noch über einen Punkt gestolpert: Will man in der setList $EVENT oder Teile davon verwenden, muß man das noch in geschweifte Klammern packen (siehe oben bei brightness), sonst wird das als Text behandelt und so versendet. Wäre es möglich, das auch noch zu vereinfachen oder habe ich mal wieder etwas übersehen?

Da logs manchmal mehr sagen als lange Erklärungen:
Ändert man das oben zu
brightness zigbee2mqtt/Kueche_Durchgang_A2/set {\"state\":\"on\",\"$EVTPART0\":\"$EVTPART1\"}kommt das hier raus:Client mosqsub/... received PUBLISH (d0, q0, r0, m0, 'zigbee2mqtt/Kueche_Durchgang_A1/set', ... (50 bytes))
{\"state\":\"on\",\"$EVTPART0\":\"$EVTPART1\"} 165
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 08 Oktober 2018, 08:48:48
Falls man in einer setList Zeile kein {} verwendet, dann werden alle Argumente des Befehls hinter dem spezifizierten topic als message geschrieben.
Ich habe Schwierigkeiten mir vorzustellen, wie das sinnvoll mit $EVENT zusammenspielen soll.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: MarkusN am 08 Oktober 2018, 09:29:10
Das sollte "eigentlich" kein Problem sein: Im Prinzip sollte sich der brightness-code entsprechend anpassen lassen (setList ergänzen, webCmd und widgetOverride). Da aber meine Bulbs keine Farbtemperatur kennen und schon gleich keine Farbe, kann ich das nicht testen. Bei der Farbtemperatur müßten dann einfach auch die Grenzwerte für den Colorpicker-Slider angepaßt werden.

Notfalls kannst du mir die Topics nennen, auf die das gesendet werden muß, und das "Schlüsselwort" für den JSON-Blob, dann kann ich das per "Fernwartung" versuchen. Ansonsten gerne das Ergebnis posten, dann kommt's für Nachahmer ins Wiki ;) .

Hier meine Definition, die ich mal um colortemp erweitert habe:

defmod ikea_flur_oben MQTT2_DEVICE
attr ikea_flur_oben IODev mqtt_server
attr ikea_flur_oben alias Licht Flur Oben
attr ikea_flur_oben eventMap on:ON off:OFF
attr ikea_flur_oben group group_licht
attr ikea_flur_oben icon light_control
attr ikea_flur_oben readingList zigbee2mqtt:zigbee2mqtt/ikea_flur_oben:.* { json2nameValue($EVENT) }
attr ikea_flur_oben room 110_Flur,23_MQTT
attr ikea_flur_oben setList on {'zigbee2mqtt/ikea_flur_oben/set {"state":"ON"}'}\
off {'zigbee2mqtt/ikea_flur_oben/set {"state":"OFF"}'}\
brightness {"zigbee2mqtt/ikea_flur_oben/set {\"$EVTPART0\":\"$EVTPART1\"}"}\
color_temp {"zigbee2mqtt/ikea_flur_oben/set {\"$EVTPART0\":\"$EVTPART1\"}"}
attr ikea_flur_oben webCmd brightness:on:off
attr ikea_flur_oben widgetOverride brightness:colorpicker,BRI,0,1,255 color_temp:colorpicker,CT,250,1,454

Die Range 250 - 454 bezieht sich auf die LED Panels, bei Gluehbirnen koennten diese Werte anders aussehen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 08 Oktober 2018, 09:42:55
Zitat
Ich habe Schwierigkeiten mir vorzustellen, wie das sinnvoll mit $EVENT zusammenspielen soll.
Ist mir doch was eingefallen: falls die Zeile $EV enthaelt, dann wird sie speziell behandelt: in diesem Fall wird $EVENT und $EVTPARTx ersetzt. d.h. "set md brightness 10" liefert mit
attr md setList brightness zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"on","$EVTPART0":"$EVTPART1"}die Topic/Message Kombination:zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"on","brightness":"10"}Gilt fuer setList und getList.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 08 Oktober 2018, 10:15:12
@rudolfkoenig:
Es geht mehr um $EVTPARTx, weniger um den ganzen $EVENT. Bisher kenne ich keinen sinnvollen anderen Weg, z.B. das eigentliche Reading in JSON-Blobs zu bekommen als über die Verwendung von $EVTPART1 usw..

Für das rename muß es z.B. auszugsweise so aussehen:
... rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\

@MarkusN
Danke für die Rückmeldung.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 08 Oktober 2018, 10:42:19
Zitat
Es geht mehr um $EVTPARTx, weniger um den ganzen $EVENT
Das klingt so, als ob Du noch was vermissen wuerdest.
Rename geht jetzt auch so:
rename zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 08 Oktober 2018, 10:48:37
(Sorry, der zwischenzeitliche Post von 9:42 ist mir durchgerutscht gewesen, so wie das in den letzten Posts von 9:42 und 10:42 Uhr geschildert ist, ist das super, jedenfalls vorläufig vermisse ich nichts)

Wow, also Verwenden von $EVTPARTx und auch noch ohne die Maskiererei!

Super Service!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 08 Oktober 2018, 18:21:33
So, letzter Stand der Dinge (svn-Version) ist am Start, das vereinfacht die setList usw. wirklich nochmal sehr:defmod IKEA_Bulb1 MQTT2_DEVICE
attr IKEA_Bulb1 IODev MQTT2_FHEM_Server
attr IKEA_Bulb1 devStateIcon {devStateIcon255($name)}
attr IKEA_Bulb1 eventMap on:ON off:OFF
attr IKEA_Bulb1 icon light_control
attr IKEA_Bulb1 readingList zigbee_pi:zigbee2mqtt/Kueche_Durchgang_A1:.* { json2nameValue($EVENT) }
attr IKEA_Bulb1 room Esszimmer
attr IKEA_Bulb1 setList on zigbee2mqtt/Kueche_Durchgang_A1/set {"state":"ON"}\
off zigbee2mqtt/Kueche_Durchgang_A1/set {"state":"OFF"}\
brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/Kueche_Durchgang_A1/set {"state":"ON","$EVTPART0":"$EVTPART1"}
attr IKEA_Bulb1 webCmd brightness
Nix mehr widgetoverride usw.
Den gekürzten Code habe ich gleich in's Wiki gepackt (funktioniert aber erst ab morgen bzw. mit der svn-Version).
Noch der devStateIcon-Code:##############################################
# $Id: myUtils_Color.pm 08-15 2018-10-08 18:31:44Z Beta-User $
#

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Color_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

sub devStateIcon255($) {
my $name = shift(@_);
return ".*:off:toggle" if( ReadingsVal($name,"state","ON") eq "OFF" );
my %dim_values = (
   0 => "dim06%",
   1 => "dim12%",
   2 => "dim18%",
   3 => "dim25%",
   4 => "dim31%",
   5 => "dim37%",
   6 => "dim43%",
   7 => "dim50%",
   8 => "dim56%",
   9 => "dim62%",
  10 => "dim68%",
  11 => "dim75%",
  12 => "dim81%",
  13 => "dim87%",
  14 => "dim93%",
);

my $pct = ReadingsVal($name,"brightness","255");
my $s = $dim_values{int($pct/18)};
$s="on" if( $pct > 253 );
return ".*:$s:off";
}

1;
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 10 Oktober 2018, 07:41:09
Das klingt so, als ob Du noch was vermissen wuerdest.
...vielleicht eine Sache noch, aber eher als Wunsch:
In den im Wiki verarbeiteten Fällen, gerade für $EVTPARTx, steht praktisch immer derselbe code, das einzige Unterscheidungsmerkmal ist vorne die set-Angabe. Vielleicht könnte man das noch "vereinfachen", also

attr <device> setList (on|off) zigbee2mqtt/Kueche_Durchgang_A1/set {"state":"$EVENT"}\
(brightness:colorpicker,BRI,0,15,255|color_temp:colorpicker,CT,250,1,454) zigbee2mqtt/Kueche_Durchgang_A1/set {"state":"ON","$EVTPART0":"$EVTPART1"}
Oder "setList .* ..."

Aber zugegeben: das ist dann schon ein nicht wirklich dringender Wunsch, das muß man ja nur einmal einrichten, dass war es schon... So ist es schon klasse, vielen Dank!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 10 Oktober 2018, 09:05:43
Danke fuers Nachdenken und Optimieren, aber ich werde diesen Vorschlag erstmal nicht realisieren, da:
- ist fuer Anfaenger (also Wiki-Benutzer) schwieriger zu verstehen. Aus pedagogischer Sicht ist vermutlich selbst die widgetOverride Variante besser, da man auf einmal weniger verstehen muss.
- ist relativ viel Programmierlogik erforderlich
- das Verwenden von | kollidiert evtl. mit irgendwelchen widget-Parametern

Es sei denn, es gibt andere Anwendungsfaelle, die diese Nachteile ueberwiegen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Badflex am 11 Oktober 2018, 20:52:33
Hallo,
Kann es sein das die router/repeater Funktion mit mqtt2 nicht geht?
Wenn die Lampen dicht am stick sind gehen sie bei mir einwandfrei. Sobald ich sie an den ursprünglichen Ort bringe geht nur noch eine. Eine andere ist nur 2 Meter daneben und sie geht nicht mehr.

Bei dem mqtt1 Server gingen sie alle 3.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 11 Oktober 2018, 20:57:58
Unwahrscheinlich.
Die Verwaltung der zigbee-Geräte erfolgt durch den zigbee2mqtt-Dienst (kkoenk's Java-Code), und der wird nicht geändert, weil ein anderer Broker eingesetzt wird.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Badflex am 12 Oktober 2018, 18:36:58
Mhh, komisch .
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 12 Oktober 2018, 18:52:47
Kann nur spekulieren: zigbee ist zwar irgendwie mesh, aber nach meiner Kenntnis nicht "self-healing". Vielleicht könntest du mal testen, ob sich der link reparieren lässt, wenn du erst entpairst, dann an der Zielstelle einbaust und dann neu pairst?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Badflex am 12 Oktober 2018, 18:58:25
Entpairen? 6 mal an und aus oder gibt's da noch ne andere möglichkeit.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 12 Oktober 2018, 19:00:49
Könnte auch mit dem "remove" gehen. Kann grad aber nicht testen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 28 Oktober 2018, 21:08:04
Frage:
ich möchte Zigbee, Snips und demnächst noch die Steuerung der GW60 per MQTT einbinden.
Kann ich irgendwie diese 3 Sachen über einen MQTT-Server laufen lassen?
Irgendwie finde ich da keine gescheiten Info dazu.

Wenn ich SnipsMQTT und das MQTT für Zigbee anschalte, wechseln die im Sekundentakt jeweils von connected auf disconnected und umgedreht.

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 28 Oktober 2018, 21:18:01
An sich sollte es kein größeres Thema sein, mehrere Clients von MQTT2-Server versorgen zu lassen.

Ich selbst habe drei Dinge über einen Server am laufen (Sidoh-Bridge für MiLights, zigbee2mqtt und eine ir-bridge). Das läuft stressfrei, aber insgesamt sind es auch kaum Datenmengen, die da zusammenkommen...

Wenn du Probleme damit haben solltest, bitte einen separaten thread dazu aufmachen; hilfreich finde ich es immer, den Verkehr zur Problemanalyse erst mal mitzuhören. Dazu verwende ich mosquitto_sub, das kann auch mit MQTT2-Server.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 29 Oktober 2018, 10:22:07
Zitat
Wenn ich SnipsMQTT und das MQTT für Zigbee anschalte, wechseln die im Sekundentakt jeweils von connected auf disconnected und umgedreht.
Da das hier ein "MQTT2" Thema ist, und ich unsicher bin: treten diese Probleme mit dem MQTT2_SERVER auf?
Wenn ja, bitte ein "attr mqtt2_server verbose 5" Log hier anhaengen, sonst waere ich fuer eine Klarstellung dankbar.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: netbus am 29 Oktober 2018, 15:22:04
weiß jemand was es mit dem graphviz auf sich hat?
anscheinend kann man sich eine Network Map zeichnen lassen, aber wie?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 29 Oktober 2018, 15:45:23
weiß jemand was es mit dem graphviz auf sich hat?
anscheinend kann man sich eine Network Map zeichnen lassen, aber wie?
Dazu gab's neulich einen Beitrag in dem xiaomi-Thread. Sollte mit.MQTT2 eigentlich genauso gehen wie da beschrieben.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: netbus am 30 Oktober 2018, 15:46:22
Dazu gab's neulich einen Beitrag in dem xiaomi-Thread. Sollte mit.MQTT2 eigentlich genauso gehen wie da beschrieben.
Hätte mittels Forumsuche nach graphviz gesucht aber keinen passenden Beitrag gefunden.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 30 Oktober 2018, 17:55:18
https://forum.fhem.de/index.php/topic,84790.msg848840.html#msg848840

Suchworte: xiaomi + Modul

Lag evtl. Auch an der forensuche - die sucht immer nur im derzeitigen subbereich, in dem man sich grad befindet...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 30 Oktober 2018, 21:57:44
Hätte mittels Forumsuche nach graphviz gesucht aber keinen passenden Beitrag gefunden.

Meinst du mein Post? https://forum.fhem.de/index.php/topic,84790.msg848840.html#msg848840

@Neuhier ich würde Snips lieber über einen eigenen Mosquitto Server laufen lassen und dafür kein MQTT2 verwenden, sry Beta-User. :) Aber in dem Fall...
Weil bei Snips alles über MQTT läuft, also sogar die Audio Dateien werden darüber übertragen und wenn du bzgl. Zigbee2mqtt/Fhem, was in der MQTT Console nachschauen willst, ist das kaum Möglich. Das sieht dann aus wie im Film die Matrix und Putty schmiert ab.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 30 Oktober 2018, 22:10:46
Zitat
@Neuhier ich würde Snips lieber über einen eigenen Mosquitto Server laufen lassen und dafür kein MQTT2 verwenden, sry Beta-User. :) Aber in dem Fall...
Weil bei Snips alles über MQTT läuft, also sogar die Audio Dateien...
...dann gebe ich dir recht...
Aber wie kommt man auf den Gedanken, ein Protokoll, das für "leichtgewichtige" Daten konzipiert ist, so zu vergewaltigen????
Was es nicht alles gibt...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 30 Oktober 2018, 22:39:34
...dann gebe ich dir recht...
Aber wie kommt man auf den Gedanken, ein Protokoll, das für "leichtgewichtige" Daten konzipiert ist, so zu vergewaltigen????
Was es nicht alles gibt...

Das weiß ich auch nicht, aber der MQTT Server hat es locker ausgehalten.
Ich habe Snips schon länger nicht mehr weiter verfolgt, weil damals etwas bestimmtes auf armv8 nicht lief und es dadurch für mich unbrauchbar wurde. :(
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 31 Oktober 2018, 08:22:03
So, MQTT deinstalliert, MQTT2 drauf.
MQTT_FHEM_Server
Internals:
   CONNECTS   121
   DEF        1883 192.168.78.24
   FD         45
   NAME       MQTT2_FHEM_Server
   NR         259
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2018-10-31 08:16:27   RETAIN          {"zigbee2mqtt/bridge/state":"offline"}
     2018-10-31 08:16:27   nrclients       0
     2018-10-31 08:02:29   state           Initialized
   clients:
   retain:
     zigbee2mqtt/bridge/state:
       ts         1540970187.48039
       val        offline
Attributes:
   room       MQTT2_DEVICE
   verbose    5

MQTT2_DEVICE
Internals:
   CID        zig_pi
   DEF        zig_pi
   DEVICETOPIC zig_pi
   IODev      MQTT2_FHEM_Server
   NAME       zig_pi
   NR         260
   STATE      devicelist
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-10-31 08:01:53   state           devicelist
Attributes:
   IODev      MQTT2_FHEM_Server
   room       MQTT2_DEVICE
   setList    permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1\
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1\
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1\
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1\
devicelist:noArg zigbee2mqtt/bridge/config/devices

In der configuration.yaml
homeassistant: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'MQTT://192.168.78.24'
  client_id: 'zig_pi'
serial:
  port: /dev/ttyACM1
devices:

Ich bekomme keine Verbindung hin.
Der Stick ging aber mit MQTT, sammelte fleißig Daten.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: netbus am 31 Oktober 2018, 08:31:08
In der configuration.yaml
homeassistant: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'MQTT://192.168.78.24'
  client_id: 'zig_pi'
serial:
  port: /dev/ttyACM1
devices:
homeassistant: true? gehört auf false
server: 'MQTT://192.168.78.24' / sofern fhem und zigbee2mqtt auf dem selben Rechner laufen geht auch  server: 'mqtt://localhost
port: /dev/ttyACM1 wirklich auf 1?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Oktober 2018, 08:35:47
MQTT2-Server steht auf global?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 31 Oktober 2018, 08:42:42
Danke.
Es ist noch ein HM-Modul am RPi, welches den ttyACM=0 belegt.
Daher hat der Stick die 1 bekommen.

Änderung homeassistant = false ergibt keine Änderung.
Ebenso localhost statt der IP.

Schon mehrere Möglichkeiten durchgespielt, keine Verbindung.
Irgendwo hatte ich was mit einem Bug gelesen, der verhindert, daß autocreate im MQTT2 greift.
Könnte das damit zusammenhängen?
Finde den Beitrag nun nicht mehr.

Nachtrag: "MQTT2-Server steht auf global?" ??????
Wie mache ich das?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 31 Oktober 2018, 09:04:26
Zitat
Nachtrag: "MQTT2-Server steht auf global?"
Wie mache ich das?
Per modify, bei der Definition global anhaengen.
Bewirkt, dass auch Verbindungen von anderen Rechnern akzeptiert werden.
Ist genau wie bei FHEMWEB und telnet.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 31 Oktober 2018, 09:18:02
Das kam bei der Einrichtung, da erschien der MQTT2 mit bei WEB und wollte ein Passwort.
Also ist er global eingetragen?

Eben mal in die *.yaml geschaut: da sind jetzt 3 Devices drin, aber nicht der Stick.
Da ich die schon in MQTT mal hatte, kann ich sogar zuordnen, welches wo steckt.
Der Stick empfängt also, aber er erscheint nicht als Device.

Eben mal FHEM rebootet, das erscheint im Log ZigBee2mqtt:
2018-10-31 09:25:14 - info: Logging to directory: '/opt/zigbee2mqtt/data/log/2018-10-31.09-25-14'
2018-10-31 09:25:16 - info: Starting zigbee2mqtt version 0.1.8 (commit #97cc56b)
2018-10-31 09:25:16 - info: Starting zigbee-shepherd
2018-10-31 09:25:17 - info: zigbee-shepherd started
2018-10-31 09:25:17 - info: Coordinator firmware version: '20180507'
2018-10-31 09:25:17 - info: Currently 4 devices are joined:
2018-10-31 09:25:17 - info: 0x00158d0001d38978 (0x00158d0001d38978): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
2018-10-31 09:25:17 - info: 0x00158d0001d6d089 (0x00158d0001d6d089): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
2018-10-31 09:25:17 - info: 0x00158d0001d6bdd2 (0x00158d0001d6bdd2): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
2018-10-31 09:25:17 - info: unknown (0x00158d0001d3887b): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
2018-10-31 09:25:17 - warn: `permit_join` set to  `true` in configuration.yaml.
2018-10-31 09:25:17 - warn: Allowing new devices to join.
2018-10-31 09:25:17 - warn: Set `permit_join` to `false` once you joined all devices.
2018-10-31 09:25:17 - info: Zigbee: allowing new devices to join.
2018-10-31 09:25:17 - info: Connecting to MQTT server at mqtt://127.0.0.1
2018-10-31 09:25:17 - info: zigbee-shepherd ready
2018-10-31 09:25:27 - error: Not connected to MQTT server!
2018-10-31 09:25:37 - error: Not connected to MQTT server!
2018-10-31 09:25:47 - error: Not connected to MQTT server!
2018-10-31 09:25:57 - error: Not connected to MQTT server!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: netbus am 31 Oktober 2018, 10:12:07
fhem und zigbee2mqtt laufen auf dem selben Device?
laut deiner Config ist dein mqtt server nicht global.
mach mal
defmod MQTT2_FHEM_Server MQTT2_SERVER 1883 global
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Oktober 2018, 11:57:40
Hmm, würde das Problem bei einer localhost-config dann entweder bei der Port-nr oder den user/pw-Einstellungen (allowed) vermuten.
Paßt das alles zueinander?

Btw: zigbee2mqtt vergisst keine Devices. Was mal in der Liste steht, bleibt auch da, es sei denn, man löscht es...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 31 Oktober 2018, 23:00:01
Der RPi beheimatet FHEM und das MQTT2.
Das mit global ist eingetragen.
Devices in der *.yaml gelöscht, zigbee2mqtt rebootet.

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Oktober 2018, 23:06:50
Ich verstehe zwar nicht, warum es sinnvoll sein sollte, Devices aus der yaml zu löschen, aber Interessen würde mich unabhängig davon schon, ob user/password gesetzt sind?
Wenn ja: gibt es eine passende allowed-Instanz?

Die Frage einfach kommentarlos zu übergehen dürfte jedenfalls nicht zielführend sein ::) .
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 31 Oktober 2018, 23:21:32
Äh, wo finde ich das ?  :-[
Bei allowed finde ich das hier:defmod allowed_WEB allowed
attr allowed_WEB basicAuth SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
attr allowed_WEB validFor MQTT2_FHEM_Server,WEB

setstate allowed_WEB validFor:MQTT2_FHEM_Server,WEB
setstate allowed_WEB 2018-10-31 23:02:45 state validFor:MQTT2_FHEM_Server,WEB
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Oktober 2018, 23:29:28
Und in der yaml sind dann user u. pw entsprechend gesetzt?!?
Das muss zusammen passen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 31 Oktober 2018, 23:36:03
 :-[ :-[ :-[
Wie muß das da rein ?
Hatte ja oben schonmal die *.yaml gepostet, da ist nix mit User und PWD drin.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Oktober 2018, 23:43:34
Bitte dazu die doku von zigbee2mqtt zu Rate ziehen oder den MQTT2-Server erst mal aus allowed löschen (kann aber unerwünschte Nebenwirkungen haben, insbesondere, wenn du noch andere MQTT-Clients hast, die die Autorisierung nutzen)...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 31 Oktober 2018, 23:51:49
Ok, mache ich.
Nebenbei ist mir aufgefallen, daß die state.json die aktuellen Daten hat.
Es sind alle 4 Sensoren drin, mit Kennung und Daten.
Ebenso werden der Stick und die Sensoren in der database.db aufgelistet.
Hatte ich heute morgen schonmal gelöscht, sind wieder drin.

Mache morgen weiter, keine Konzentration mehr.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 01 November 2018, 22:49:42
So, mal weiter im Text.
Im Log taucht das auf:
Nov 01 22:43:17 RPi3 systemd[1]: Started zigbee2mqtt.
Nov 01 22:43:20 RPi3 npm[15186]: > zigbee2mqtt@0.1.8 start /opt/zigbee2mqtt
Nov 01 22:43:20 RPi3 npm[15186]: > node index.js
Nov 01 22:43:21 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:21 Logging to directory: '/opt/zigbee2mqtt/data/log/2018-11-01.22-43-21'
Nov 01 22:43:23 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:23 Starting zigbee2mqtt version 0.1.8 (commit #97cc56b)
Nov 01 22:43:23 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:23 Starting zigbee-shepherd
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 zigbee-shepherd started
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 Coordinator firmware version: '20180507'
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 Currently 4 devices are joined:
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 0x00158d0001d38978 (0x00158d0001d38978): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 0x00158d0001d6d089 (0x00158d0001d6d089): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 0x00158d0001d6bdd2 (0x00158d0001d6bdd2): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 unknown (0x00158d0001d3887b): WSDCGQ11LM - Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:warn 2018-11-1 22:43:24 `permit_join` set to  `true` in configuration.yaml.
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:warn 2018-11-1 22:43:24 Allowing new devices to join.
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:warn 2018-11-1 22:43:24 Set `permit_join` to `false` once you joined all devices.
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 Zigbee: allowing new devices to join.
Nov 01 22:43:24 RPi3 npm[15186]:   zigbee2mqtt:info 2018-11-1 22:43:24 Connecting to MQTT server at mqtt2_fhem_server://localhost
Nov 01 22:43:24 RPi3 npm[15186]: /opt/zigbee2mqtt/node_modules/q/q.js:155
Nov 01 22:43:24 RPi3 npm[15186]:                 throw e;
Nov 01 22:43:24 RPi3 npm[15186]:                 ^
Nov 01 22:43:24 RPi3 npm[15186]: Error: Missing protocol
Nov 01 22:43:24 RPi3 npm[15186]:     at Object.connect (/opt/zigbee2mqtt/node_modules/mqtt/lib/connect/index.js:64:13)
Nov 01 22:43:24 RPi3 npm[15186]:     at MQTT.connect (/opt/zigbee2mqtt/lib/mqtt.js:38:28)
Nov 01 22:43:24 RPi3 npm[15186]:     at zigbee.start (/opt/zigbee2mqtt/lib/controller.js:79:31)
Nov 01 22:43:24 RPi3 npm[15186]:     at shepherd.start (/opt/zigbee2mqtt/lib/zigbee.js:59:17)
Nov 01 22:43:24 RPi3 npm[15186]:     at /opt/zigbee2mqtt/node_modules/q/q.js:2055:17
Nov 01 22:43:24 RPi3 npm[15186]:     at runSingle (/opt/zigbee2mqtt/node_modules/q/q.js:137:13)
Nov 01 22:43:24 RPi3 npm[15186]:     at flush (/opt/zigbee2mqtt/node_modules/q/q.js:125:13)
Nov 01 22:43:24 RPi3 npm[15186]:     at process._tickCallback (internal/process/next_tick.js:61:11)
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR! code ELIFECYCLE
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR! errno 1
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR! zigbee2mqtt@0.1.8 start: `node index.js`
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR! Exit status 1
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR!
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR! Failed at the zigbee2mqtt@0.1.8 start script.
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR! A complete log of this run can be found in:
Nov 01 22:43:24 RPi3 npm[15186]: npm ERR!     /root/.npm/_logs/2018-11-01T21_43_24_531Z-debug.log
Nov 01 22:43:24 RPi3 systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
Nov 01 22:43:24 RPi3 systemd[1]: zigbee2mqtt.service: Unit entered failed state.
Nov 01 22:43:24 RPi3 systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
Nov 01 22:43:24 RPi3 systemd[1]: zigbee2mqtt.service: Service hold-off time over, scheduling restart.
Nov 01 22:43:24 RPi3 systemd[1]: Stopped zigbee2mqtt.

Kann jemand damit was anfangen?
Kein Protokoll und die Markierung unter throw e kann ich nicht interpretieren.
Ebenso, wieso der die Sensoren sieht, den Stick auch, aber dann Ende Gelände.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 01 November 2018, 23:07:44
Klingt für mich immer noch nach einem Problem in der Kommunikation zwischen dem zigbee2mqtt-Dienst und dem Server.
Ist das ein aktuelles Raspbian oder was älteres?

(Das Passwort-Thema hast du ja gelöst, oder? Wie? Also aus allowed gelöscht oder die yaml ergänzt?)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 01 November 2018, 23:12:53
Yaml um user und password ergänzt.
Nebenbei festgestellt, daß es darin localhost heißen muß, nix mit IP.
RPi läuft mit Stretch.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 01 November 2018, 23:20:36
Steht dazu was im fhem-log?

Am Rande noch:
Ich habe das verteilt, also einen eigenen pi für zigbee am laufen (ich will mittelfristig das java loswerden) und dabei auch testweise mit IP und lokalem fhem gearbeitet. Ging auch... Allerdings habe ich bislang kein user/pw dafür gesetzt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 01 November 2018, 23:32:16
Im Log taucht nix auf.
Gestern hatte ich wenigstens mal den Stick in den Readings des Servers.  :(
Nach den Anpassungen ist dort nix mehr davon zu sehen.
zigbee2mqtt/bridge oder so stand da dabei.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 01 November 2018, 23:40:23
Das ist komisch.
Du hast bestimmt fhem auch zwischenzeitlich mal neu gestartet, oder?
Taucht beim Start irgendwas seltsames auf?

Die yaml war lokal bearbeitet? Also nicht von Windo.* her übertragen?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 01 November 2018, 23:49:45
FHEM mehrmals rebootet, zumal ich ja MQTT vorher entfernt hatte.
Danach erst MQTT2 angefangen.
Auch beim Start kommt nix Auffälliges im Log.
Nichtmal im Event-Monitor.

Linux-Dateien bearbeite ich immer mit Notepad++.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 02 November 2018, 08:41:53
Ich empfehle den MQTT2_SERVER in FHEM mit mosquitto_pub/mosquitto_sub zu testen, um das Problem zu lokalisieren. Am besten von dem Rechner aus, wo zigbee2mqtt laeuft. Die Fehlermeldungen sind einfacher zu interpretieren, und eine Korrektur geht auch schneller. Beide startet man am besten in einem separaten Terminal. Erst:% mosquitto_sub  -h fhem_server_name -v -t #dann im zweiten Terminal% mosquitto_pub -h fhem_server_name -t testTopic -m testMessage Im ersten Fenster sollte "testTopic testMessage" erscheinen. Auch Benutzername (-u) und Passwort (-P) kann man so testen.
Danach muss man die zigbee2mqtt Konfiguration angleichen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 02 November 2018, 10:19:55
Klingt auch für mich nach wie vor nach einem Problem auf der zigbee2mqtt-Seite.

Die Rechte auf der yaml passen?

(Zu editieren verwende ich am liebsten mcedit aus dem mc-Package; das funktioniert auch über ssh sehr gut und man vermeidet Probleme an dieser Stelle, selbst wenn gg. notepad++ nix einzuwenden ist.)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 02 November 2018, 16:50:04
Zur Info:
Es scheint noch jemand zu geben, der ähnliche Probleme hat, omega im xiaomi-modul-thread. Evtl. ist einfach nur die SW kaputt? K.A., wie man die Vorversion testen kann...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 02 November 2018, 17:14:45
Ergänze bitte testweise die yaml mit einer port-angabe.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 02 November 2018, 21:40:38
Also, in der Yaml sieht es so aus:
homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt2_fhem_server://localhost:1883'
  client_id: zigbee_pi
  user: xxx
  password: xxxxxxxxxx
  include_device_information: true
serial:
  port: /dev/ttyACM1
devices:

List vom MQTT2_DEVICE:
Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   DEVICETOPIC mqtt2_zigbee_pi
   IODev      mqtt2_fhem_server
   NAME       mqtt2_zigbee_pi
   NR         258
   STATE      permit_join
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-11-02 00:17:25   state           permit_join
Attributes:
   IODev      mqtt2_fhem_server
   room       MQTT2
   setList    permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1
devicelist:noArg zigbee2mqtt/bridge/config/devices

Inhalt vom Server:
Internals:
   DEF        1883 global
   FD         45
   NAME       mqtt2_fhem_server
   NR         257
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2018-11-02 00:18:49   nrclients       0
     2018-11-02 00:18:49   state           Initialized
   clients:
   retain:
Attributes:
   autocreate 1
   room       MQTT2
   verbose    5

In der Database sind sowohl die Sensoren, als auch ein "Coordinator", was ja der Stick ist.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 02 November 2018, 22:14:57
Nachtrag: Schei**e, wenn man doof ist und es nicht merkt.
Es muß in der Yaml wirklich nur mqtt://localhost:1883 heißen.
Nicht den Schnickschnack, den ich veranstaltet habe.
Nach Änderung in mqtt, Reboot zigbee2mqtt + FHEM, bekomme ich jetzt im Log das hier:
2018.11.02 22:10:51 4: Connection accepted from mqtt2_fhem_server_127.0.0.1_51020
2018.11.02 22:10:51 4: mqtt2_fhem_server_127.0.0.1_51020 zigbee_pi CONNECT V:4 keepAlive:60 LWT:zigbee2mqtt/bridge/state:offline usr:xxx
2018.11.02 22:10:51 5: mqtt2_fhem_server: dispatch autocreate:zigbee_pi:zigbee2mqtt/bridge/state:offline
2018.11.02 22:10:51 4: Connection closed for mqtt2_fhem_server_127.0.0.1_51020: EOF
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 02 November 2018, 22:28:09
Puh, dann sind wir also einen großen Schritt weiter.

Bleibt die Frage, warum da was von offline steht. Würde fürs erste für den Pfad zum stick by-id verwenden; könnte sonst sein, dass sich fhem und zigbee2mqtt sonst in die Quere kommen (initialUsbCheck deaktivieren!)...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 02 November 2018, 22:32:18
Für Bruchteile von Sekunden ist online zu sehen, aber kommt nicht im Log und bleibt auch nicht online.
mqtt2_fhem_server_MSGCNT 110 : steht im Stick.
Also ist die Verbindung immer wieder mal da.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 02 November 2018, 22:39:36
Geht denn ein geht devicelist? (Es müsste ein MQTT2-Device angelegt worden sein, das du wie im wiki beschrieben erweitern kannst)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 02 November 2018, 22:46:04
Nix.
Experimentiere noch mit dem by-id.
Habe das für den Stick rausbekommen:
usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0012022DF5-if00 -> ../../ttyACM1
In der Yaml eingetragen:
serial:
   port: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0012022DF5-if00-ttyACM1
Keine Verbindung mehr, ständig offline. Log bleibt leer, es kommt nix mehr dazu.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 02 November 2018, 22:54:17
Nach ...if00 darf nix mehr kommen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 02 November 2018, 23:05:06
OK, kommt wieder offline im Log, alle 5 sek.
Also kein Unterschied zu /dev/ttyACM1.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 02 November 2018, 23:17:27
Gut. Und was ist usb-mäßig auf der fhem-Seite eingestellt?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 03 November 2018, 22:12:20
Der Stick, 2 Sduino.
Oder wie meinst Du das?
Der Stick ist per by-id eingerichtet und auch nach dem Reboot Alles beim Alten.

Stunden und Tage später........
Hatte ja das in der Yaml: include_device_information: trueAuskommentiert, rebootet und ....
Rennt wie Tier !

Danke nochmals an Alle, die mir dabei geholfen haben. (Y)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 04 November 2018, 23:52:50
https://forum.fhem.de/index.php/topic,84790.msg854025.html#msg854025

Link zu Xiaomi / Aqara mit MQTT2.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 05 November 2018, 06:52:02
Der link ersetzt aber nicht die drei Liste, um die Behauptung zu belegen, dass fälschlicherweise bei mehreren aquara nur die Daten von einem ankommen, und zwar bei allen...

Dann wäre noch eine info hilfreich, wie die devices angelegt worden sind (copy?) und ob fhem dazwischen neu gestartet wurde. (Dazu gab es hier schon Hinweise, dass dieses Verhalten nach einem reload des -device-Moduls bzw Neustart von fhem dann OK ist und man die clone mit raw anlegen sollte, um es von vornherein zu vermeiden...)

Aber wie immer gilt: ohne qualifizierte Info kann man schlecht helfen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 05 November 2018, 08:40:10
Welche Listen genau brauchst Du?
configuration.yaml
homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://localhost'
  client_id: zigbee_pi
  user: xxx
  password: xxxxxxxx
  lwm: online
serial:
  port: >-
    /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124xxxx2022DF5-if00
devices:
  '0x00158d0001d38978':
    friendly_name: '0x00158d0001d38978'
    retain: false
  '0x00158d0001d6bdd2':
    friendly_name: '0x00158d0001d6bdd2'
    retain: false
  '0x00158d0001d6d089':
    friendly_name: '0x00158d0001d6d089'
    retain: false
  '0x00158d0001d3887b':
    friendly_name: '0x00158d0001d3887b'
    retain: false

List mqtt2_fhem_server
Internals:
   CONNECTS   3
   DEF        1883 global
   FD         46
   NAME       mqtt2_fhem_server
   NR         257
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2018-11-04 23:38:26   RETAIN          {"zigbee2mqtt/bridge/state":"online"}
     2018-11-04 23:38:26   nrclients       1
     2018-11-04 22:01:15   state           Initialized
   clients:
     mqtt2_fhem_server_127.0.0.1_55064 1
   retain:
     zigbee2mqtt/bridge/state:
       ts         1541371106.67213
       val        online
Attributes:
   autocreate 1
   room       MQTT2

List mqtt2_fhem_server_127.0.0.1_55064
Internals:
   AuthenticatedBy allowed_WEB
   AuthenticatedUser xxx
   BUF       
   FD         43
   NAME       mqtt2_fhem_server_127.0.0.1_55064
   NR         522
   PEER       127.0.0.1
   PORT       55064
   SNAME      mqtt2_fhem_server
   SSL       
   STATE      Connected
   TEMPORARY  1
   TYPE       MQTT2_SERVER
   WBCallback
   cflags     230
   cid        zigbee_pi
   keepalive  60
   lastMsgTime 1541403020.59488
   lwt        zigbee2mqtt/bridge/state:offline
   protoNum   4
   protoTxt   MQTT
   usr        xxx
   READINGS:
     2018-11-04 23:38:26   state           Connected
   subscriptions:
     zigbee2mqtt/+/+/set 1541371106.69976
     zigbee2mqtt/+/set 1541371106.69926
     zigbee2mqtt/bridge/config/+ 1541371106.70002
     zigbee2mqtt/bridge/networkmap 1541371106.70044
Attributes:
   room       hidden

List mqtt2_device ( nur 1 Sensor rausgesucht):
Internals:
   DEVICETOPIC 0x00158d0001d6bdd2
   IODev      mqtt2_fhem_server
   LASTInputDev mqtt2_fhem_server
   MSGCNT     75
   NAME       0x00158d0001d6bdd2
   NR         261
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt2_fhem_server_MSGCNT 75
   mqtt2_fhem_server_TIME 2018-11-05 08:14:04
   READINGS:
     2018-11-05 08:14:03   battery         23.00
     2018-11-05 08:14:03   device_friendlyName 0x00158d0001d6bdd2
     2018-11-05 08:14:03   device_ieeeAddr 0x00158d0001d6bdd2
     2018-11-05 08:14:03   device_manufId  4151
     2018-11-05 08:14:03   device_manufName LUMI
     2018-11-05 08:14:03   device_modelId  lumi.weather
     2018-11-05 08:14:03   device_nwkAddr  15003
     2018-11-05 08:14:03   device_powerSource Battery
     2018-11-05 08:14:03   device_status   online
     2018-11-05 08:14:03   device_type     EndDevice
     2018-11-05 08:14:03   humidity        50.06
     2018-11-05 08:14:03   linkquality     76
     2018-11-05 08:14:03   pressure        991.1
     2018-11-05 08:14:03   temperature     21.88
     2018-11-05 08:14:03   voltage         2945
Attributes:
   IODev      mqtt2_fhem_server
   alias      AqaraK
   event-min-interval 300
   model      WSDCGQ11LM
   readingList zigbee_pi:zigbee2mqtt/0x00158d0001d6bdd2:.* { json2nameValue($EVENT) }
   room       MQTT2

List zigbee_pi
Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   DEVICETOPIC zigbee_pi
   IODev      mqtt2_fhem_server
   LASTInputDev mqtt2_fhem_server
   MSGCNT     326
   NAME       zigbee_pi
   NR         258
   STATE      online
   TYPE       MQTT2_DEVICE
   mqtt2_fhem_server_MSGCNT 326
   mqtt2_fhem_server_TIME 2018-11-05 08:33:45
   READINGS:
     2018-11-05 08:33:45   battery         42.00
     2018-11-05 08:33:45   device_friendlyName 0x00158d0001d38978
     2018-11-05 08:33:45   device_ieeeAddr 0x00158d0001d38978
     2018-11-05 08:33:45   device_manufId  4151
     2018-11-05 08:33:45   device_manufName LUMI
     2018-11-05 08:33:45   device_modelId  lumi.weather
     2018-11-05 08:33:45   device_nwkAddr  9284
     2018-11-05 08:33:45   device_powerSource Battery
     2018-11-05 08:33:45   device_status   online
     2018-11-05 08:33:45   device_type     EndDevice
     2018-11-05 08:33:45   humidity        47.36
     2018-11-05 08:33:45   linkquality     44
     2018-11-04 22:00:31   message         device incoming
     2018-11-04 21:40:40   message_1_friendly_name 0x00158d0001d38978
     2018-11-04 21:40:40   message_1_ieeeAddr 0x00158d0001d38978
     2018-11-04 21:40:40   message_1_model WSDCGQ11LM
     2018-11-04 21:40:40   message_1_type  EndDevice
     2018-11-04 21:40:40   message_2_friendly_name 0x00158d0001d6d089
     2018-11-04 21:40:40   message_2_ieeeAddr 0x00158d0001d6d089
     2018-11-04 21:40:40   message_2_model WSDCGQ11LM
     2018-11-04 21:40:40   message_2_type  EndDevice
     2018-11-04 21:40:40   message_3_friendly_name 0x00158d0001d6bdd2
     2018-11-04 21:40:40   message_3_ieeeAddr 0x00158d0001d6bdd2
     2018-11-04 21:40:40   message_3_model WSDCGQ11LM
     2018-11-04 21:40:40   message_3_type  EndDevice
     2018-11-04 21:40:40   message_4_friendly_name 0x00158d0001d3887b
     2018-11-04 21:40:40   message_4_ieeeAddr 0x00158d0001d3887b
     2018-11-04 21:40:40   message_4_model WSDCGQ11LM
     2018-11-04 21:40:40   message_4_type  EndDevice
     2018-11-05 08:33:45   pressure        991
     2018-11-04 23:38:26   state           online
     2018-11-05 08:33:45   temperature     23.97
     2018-11-04 22:00:31   type            pairing
     2018-11-05 08:33:45   voltage         2985
Attributes:
   IODev      mqtt2_fhem_server
   event-min-interval 300
   model      CC2531
   readingList zigbee_pi:zigbee2mqtt/bridge/state:.* state
zigbee_pi:zigbee2mqtt/0x00158d0001d38978:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/0x00158d0001d6d089:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/0x00158d0001d6bdd2:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/0x00158d0001d3887b:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/bridge/log:.* { json2nameValue($EVENT) }
   room       MQTT2
   setList    permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1
devicelist:noArg zigbee2mqtt/bridge/config/devices

Man sieht am 2018-11-04 21:40:40 alle Devices, die zu dem Zeitpunkt eingelesen wurden.
Aber die Werte mit aktuellerem Timestamp, sind die von dem
2018-11-05 08:33:45   device_friendlyName 0x00158d0001d38978

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 05 November 2018, 08:50:33
Es ging um die lists von den einzelnen Sensoren. Da müssen eben die 4 verschiedenen Id's drin stehen, aber eben jeweils nur eine.

Dass in dem Groß-Device immer nur z.B. eine Temperatur drin steht (jeweils die letzte übermittelte) ist klar - dafür ist das Device, das bei dir zigbee_pi heißt nicht da, das benötigt man nur für admin-Aufgaben an der java-Komponente (wie allow-new oder rename).

Hättest du die Einzeldevices über raw oder mit copy erstellt? Wenn copy: reload durchgeführt?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 05 November 2018, 17:10:40
Ich habe ein bridgeRegexp Attribut eingebaut, um automatisch abgeleitete MQTT2_DEVICE Instanzen zu erzeugen.
Da ich kein zigbee2mqtt zum testen habe, bin ich ueber Feedback dankbar.

Commandref Eintrag
Zitat
bridgeRegexp <regexp> newClientId ...
      Used to automatically redirect some types of topics to different
      MQTT2_DEVICE instances. The regexp is checked against the
      clientid:topic:message and topic:message. The newClientId is a perl
      expression!. Example:
        attr zigbee2mqtt bridgeRegexp zigbee2mqtt/0x00158d0001([^:]*):.* "zigbee_$1"
      will create different MQTT2_DEVICE instances for different hex numbers in
      the topic. Note: the newClientId is enclosed in "", as it is a perl
      expression, should be unique, and the automatically created device will
     be created also with this name.

      Multiple tuples of <regexp> newClientId are separated by newline.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 05 November 2018, 17:39:27
Super Sache!

Habe mich nicht recht getraut, danach zu fragen, das ist aber eine sehr hilfreiche Sache (IMO)!

Kann leider grade nicht testen, aber das mach ich dann gerne und date auch das wiki dann ab (es sei denn, es findet sich schneller ein Freiwilliger :D ).

Danke!

Bzw: zum testen würde genauso gut ein esp8266 mit sidoh-bridge gehen (ohne physische MiLight-Bulbs). Da passiert im Prinzip dasselbe...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 05 November 2018, 18:11:19
Ich will auch noch ein Template-Mechanismus einbauen, was je nach "set device model XXX" einen Satz an setLists (und evtl. Attribute) erzeugt, dafuer brauche ich aber Hilfe, indem jemand mir von unterschiedlichen Modellen eine funktionierende Konfiguration zeigt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 05 November 2018, 18:42:24
Finde ich gut mit dem teplate. Dürfte v.a. für Kaufdevices (zigbee) hilfreich sein.
Für die nur dimmbaren steht es im wiki. Gut wäre noch eines mit colortemp und die Luxusvariante mit hue.

Für reine Sensoren bin ich unschlüssig, aber da gibt es auch einige Modelle, bei denen das xiaomimqtt-Modul wohl manches an Attributen bereitstellt.

Für z.b. die Sidoh-Bridge eher schwierig, da man da auch die Bridge passend konfigurieren muss (die zurückzumeldenden Infos wie level statt brightness).

In dem java-code von kkoenk ist auch einiges an infos,.was welches zigbee-Device an Daten mag bzw. liefert.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 11 November 2018, 22:32:29
Hiho,

erstmal Hut ab. Funktioniert wirklich super und deutlich besser als mit dem Modul von Oskar.

Einziges Problem scheint momentan zu sein, dass die Lampen mit Farbwechsel die Farben entweder als hash mit r: xx, g: xx, y:xx oder aber als color-x: xx color-y: xx benötigen. Und dementsprechend muss noch konvertiert werden, da mit dem einfachen übergeben vom RGB Wert aus FHEM nicht viel los ist. Ich hab mir das damals ins Modul von Oskar selber eingebaut, keine Ahnung, ob das Anpassbar ist... :-/ Vielleicht hilft es ja. Hier meine entsprechende Anpassung vom Modul von Oskar:

if( $command eq "rgb" && $value =~ m/^(..)(..)(..)/) {
                my( $r, $g, $b ) = (hex($1)/255.0, hex($2)/255.0, hex($3)/255.0);

                my %color_hash = (r => $r, g => $g, b => $b);
                my %set_hash = ('transition' => 3, 'color' => \%color_hash);

                send_publish($hash->{IODev}, topic => XiaomiMQTT::DEVICE::GetTopicFor($hash) . "/set", message => encode_json({"state" => "ON"}), qos => $qos, retain => $retain) if($command eq "brightness");
                $msgid = send_publish($hash->{IODev}, topic => XiaomiMQTT::DEVICE::GetTopicFor($hash) . "/set", message => encode_json(\%set_hash), qos => $qos, retain => $retain);
        }

Könnte man nicht die Eigenschaften eines Geräts als attribute hinterlegen wenn Typ der Bridge zigbee2mqtt ist? Sowas wie dimmable, color, color_temp capable etc?

Nur ne naive Idee... Bin gerne bereit zum testen, aber halt kein Perl Guru... Hab mich mit der Anpassung von Oskars Modul auch ne Weile rum geplagt, bis es soweit war, wie es jetzt ist...

Lg
Arne
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 11 November 2018, 22:46:23
Das sollte m.E. recht einfach zu implementieren sein: jedenfalls in den vorhergehenden Tests war hinten Perlcode, und ein RGB-colorpicker würde auch einen RGB-Wert als $EVTPART1 (?) liefern. Die Berechnung in eine myUtils-sub und der zurückgelieferte Json-Code sollte versendet werden. Als userReading noch einen RGB-Wert abgeleitet, und fertig ist die Laube...

Sicherheitshalber: hue-Wert direkt geht nicht?

Ansonsten würde es mich nicht wundern, wenn es bald eine entsprechende Erweiterung für color gäbe... (Meine sidoh-Bridge liefert auch nur diese doofen gesplitteten rgb-Werte zurück...)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 11 November 2018, 22:52:56
Das sollte m.E. recht einfach zu implementieren sein: jedenfalls in den vorhergehenden Tests war hinten Perlcode, und ein RGB-colorpicker würde auch einen RGB-Wert als $EVTPART1 (?) liefern. Die Berechnung in eine myUtils-sub und der zurückgelieferte Json-Code sollte versendet werden. Als userReading noch einen RGB-Wert abgeleitet, und fertig ist die Laube...

Sicherheitshalber: hue-Wert direkt geht nicht?

Ansonsten würde es mich nicht wundern, wenn es bald eine entsprechende Erweiterung für color gäbe... (Meine sidoh-Bridge liefert auch nur diese doofen gesplitteten rgb-Werte zurück...)

Huch, das ging aber schnell... Wie würde ich denn einen hue Wert übergeben bzw. bekomme ihn aus FHEM raus? Dann teste ich das gleich...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 11 November 2018, 22:57:02
Den brightness-slider als Vorlage nehmen und dann mal im Wiki zu color nachsehen, wie ein hue-Slider da zu definieren wäre. Wertebereich kann ich dir leider nicht sagen, aber evtl. weis da jemand schon was?
Ggf. mit großer größer werdender Bandbreite austesten. Topic ist vermutlich hue.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 12 November 2018, 09:53:06
Zitat
Könnte man nicht die Eigenschaften eines Geräts als attribute hinterlegen wenn Typ der Bridge zigbee2mqtt ist? Sowas wie dimmable, color, color_temp capable etc?
Gerne, bei mir laeuft das unter dem Namen "Template".
Damit ich ein verwendares Konzept bauen kann, brauche ich Beispiele einer kompletten Definition (define + attr) mit Modellbezeichnung und Anwendungszenario (letzteres weil ein Schalter als Lampen-/Pumpen-/Rolladen-Schalter verwendet werden kann), und raw Events, damit ich die Templates testen kann. raw Events kann man im Event-Monitor verfolgen, wenn man fuer MQTT2_SERVER oder MQTT2_CLIENT das Attribut rawEvents gesetzt hat.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 12 November 2018, 23:52:24
Hiho,

ich hab jetzt im mqtt2_client rawevents auf den Bewegungsmelder aktiviert. Glaub ich zumindest ;-) Das sind jetzt die Events für den Bewegungsmelder "RTCGQ11LM" von Xiaomi. Gerät heißt GB_Bewegungsmelder.
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 battery: 99.00
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 linkquality: 0
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 voltage: 3005
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 illuminance: 15
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 occupancy: false
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 illuminance: 15
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 occupancy: true
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 voltage: 3005
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 battery: 99.00
2018-11-12 23:28:36 MQTT2_DEVICE GB_Bewegungsmelder_MQTT2 linkquality: 0

Und das "Device" GB_Bewegungsmelder sieht so aus:
defmod GB_Bewegungsmelder_MQTT2 MQTT2_DEVICE zigbee_158d0001f9d030
attr GB_Bewegungsmelder_MQTT2 IODev mqtt2_client
attr GB_Bewegungsmelder_MQTT2 devStateIcon motion:motion_detector@red off:motion_detector@green no_motion:motion_detector@green
attr GB_Bewegungsmelder_MQTT2 icon motion_detector@blue
attr GB_Bewegungsmelder_MQTT2 readingList mqtt2client:zigbee2mqtt/GB_Bewegungsmelder:.* { json2nameValue($EVENT) }
attr GB_Bewegungsmelder_MQTT2 room MQTT2_DEVICE
attr GB_Bewegungsmelder_MQTT2 stateFormat {\
if(ReadingsVal("$name","occupancy",0) eq "true") {\
sprintf("motion");;\
} else {\
sprintf("no_motion");; \
}\
}

setstate GB_Bewegungsmelder_MQTT2 motion
setstate GB_Bewegungsmelder_MQTT2 2018-11-12 23:31:49 battery 99.00
setstate GB_Bewegungsmelder_MQTT2 2018-11-12 23:31:49 illuminance 2
setstate GB_Bewegungsmelder_MQTT2 2018-11-12 23:31:49 linkquality 2
setstate GB_Bewegungsmelder_MQTT2 2018-11-12 23:31:49 occupancy true
setstate GB_Bewegungsmelder_MQTT2 2018-11-12 23:31:49 voltage 3005

Mein Mqtt2_client device sieht folgendermaßen aus:
defmod mqtt2_client MQTT2_CLIENT 192.168.2.4:1883
attr mqtt2_client autocreate 1
attr mqtt2_client rawEvents zigbee2mqtt/GB_Bewegungsmelder:.*
attr mqtt2_client room test
attr mqtt2_client subscriptions #

setstate mqtt2_client opened
setstate mqtt2_client 2018-11-12 20:06:27 state opened


Grundsätzlich kann ich die Infos für folgende Geräte liefern:

Xiaomi Bewegungsmelder - RTCGQ11LM
Xiaomi Rauchmelder - JTYJ-GD-01LM/BW
Xiaomi Temperatur-, Luftfeuchte-, Helligkeitssensor - WSDCGQ01LM
Xiaomi "Water leakage sensor" - SJCGQ11LM
Xiaomi "Schalter" - WXKG03LM
Xiaomi Temperatur-, Luftfeuchte-, Helligkeitssensor - WSDCGQ11LM
Xiaomi "Würfel" - 0x656275635f726f736e65732e696d756c
Hue Lightstripe 1. Generation      7299355PH
Hue Lightstripe Plus akt. Generation - 915005106701
Hue Bulb 1. Generation  9290012573A
Hue Dimmer Switch     324131092621
Hue Spot GU10 1. Gen  8718696485880
INNR RB165 (Bulb)
Osram Lightify Bulb - AC03641
Ikea Tradfri E14 "Kerze" - LED1649C5
Ikea Tradfri E27 (Farbwechsel, etc.) - LED1624G9

Die Geräte hab ich aktuell alle über XiamiMQTTDevice eingebunden und von Hand mit Attributen versehen. Der Farbwechsel ging aber nur (wie weiter oben schon beschrieben) durch Quellcode fummeln ;-)

Lg,
Arne

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 13 November 2018, 10:25:05
V.a. @rudolfkoenig:
Nach etwas Recherche wegen dieser Farb-Sache sieht es so aus, als wäre der direkte Weg mit hue nicht möglich, dagegen scheint der Austausch mit einem Array der drei rgb-Werte verbreitet zu sein - vermutlich braucht ioBroker das so.
Daher folgender Ansatz zur Diskussion:
json2nameValue() erweitern, dass es diese Konstellation erkennt und dann ggf. direkt in dem in FHEM üblichen HEX-Format zurückgibt.
In color eine Slider-Option einbauen, die den rgb-Wert als json-Array liefert.

Wenn das vom Konzept her passt, kann ich gerne versuchen, entsprechende patches zu liefern (vielleicht gleich mit dem devStateIcon-Code für brightness im 255-er Format). (Schon klar, dass pah (?) als maintainer für color das letztlich insoweit entscheiden muss).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: hexenmeister am 13 November 2018, 11:03:01
json2nameValue ist eine allgemeingültige Funktion. So eine Umwandlung wäre da fehlt am Platz. Dafür sollte eine neue Funktion implementiert und verwendet werden.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 13 November 2018, 11:16:39
Dass das eine allgemeingültige Funktion betrifft, ist schon klar.
Allerdings wäre Voraussetzung, dass genau so ein json-Array als input vorliegt (3 Werte innerhalb einer geschweiften Klammer mit "r", " g" und "b" als Kennung. Sollte kaum Verwechslungsgefahr bestehen.

Man könnte das aber auch innerhalb des ...-Device-Moduls lösen (z.b. einschaltbar via attr.). Ein userReading hat halt den Nachteil, dass der Zeitstempel nicht passt, und daher ggf. Farbe angenommen wird, obwohl white-Modus angesagt wäre... Daher Oberhaupt dieser Ansatz.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: hexenmeister am 13 November 2018, 11:19:54
Auch in das Modul gehört es nicht hin. Zu speziell. Ggf. muss man auch ein unveränderten Wert bekommen können. Wofür auch immer. Daher einfach eine andere (neue) parse Methode.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 13 November 2018, 11:29:31
Alternative: entsprechender neuer Parameter für die Funktion?
.....,"toRGB"). Dann hätte es der user in der Hand und man bräuchte nichts extra.

Klar ist es speziell, aber eben auch nicht völlig exotisch.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: hexenmeister am 13 November 2018, 11:35:22
Alternative: entsprechender neuer Parameter für die Funktion?
.....,"toRGB"). Dann hätte es der user in der Hand und man bräuchte nichts extra.

Klar ist es speziell, aber eben auch nicht völlig exotisch.
Auch nicht viel besser. Dann kommt sicher bald ein weiteres Modul mit eigenem Spezifika. Wie viele Parameter dann noch spendieren?
Und doch auch völlig exotisch, da nur ein Anwendungsfall von Tausenden von anderen Möglichen ;)

Einfach eine neue Methode "json2vameValueSpecialForTheMyGreatSomeThingWithRGB" erstellen und verwenden. Sauber, einfach und verständlich für jeden ;)

P.S. Diese Methode wird sicher auch in anderen Modulen verwendet, die Auswirkungen des Einbaus einer Sonderlocke wären schwer abzusehen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 13 November 2018, 12:41:09
Ich werde diesen Teil (empfangsseitig) mit einem notify lösen, da kann ich dann gleich auch white_mode-Events von den MiLight-Devices mit verwursteln.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 13 November 2018, 12:43:36
@akr1983: Vielen Dank!
Kannst du noch bitte beschreiben, welche topics/messages das Geraet fuer Farbwechsel erwartet, da ich keine Fehler durchs Code-Lesen verewigen will.

Zitat
Der Farbwechsel ging aber nur (wie weiter oben schon beschrieben) durch Quellcode fummeln ;-)
Ich empfehle solche Probleme mit cmdalias zu loesen, dann ist der Stress mit dem update kleiner.
Zitat
Einfach eine neue Methode "json2vameValueSpecialForTheMyGreatSomeThingWithRGB" erstellen und verwenden. Sauber, einfach und verständlich für jeden
Bin ich auch dafuer, obwohl ich einen etwas kuerzeren Namen praeferieren wuerde :)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: hexenmeister am 13 November 2018, 12:46:25
Namen sind Schal und Rauch ;D
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 13 November 2018, 21:34:34
@akr1983: Vielen Dank!
Kannst du noch bitte beschreiben, welche topics/messages das Geraet fuer Farbwechsel erwartet, da ich keine Fehler durchs Code-Lesen verewigen will.
Ich empfehle solche Probleme mit cmdalias zu loesen, dann ist der Stress mit dem update kleiner.Bin ich auch dafuer, obwohl ich einen etwas kuerzeren Namen praeferieren wuerde :)

Hier das Logfile vom Zigbee2mqtt für einen Farbwechsel von "weiß" auf RGB #1100FF
2018-11-13 20:30:21 - info: Zigbee publish to '0x0017880100f08887', lightingColorCtrl - moveToColor - {"colorx":9043.83,"colory":2686.935,"transtime":30} - {"manufSpec":0,"disDefaultRsp":0} - null
2018-11-13 20:30:22 - info: MQTT publish, topic: 'zigbee2mqtt/Kueche_Licht_Spot', payload: '{"state":"ON","brightness":254,"color_temp":153,"color":{"x":0.308,"y":0.301}}'
2018-11-13 20:30:23 - info: MQTT publish, topic: 'zigbee2mqtt/Kueche_Licht_Spot', payload: '{"state":"ON","brightness":254,"color_temp":153,"color":{"x":0.274,"y":0.301}}'
2018-11-13 20:30:23 - info: MQTT publish, topic: 'zigbee2mqtt/Kueche_Licht_Spot', payload: '{"state":"ON","brightness":254,"color_temp":153,"color":{"x":0.274,"y":0.236}}'
2018-11-13 20:30:24 - info: MQTT publish, topic: 'zigbee2mqtt/Kueche_Licht_Spot', payload: '{"state":"ON","brightness":254,"color_temp":153,"color":{"x":0.217,"y":0.236}}'
2018-11-13 20:30:24 - info: MQTT publish, topic: 'zigbee2mqtt/Kueche_Licht_Spot', payload: '{"state":"ON","brightness":254,"color_temp":153,"color":{"x":0.217,"y":0.131}}'
2018-11-13 20:30:25 - info: MQTT publish, topic: 'zigbee2mqtt/Kueche_Licht_Spot', payload: '{"state":"ON","brightness":254,"color_temp":153,"color":{"x":0.167,"y":0.131}}'
2018-11-13 20:30:25 - info: MQTT publish, topic: 'zigbee2mqtt/Kueche_Licht_Spot', payload: '{"state":"ON","brightness":254,"color_temp":153,"color":{"x":0.167,"y":0.04}}'


Als Payload im Topic zigbee2mqtt/Kueche_Licht_Spot/set steht dann folgendes:
{"color":{"r":0.0666666666666667,"g":0,"b":1},"transition":3}

Es sind eigentlich nur so viele verschiedene Logeinträge im Log von zigbee2mqtt, da er durch das "transition" einen schönen Farbwechsel macht. Das scheint aber von Zigbee2mqtt zu kommen.

Hier noch der Teil mit der Konvertierung von RGB zur Payload vom Set. Das hab ich mal irgendwo gefunden. Die Transition kann man natürlich auch weg lassen:
my( $r, $g, $b ) = (hex($1)/255.0, hex($2)/255.0, hex($3)/255.0);
my %color_hash = (r => $r, g => $g, b => $b);
my %set_hash = ('transition' => 3, 'color' => \%color_hash);
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Tabularasa am 16 November 2018, 20:48:34
Hallo. Habe hierhttps://forum.fhem.de/index.php/topic,84790.msg859149.html#msg859149 (https://forum.fhem.de/index.php/topic,84790.msg859149.html#msg859149) schonmal was geschrieben. Kann es sein daß es mit MQTT2 nicht läuft? Danke

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 18 November 2018, 00:27:39
Wie schon angedeutet und gerade hier angekuendigt (https://forum.fhem.de/index.php?topic=93370), habe ich ein Template-Machanismus implementiert.

Ich waere dankbar, wenn jemand meine Umsetzung der Wiki-Beispiele kontrolliert, und auch, wenn man neue Template-Eintraege mir zukommen laesst.

Zum Testen am besten eine eigene Datei in FHEM/lib/AttrTemplate anlegen, Beispiele fuer was z.Zt. moeglich ist, sind in  mqtt2.template zu sehen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 18 November 2018, 17:45:15
Wie schon angedeutet und gerade hier angekuendigt (https://forum.fhem.de/index.php?topic=93370), habe ich ein Template-Machanismus implementiert.

Könntest du bei dem Template bei den Zigbee2mqtt Bulbs noch ein "eventMap on:ON:off off:OFF:on" mit einbauen?
Weil ohne eventMap lassen sich diese sonst nicht ausschalten:

zigbee2mqtt/0x90fd9ffffe0e11b3/set {"state":"ON"}
zigbee2mqtt/0x90fd9ffffe0e11b3 {"state":"ON","brightness":180,"color_temp":381}

zigbee2mqtt/0x90fd9ffffe0e11b3/set {"state":"ON"}
zigbee2mqtt/0x90fd9ffffe0e11b3 {"state":"ON","brightness":180,"color_temp":381}

zigbee2mqtt/0x90fd9ffffe0e11b3/set {"state":"ON"}
zigbee2mqtt/0x90fd9ffffe0e11b3 {"state":"ON","brightness":180,"color_temp":381}

Ansonsten klappt das super und man kann die Lampe jetzt auch gedimmt einschalten lassen, das ging mit dem alten MQTT vorher nicht. Damit kann ich endlich mein Lichtwecker umsetzen.  :)
Ich habe es mit MQTT2_Client umgesetzt und mit einer LED1546G12 von Ikea, brightness und color_temp geht auch.


Viele Grüße
Mark
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: hexenmeister am 18 November 2018, 17:50:38
Zitat
Ansonsten klappt das super und man kann die Lampe jetzt auch gedimmt einschalten lassen, das ging mit dem alten MQTT vorher nicht.
MQTT ist nur der Vermittler. Alles was mit neuer Version geht, ging auch mit der alten.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 18 November 2018, 20:06:13
MQTT ist nur der Vermittler. Alles was mit neuer Version geht, ging auch mit der alten.
Ja das ist schon klar, nur das durch die neuen MQTT2 Module das Device fast fertig einrichtet wird.

Mit zigbee2mqtt und MQTT Modul habe ich das damals nicht hinbekommen die Ikea Birne gedimmt einzuschalten, weil er mir immer zuviele "" in den MQTT Befehl reingesetzt hat. Du hattest das Modul übernommen und seit dem hatte ich es nicht noch mal neu getestet...
Ich weiß also nicht woran das lag, an zigbee2mqtt Modul, MQTT Modul oder ob das Problem vor dem Bildschirm saß, aber ist jetzt auch wurscht. :)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: hexenmeister am 18 November 2018, 20:10:00
Das ist schon richtig. Hauptsache es läuft.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 18 November 2018, 21:06:59
Zitat
Könntest du bei dem Template bei den Zigbee2mqtt Bulbs noch ein "eventMap on:ON:off off:OFF:on" mit einbauen?
Das muss irgendwie anders zu loesen sein, wenn ich das Setze, dann kriege ich das angehaengte Bild: "set XX  OFF on" ist fuer mich unverstaendlich, ich habe eventMap auch deswegen zunaechst entfernt. Ohne kann ich ein und ausschalten:2018.11.18 19:05:25 5: mq: PUBLISH zigbee2mqtt/kueche/set {"state":"OFF"}
2018.11.18 19:05:36 5: mq: PUBLISH zigbee2mqtt/kueche/set {"state":"ON"}


Zitat
MQTT ist nur der Vermittler. Alles was mit neuer Version geht, ging auch mit der alten.
Das wuerde ich auch nicht bezweifeln, die Frage ist, was man mit einem bestimmten Wissenstand eher konfiguriert kriegt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: hexenmeister am 18 November 2018, 21:20:43
Das wuerde ich auch nicht bezweifeln, die Frage ist, was man mit einem bestimmten Wissenstand eher konfiguriert kriegt.
Sehe ich ein. Und weil die alten Module schon etwas kryptisch waren, habe ich das Modul MQTT_GENERIC_BRIDGE implementiert. Jetzt auch mit MQTT2.* einsetzbar 8)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 20 November 2018, 00:40:37
Hiho,

gab es seit gestern eine wichtige Änderung bei MQTT2_client? Hab heute sehr viel an meinem System gedreht und jetzt horcht mein MQTT2_Client device nicht mehr. Auch ein löschen des Client Devices gab keinen Erfolg... per Autocreate gibt es auch kein neues device mehr.

defmod mqtt2_client MQTT2_CLIENT 192.168.2.4:1883
attr mqtt2_client autocreate 1
attr mqtt2_client room MQTT2_DEVICE
attr mqtt2_client subscriptions #

setstate mqtt2_client opened
setstate mqtt2_client 2018-11-20 00:37:07 state opened

Zusätzlich bekomm ich im MQTT Log jetzt immer die folgende Meldung:
2018-11-19T23:37:37.474026342Z 1542670657: Socket error on client <unknown>, disconnecting.
2018-11-19T23:37:37.530962719Z 1542670657: New connection from 172.18.0.1 on port 1883.

Ein setzen der ClientID macht leider auch keinen Unterschied... Ich hoffe, da ist nur ein Fehler beim Update passiert. Aktuell tut das MQTT2_Client device nämlich gar nix mehr...
Und Weibchen wird ungeduldig, weil das Licht nicht mehr automatisch angeht ;-)



Kurz was anderes, ich hab mal ein paar weitere Definitionen in die mqtt2.template eingebaut:
name:zigbee2mqtt_bulb
filter:TYPE=MQTT2_DEVICE
par:NAMEINTHEBRIDGE;name of this device in the bridge;{ AttrVal("DEVICE","readingList","") =~ m,zigbee2mqtt/(.*):, ? $1 : undef }
attr DEVICE icon hue_filled_living_whites
attr DEVICE stateFormat {sprintf(lc ReadingsVal("$name","state",0))}
attr DEVICE devStateIcon {devStateIcon255($name)}
attr DEVICE setList \
  on:noArg zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"ON"}\
  off:noArg zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"OFF"}\
  brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"on","$EVTPART0":"$EVTPART1"}

name:zigbee2mqtt_colorbulb
filter:TYPE=MQTT2_DEVICE
par:NAMEINTHEBRIDGE;name of this device in the bridge;{ AttrVal("DEVICE","readingList","") =~ m,zigbee2mqtt/(.*):, ? $1 : undef }
attr DEVICE icon hue_filled_white_and_color_e27_b22
attr DEVICE stateFormat {sprintf(lc ReadingsVal("$name","state",0))}
attr DEVICE devStateIcon {devStateIcon255($name)}
attr DEVICE webCmd toggle:on:off:brightness:color:color_temp
attr DEVICE setList \
  on:noArg zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"ON"}\
  off:noArg zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"OFF"}\
  brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"on","$EVTPART0":"$EVTPART1"}\
  color_temp:colorpicker,CT,250,1,454 zigbee2mqtt/NAMEINTHEBRIDGE/set {"$EVTPART0":"$EVTPART1"}\
  color:colorpicker,RGB {"zigbee2mqtt/NAMEINTHEBRIDGE/set " . encode_json(convertRGBtoR_G_B($EVTPART1))}

name:zigbee2mqtt_colorbulb_withoutColorTemp
filter:TYPE=MQTT2_DEVICE
par:NAMEINTHEBRIDGE;name of this device in the bridge;{ AttrVal("DEVICE","readingList","") =~ m,zigbee2mqtt/(.*):, ? $1 : undef }
attr DEVICE icon hue_filled_white_and_color_e27_b22
attr DEVICE stateFormat {sprintf(lc ReadingsVal("$name","state",0))}
attr DEVICE devStateIcon {devStateIcon255($name)}
attr DEVICE webCmd toggle:on:off:brightness:color
attr DEVICE setList \
  on:noArg zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"ON"}\
  off:noArg zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"OFF"}\
  brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"on","$EVTPART0":"$EVTPART1"}\
  color:colorpicker,RGB {"zigbee2mqtt/NAMEINTHEBRIDGE/set " . encode_json(convertRGBtoR_G_B($EVTPART1))}

name:zigbee2mqtt_smoke_detector
filter:TYPE=MQTT2_DEVICE
par:NAMEINTHEBRIDGE;name of this device in the bridge;{ AttrVal("DEVICE","readingList","") =~ m,zigbee2mqtt/(.*):, ? $1 : undef }
attr DEVICE icon secur_smoke_detector
attr DEVICE stateFormat smoke

Wenn mein Modul wieder läuft, würde ich auch templates für den Water_leakage Sensor machen sowie für die Temperatur und humidity Sensoren...

Lg
Arne
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 20 November 2018, 07:42:34
Zitat
gab es seit gestern eine wichtige Änderung bei MQTT2_client?
Die letzten Aenderungen waren am 15 und 16.11, und dabei wurde die interne Schnittstelle zwischen MQTT2_DEVICE und MQTT2_CLIENT/SERVER umgebaut, damit MQTT_GENERIC_BRIDGE mehr Optionen hat. Weiterhin wird beim FHEM shutdown/etc ein DISCONNECT gesendet, und man kann mit msgBeforeDisconnect/msgAfterConnect zusaetzliche Meldungen versenden.

Die erwaehnten Fehler sollten nicht aus den Aenderungen stammen.
Kannst du bitte Folgendes testen:
- was steht im FHEM Log bei einem "attr mqtt2_client verbose 5"
- funktioniert es mit der letzten MQTT2_CLIENT Version (Achtung, du musst auch MQTT2_DEVICE zurueckrollen)
- was war die letzte MQTT2_CLIENT Version?

Prinzipiell sollte MQTT2_CLIENT funktionieren, ich habe seitdem viele Tests damit durchgefuehrt
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 20 November 2018, 08:00:42
Guten morgen,

verbose 5 ist gesetzt, allerdings werd ich aus dem Log nicht schlau. Steht genau "nix" drin.

"2018-11-20 07:57:30" "mqtt2_client" "MQTT2_CLIENT" "DISCONNECTED" "state" "DISCONNECTED" ""
"2018-11-20 07:57:30" "mqtt2_client" "MQTT2_CLIENT" "CONNECTED" "state" "CONNECTED" ""
"2018-11-20 07:57:08" "mqtt2_client" "MQTT2_CLIENT" "DISCONNECTED" "state" "DISCONNECTED" ""
"2018-11-20 07:57:08" "mqtt2_client" "MQTT2_CLIENT" "CONNECTED" "state" "CONNECTED" ""

Ich benutz übrigens DBLog, also nicht über die Formatierung wundern.

Ich hab zusätzlich noch das Modul MQTT_Broker im Einsatz. Das tut weiterhin seinen Dienst. :-/

Hier noch ein Auszug beim Senden im Log:
2018.11.20 08:14:16 5: mqtt2_client: sending PUBLISH zigbee2mqtt/Kueche_Licht_Arbeitsplatte/set {"state":"OFF"}
2018.11.20 08:14:16 1: 192.168.2.4:1883 disconnected, waiting to reappear (mqtt2_client)
2018.11.20 08:14:16 5: HttpUtils url=http://192.168.2.4:1883/
2018.11.20 08:14:16 1: 192.168.2.4:1883 reappeared (mqtt2_client)

Lg
Arne
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 20 November 2018, 10:38:14
Gehen beide Verbindungen zum gleichen Server?

Evtl. hat mosquitto eine spezielle Logik, ich musste in MQTT2_SERVER auch Sonderlogik einbauen, wenn vom gleichen IP mit gleichen clientId zwei Verbindungen hergestellt sind, da manche MQTT-Clients da (mAn) sich komisch verhalten.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 20 November 2018, 18:00:06
Das muss irgendwie anders zu loesen sein, wenn ich das Setze, dann kriege ich das angehaengte Bild: "set XX  OFF on" ist fuer mich unverstaendlich, ich habe eventMap auch deswegen zunaechst entfernt. Ohne kann ich ein und ausschalten:2018.11.18 19:05:25 5: mq: PUBLISH zigbee2mqtt/kueche/set {"state":"OFF"}
2018.11.18 19:05:36 5: mq: PUBLISH zigbee2mqtt/kueche/set {"state":"ON"}

Das wuerde ich auch nicht bezweifeln, die Frage ist, was man mit einem bestimmten Wissenstand eher konfiguriert kriegt.
Das ist komisch, bei mir ist das genau anders herum. :D Ich habe das eventMap noch mal gelöscht, aber dann lässt sie sich wie oben nicht mehr ausschalten und das DevStateIcon ist auch verschwunden.
Das muss wohl an der Groß/Kleinschrift vom STATE von ON/on:OFF/on liegen:

Setzte ich ein... kommt untere Fehlermeldung:
set MQTT2_zigbee_90fd9ffffe0e11b3 OFF
Unknown argument OFF, choose one of on off brightness color_temp blink on-till off-till toggle on-till-overnight off-till-overnight intervals on-for-timer off-for-timer attrTemplate

set MQTT2_zigbee_90fd9ffffe0e11b3 offDamit gehts...

Hier noch ein List:

Internals:
   CFGFN     
   CID        zigbee_90fd9ffffe0e11b3
   DEF        zigbee_90fd9ffffe0e11b3
   DEVICETOPIC MQTT2_zigbee_90fd9ffffe0e11b3
   IODev      mqtt2_client
   LASTInputDev mqtt2_client
   MSGCNT     43
   NAME       MQTT2_zigbee_90fd9ffffe0e11b3
   NR         711
   STATE      ON
   TYPE       MQTT2_DEVICE
   mqtt2_client_MSGCNT 43
   mqtt2_client_TIME 2018-11-20 17:54:47
   READINGS:
     2018-11-20 17:54:47   brightness      195
     2018-11-20 17:54:47   color_temp      381
     2018-11-20 17:54:47   state           ON
Attributes:
   DbLogExclude .*
   IODev      mqtt2_client
   eventMap   on:ON:off off:OFF:on
   icon       light_control
   readingList zigbee2mqtt/0x90fd9ffffe0e11b3:.* { json2nameValue($EVENT) }
   room       habridge,MQTT2_DEVICE
   setList    on:noArg zigbee2mqtt/0x90fd9ffffe0e11b3/set {"state":"ON"}
  off:noArg zigbee2mqtt/0x90fd9ffffe0e11b3/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/0x90fd9ffffe0e11b3/set {"state":"on","$EVTPART0":"$EVTPART1"}
  color_temp:colorpicker,CT,250,1,454 zigbee2mqtt/0x90fd9ffffe0e11b3/set {"$EVTPART0":"$EVTPART1"}
   webCmd     brightness:color_temp
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 20 November 2018, 18:56:37
Gehen beide Verbindungen zum gleichen Server?

Evtl. hat mosquitto eine spezielle Logik, ich musste in MQTT2_SERVER auch Sonderlogik einbauen, wenn vom gleichen IP mit gleichen clientId zwei Verbindungen hergestellt sind, da manche MQTT-Clients da (mAn) sich komisch verhalten.

Jupp, beide Verbindungen gehen zum gleichen Server. Ich werde jetzt zum letzten Backup zurückgehen und gucken, ob der Fehler nochmal auftritt. Du hast jetzt ja die Templates implementiert, wofür ich dich küssen könnte! Da geht das alles viel einfacher ;-)

Und trotzdem danke! :-)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 21 November 2018, 00:37:36
Gehen beide Verbindungen zum gleichen Server?

Evtl. hat mosquitto eine spezielle Logik, ich musste in MQTT2_SERVER auch Sonderlogik einbauen, wenn vom gleichen IP mit gleichen clientId zwei Verbindungen hergestellt sind, da manche MQTT-Clients da (mAn) sich komisch verhalten.

Ich hab den Fehler gefunden... Ich hab meine Devices umbenannt. Also z.B.
rename MQTT2_zigbee_WZ_Licht_Blumenbank WZ_Licht_Blumenbank
Das hab ich gemacht, damit die Devices auf die "alten" notify reagieren, da ich ja vom Xiaomi Modul gewechselt hab. Es funktioniert auch einwandfrei, bis ich FHEM neustarte. Danach sind die Devices ohne Funktion und absurderweise gibt es dann die MQTT Disconnect Meldung... Kann ich wunderbar reproduzieren.

Lg
Arne
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 22 November 2018, 10:36:28
Zitat
Kurz was anderes, ich hab mal ein paar weitere Definitionen in die mqtt2.template eingebaut:
Habe die beiden Eintraege ohne Pruefung uebernommen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 22 November 2018, 11:14:23
@mark79: bitte die Listings demnaechst mit "list -r" oder "Raw definition" Link unten in der Detailansicht erstellen, sonst muss ich fuers Nachstellen anfangen zu editieren und ich will Arbeit sparen und Vertipper vermeiden.

Sonst: ich bleibe bei meiner Aussage: mit dem eventMap ist nicht nur die Anzeige kaputt, es wird auch was kaputtes per publish zum MQTT Server weitergegeben. Auch von der "Theorie" her macht dieses Eventmap keinen Sinn. Wuerde mich freuen, wenn jemand mir zeigt, wo das Problem ist. Bzgl. ON/on: Das ist so gewollt, und sollte funktionieren. Ich habe fuer ON/OFF Icon-Alias angelegt, damit man fuer die Icons das lowercase sparen kann.

@akr1983: ich habe jetzt eine Weile mit mosquitto und ein FHEM mit MQTT2_CLIENT und MQTT gespielt, kann aber kein Problem feststellen. Ein rename setzt zwar interne Datenstrukturen um, sollte aber nichts bewirken. Bei einem gerade durchgefuehrten Test mit MQTT_CLIENT/mosquitto, habe ich kein Unterschied gesehen, d.h. ich vermute, die Ursache ist was Anderes, was mir noch unbekannt ist.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ranseyer am 22 November 2018, 17:24:37
Ich müsste auch mal etwas fragen:

-Zigbee Geräte laufen mit dem Neumann-Modul einwandfrei bei mir.
-Aber unnötige Komponenten versuche ich immer zu vermeiden (Wo die Node.JS Sachen m.E am schlimmsten sind, also zigbee2mqtt geht eigentlich gar nicht...)
-Außerdem möchte ich offen bleiben und NodeRed nutzen können z.B. als Frontend

Also war die Idee den MQTT2Server möglichst zu meiden und einen Standard Broker zu verwenden.
Frage: Ich könnte trotzdem den internen MQTT2_Server und diesen ggf. auch später mal mit Node-Red zusammen verwenden ?

Status:

Meine Client-ID vom zigbee 2mqtt: client_id: zigbee_odroid
Zigbee2MQTT ist so konfiguriert dass direkt auf den MQTT2_FHEM_Server zugegriffen wird.

Dann habe ich ein Device MQTT2_Zentral
Internals:
   CID        MQTT2_FHEM_Server
   DEF        MQTT2_FHEM_Server
   DEVICETOPIC MQTT2_Zentral
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_Zentral
   NR         63
   STATE      permit_join
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-11-22 15:55:17   state           permit_join
Attributes:
   IODev      MQTT2_FHEM_Server
   room       TRX
   setList    permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1
devicelist:noArg zigbee2mqtt/bridge/config/devices

Automatisch wurde angelegt (allerdigs recht unklar welches Devices was macht, also habe ich seitens Zigbee2Mqtt einen Friendly Name vergeben um duchgängig zu sein. In die Readings übernomen wurden die Friendly Name allerdings nicht, "deleteattr MQTT2_zigbee_odroid readingList" hat auch nix gebracht. Daher habe ich dieses Device einfach nochmals gelöscht, es wurde erst nach einem FHEM Neustart wieder angelegt):
Internals:
   CFGFN     
   CID        zigbee_odroid
   DEF        zigbee_odroid
   DEVICETOPIC MQTT2_zigbee_odroid
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 11
   MQTT2_FHEM_Server_TIME 2018-11-22 16:14:35
   MSGCNT     11
   NAME       MQTT2_zigbee_odroid
   NR         63
   STATE      OFF
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-11-22 16:14:35   action          wakeup
     2018-11-22 16:14:35   battery         55
     2018-11-22 16:13:56   contact         false
     2018-11-22 16:13:56   illuminance     3
     2018-11-22 16:14:35   linkquality     147
     2018-11-22 16:15:21   message_1_friendly_name Cube1_0x00158d000279119c
     2018-11-22 16:15:21   message_1_ieeeAddr 0x00158d000279119c
     2018-11-22 16:15:21   message_1_model MFKZQ01LM
     2018-11-22 16:15:21   message_1_type  EndDevice
     2018-11-22 16:15:21   message_2_friendly_name SW_Gyro_0x00158d0001b9734b
     2018-11-22 16:15:21   message_2_ieeeAddr 0x00158d0001b9734b
     2018-11-22 16:15:21   message_2_model WXKG12LM
     2018-11-22 16:15:21   message_2_type  EndDevice
     2018-11-22 16:15:21   message_3_friendly_name PIR_0x00158d000236cd80
     2018-11-22 16:15:21   message_3_ieeeAddr 0x00158d000236cd80
     2018-11-22 16:15:21   message_3_model RTCGQ11LM
     2018-11-22 16:15:21   message_3_type  EndDevice
     2018-11-22 16:15:21   message_4_friendly_name Vibr_0x00158d0002a920f4
     2018-11-22 16:15:21   message_4_ieeeAddr 0x00158d0002a920f4
     2018-11-22 16:15:21   message_4_model DJT11LM
     2018-11-22 16:15:21   message_4_type  EndDevice
     2018-11-22 16:15:21   message_5_friendly_name Window_0x00158d00023867d8
     2018-11-22 16:15:21   message_5_ieeeAddr 0x00158d00023867d8
     2018-11-22 16:15:21   message_5_model MCCGQ11LM
     2018-11-22 16:15:21   message_5_type  EndDevice
     2018-11-22 16:15:21   message_6_friendly_name 0x00158d00027a43e4
     2018-11-22 16:15:21   message_6_ieeeAddr 0x00158d00027a43e4
     2018-11-22 16:15:21   message_6_model 0x656275635f726f736e65732e696d756c
     2018-11-22 16:15:21   message_6_type  EndDevice
     2018-11-22 16:15:21   message_7_friendly_name Osram1_0x84182600000f14a2
     2018-11-22 16:15:21   message_7_ieeeAddr 0x84182600000f14a2
     2018-11-22 16:15:21   message_7_model AB3257001NJ
     2018-11-22 16:15:21   message_7_type  Router
     2018-11-22 16:15:21   message_8_friendly_name Osram2_0x84182600000f23d7
     2018-11-22 16:15:21   message_8_ieeeAddr 0x84182600000f23d7
     2018-11-22 16:15:21   message_8_model AB3257001NJ
     2018-11-22 16:15:21   message_8_type  Router
     2018-11-22 16:13:56   occupancy       false
     2018-11-22 16:14:01   state           OFF
     2018-11-22 16:15:21   type            devices
     2018-11-22 16:14:35   voltage         2995
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList zigbee_odroid:zigbee2mqtt/bridge/state:.* state
zigbee_odroid:zigbee2mqtt/Cube1_0x00158d000279119c:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/SW_Gyro_0x00158d0001b9734b:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/PIR_0x00158d000236cd80:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/Window_0x00158d00023867d8:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/Osram1_0x84182600000f14a2:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/Osram2_0x84182600000f23d7:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/bridge/log:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

Fazit: Das Neumann Modul scheint mir für den Anfang einfacher. Hiermit vermute ich später mal mehr machen zu können... Ob mein FHEM-Wissen dazu reicht: ???, schon die Attribute setzen für ein paar billige Devices ist für mich ganz schon komplex (Die Muster aus dem Wiki)


Frage: Das "vereinzeln" habe ich nicht ganz verstanden, und würde mich über einen Beispielbefehl aus meinem Muster freuen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 22 November 2018, 22:20:53
@mark79: bitte die Listings demnaechst mit "list -r" oder "Raw definition" Link unten in der Detailansicht erstellen, sonst muss ich fuers Nachstellen anfangen zu editieren und ich will Arbeit sparen und Vertipper vermeiden.

Sonst: ich bleibe bei meiner Aussage: mit dem eventMap ist nicht nur die Anzeige kaputt, es wird auch was kaputtes per publish zum MQTT Server weitergegeben. Auch von der "Theorie" her macht dieses Eventmap keinen Sinn. Wuerde mich freuen, wenn jemand mir zeigt, wo das Problem ist. Bzgl. ON/on: Das ist so gewollt, und sollte funktionieren. Ich habe fuer ON/OFF Icon-Alias angelegt, damit man fuer die Icons das lowercase sparen kann.
Mach ich das nächste mal, ich kannte vorher nur das normale list, was sich jeder hier wünschte... :D
Kannst du mir bitte ein LIST von dir zukommen lassen, von einem MQTT2 Zigbee Ikea Device?
Mich würde interessieren, warum das bei dir ohne Eventmap geht und bei mir nicht und wie sich das unterscheidet.

Frage: Das "vereinzeln" habe ich nicht ganz verstanden, und würde mich über einen Beispielbefehl aus meinem Muster freuen.

Was genau meinst du mit vereinzeln und Attribute setzen?

Schmeißt er dir alle MQTT Geräte in ein Device, oder wo genau liegt das Problem?

Der MQTT2_SERVER macht das so weit ich weiß von alleine, ohne großartig was zu konfigurieren. Allerdings wenn du einen Friendly Namen in Zigbee2mqtt setzt, weiß ich nicht, ob das auch so funktioniert, weil sich dadurch dann auch das MQTT Topic ändert.
Wenn du mit Node_Red rummachen willst, würde ich lieber den MQTT2_CLIENT + externen Broker nehmen. Das ist sicherlich performanter.

Ich habe das mit dem Friendly Namen (ich habe es test genannt) in Zigbee2mqtt beim MQTT2_CLIENT (mit externen mosquitto-server) ausprobiert.
Das Geräte wurde korrekt mit Namen MQTT2_zigbee_test in Fhem angelegt:

define MQTT2_zigbee_test MQTT2_DEVICE zigbee_test
attr MQTT2_zigbee_test DbLogExclude .*
attr MQTT2_zigbee_test IODev mosquitto
attr MQTT2_zigbee_test readingList mosquitto:zigbee2mqtt/test:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_test room MQTT2_DEVICE

setstate MQTT2_zigbee_test 2018-11-22 22:10:16 battery 98.33
setstate MQTT2_zigbee_test 2018-11-22 22:10:16 illuminance 3
setstate MQTT2_zigbee_test 2018-11-22 22:10:16 occupancy true
setstate MQTT2_zigbee_test 2018-11-22 22:10:16 voltage 2995

Allerdings muss man bei MQTT2_CLIENT noch ein Bridgeregex setzen, macht man das nicht, haut er dir alle Devices erst in ein Fhem Device. z.B. für Zigbee2mqtt:
bridgeRegexp zigbee2mqtt/([^:]*):.* "zigbee_$1"
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ranseyer am 22 November 2018, 22:33:24
Zitat
Was genau meinst du mit vereinzeln und Attribute setzen?

Ich hab das Wiki so verstanden dass es normal ist dass alles in einem Device landet und man von Hand aktiv werden muss.
Aber mit der Bridgeregex ist das nun super. Ich schau mir das Wiki nochmals genauer an ob das Wiki oder ich das Problem war...
Danke!

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 22 November 2018, 22:38:28
...das wiki ist das Problem; ich muß das erst selbst mit dem aktuellen fhem-Stand nachstellen, wird noch dauern; Freiwillige vor...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 22 November 2018, 23:19:39
Zitat
Ich hab das Wiki so verstanden dass es normal ist dass alles in einem Device landet und man von Hand aktiv werden muss.
Versuche zu klaeren: mit MQTT2_CLIENT, autocreate und mosquitto wird nur ein MQTT2_DEVICE automatisch erstellt, alle anderen muss man manuell anlegen. MQTT2_SERVER legt fuer alle _direkt_ verbundenen MQTT Geraete ein MQTT2_DEVICE an, weil er sie an dem clientId unterscheiden kann. Das MQTT Protokoll ist assymetrisch: clientId kennt nur der Server, und er kann sie nicht weitergeben.

Wenn man per bridge mehrere Geraete (z.Bsp. zigbee) anbindet, dann muss man in beiden Faellen (MQTT2_CLIENT und SERVER) auf dem als bridge angelegten MQTT2_DEVICE das bridgeRegexp Attribut setzen, damit die einzelnen zigbee Geraete automatisch angelegt werden.
Zitat
Kannst du mir bitte ein LIST von dir zukommen lassen, von einem MQTT2 Zigbee Ikea Device?
Meinst du mich? Ich habe keine solchen Geraete. Ich teste nur "trocken", indem ich die Logs bei "attr verbose 5" beobachte.
Mein Config entspricht einem "nackten" MQTT2_DEVICE + attrTemplate. Kann gut sein, dass ich dabei was uebersehe. Aber die EventMap Geschichte mit "on:ON:off off:OFF:on" generiert bei mir definitiv kaputte Messages der Sorte {"state":"ON"} off, und das ist kein JSON mehr.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 22 November 2018, 23:29:00
Mein Config entspricht einem "nackten" MQTT2_DEVICE + attrTemplate. Kann gut sein, dass ich dabei was uebersehe. Aber die EventMap Geschichte mit "on:ON:off off:OFF:on" generiert bei mir definitiv kaputte Messages der Sorte {"state":"ON"} off, und das ist kein JSON mehr.

Ich würde dir hier recht geben, ich arbeite ohne eventMap und hab keinerlei Probleme... Egal Ob Ikea Tradfri, Hue, Osram oder Innr. Hier hat sich ein ziemlicher Zoo an devices angesammelt ;-)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 22 November 2018, 23:43:51
@akr1983: ich habe jetzt eine Weile mit mosquitto und ein FHEM mit MQTT2_CLIENT und MQTT gespielt, kann aber kein Problem feststellen. Ein rename setzt zwar interne Datenstrukturen um, sollte aber nichts bewirken. Bei einem gerade durchgefuehrten Test mit MQTT_CLIENT/mosquitto, habe ich kein Unterschied gesehen, d.h. ich vermute, die Ursache ist was Anderes, was mir noch unbekannt ist.

In der Zwischenzeit bin ich auch schon schlauer. Es scheint wirklich an meinem System zu liegen. Ich forsche aktuell noch, woran es wirklich liegt. Das Umbenennen ist es jedenfalls doch nicht gewesen. Ich hab hab aktuell den Verdacht dass eines der angelernten Devices an Koenkks MQTT Bridge das Problem verursacht. Das dort in einer Statusmeldung was komisches drin gewesen ist, was dann wiederrum als state irgendwo "festhängt". Allerdings hab ich mal wieder 5 Sachen gleichzeitig gemacht. Deshalb kann ich es leider nicht weiter einschränken :-/ Tut mir leid wenn ich dir so viel Arbeit umsonst gemacht hab...

Dafür kann ich jetzt den Farbwechsel beisteuern...

Beim Farbwechsel im setList folgende Zeile ergänzen:
  color:colorpicker,RGB {"zigbee2mqtt/Kueche_Licht_Arbeitsplatte/set " . encode_json(convertRGBtoR_G_B($EVTPART1))}

Zusätzlich das webCmd um Color erweitern. Als Beispiel:
attr Kueche_Licht_Arbeitsplatte webCmd toggle:on:off:brightness:color:color_temp

Und als letzten Schritt noch in die 99_myUtils.pm einfügen:
sub convertRGBtoR_G_B($) {
        my $rgb = shift(@_);
        $rgb =~ m/^(..)(..)(..)/;
        my( $r, $g, $b ) = (hex($1)/255.0, hex($2)/255.0, hex($3)/255.0);
        my %color_hash = (r => $r, g => $g, b => $b);
        my %set_hash = ('transition' => 1, 'color' => \%color_hash);

        return \%set_hash;
}
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 23 November 2018, 00:04:57
Meinst du mich? Ich habe keine solchen Geraete. Ich teste nur "trocken", indem ich die Logs bei "attr verbose 5" beobachte.
Mein Config entspricht einem "nackten" MQTT2_DEVICE + attrTemplate. Kann gut sein, dass ich dabei was uebersehe. Aber die EventMap Geschichte mit "on:ON:off off:OFF:on" generiert bei mir definitiv kaputte Messages der Sorte {"state":"ON"} off, und das ist kein JSON mehr.
Ja dich meinte ich. :)
Am besten, ich probiere das am Wochenende noch ein mal aus, bin derzeit nicht bei den Gerätschaften und melde es dann noch mal...
Ich hatte das Device zwar schon mal gelöscht und neu anlegen lassen, aber ohne den Eventmap Eintrag funktionierte nur das einschalten, ausschalten nicht.

Falls du ein CC2530 oder CC2531 für Zigbee2mqtt brauchst, ich habe noch von beiden einen über. Dann könntest du das auch mal aktiv testen. :)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 23 November 2018, 00:09:55
Ich hab hab aktuell den Verdacht dass eines der angelernten Devices an Koenkks MQTT Bridge das Problem verursacht. Das dort in einer Statusmeldung was komisches drin gewesen ist, was dann wiederrum als state irgendwo "festhängt".

Das könnte auch sein, ich habe auch noch beide Module parallel laufen, könnte sein das die sich in die Quere kommen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 23 November 2018, 09:44:56
Zitat
aber ohne den Eventmap Eintrag funktionierte nur das einschalten, ausschalten nicht.
Ich habe ein (restriktiveres) eventMap gestern zum template hinzugefuegt, damit der Click auf dem Status-Icon auch zum Toggle fuehrt. Wenn Du das meinst mit "nur einschalten", dann sollte damit das gefixt sein. Hier ist es nochmal im Klartext:attr DEVICE eventMap { dev=>{ON=>'on',OFF=>'off'} }
Zitat
Beim Farbwechsel im setList folgende Zeile ergänzen:
Kannst du mir bitte den kompletten Abschnitt, und fuer convertRGBtoR_G_B() Input und gewuenschtes Output beschreiben? Dann wuerde ich es in 99_Utils.pm (oder fhem.pl) aufnehmen. Statt encode_json wuerde ich toJSON testen, dann braucht man kein JSON.pm zu installieren.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 23 November 2018, 09:54:48
Kannst du mir bitte den kompletten Abschnitt, und fuer convertRGBtoR_G_B() Input und gewuenschtes Output beschreiben? Dann wuerde ich es in 99_Utils.pm (oder fhem.pl) aufnehmen.
Anregung: Sachlich ist diese Funktion (ggf. zusammen mit dem eventuell vom Experten verbesserten devStateIcon-code für 255-er Brightness-Angaben von https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#IKEA-Tradfri-Birne) eventuell auch gut in der Color.pm aufgehoben?

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 23 November 2018, 15:44:47
Kannst du mir bitte den kompletten Abschnitt, und fuer convertRGBtoR_G_B() Input und gewuenschtes Output beschreiben? Dann wuerde ich es in 99_Utils.pm (oder fhem.pl) aufnehmen. Statt encode_json wuerde ich toJSON testen, dann braucht man kein JSON.pm zu installieren.

Aber gerne doch :-) Hab in der myUtils noch zusätzlich das mit dem devStateIcon255() drin aus dem Wiki.

##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

sub devStateIcon255($) {
my $name = shift(@_);
return ".*:off:toggle" if( ReadingsVal($name,"state","ON") eq "OFF" );
my %dim_values = (
  0 => "dim06%",
  1 => "dim12%",
  2 => "dim18%",
  3 => "dim25%",
  4 => "dim31%",
5 => "dim37%",
6 => "dim43%",
7 => "dim50%",
8 => "dim56%",
9 => "dim62%",
10 => "dim68%",
11 => "dim75%",
12 => "dim81%",
13 => "dim87%",
14 => "dim93%",
);

my $pct = ReadingsVal($name,"brightness","255");
my $s = $dim_values{int($pct/18)};
$s="on" if( $pct > 253 );
return ".*:$s:off";
}

sub convertRGBtoR_G_B($) {
my $rgb = shift(@_);
$rgb =~ m/^(..)(..)(..)/;
my( $r, $g, $b ) = (hex($1)/255.0, hex($2)/255.0, hex($3)/255.0);
my %color_hash = (r => $r, g => $g, b => $b);
my %set_hash = ('transition' => 1, 'color' => \%color_hash);

return \%set_hash;
}

1;
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ralf W. am 23 November 2018, 16:00:08
Hallo,

hier noch ein Beispiel für Philips hue Motion sensor (Bewegung, Helligkeit, Temperatur):

defmod DG_hue MQTT2_DEVICE
attr DG_hue IODev SE_MQTT2_SERVER
attr DG_hue event-min-interval battery:86400,illuminance:3600,temperature:600,temperature_weather:600
attr DG_hue event-on-change-reading battery,illuminance:100,occupancy,temperature:0.15,temperature_weather:0.2
attr DG_hue readingList zigbee2mqtt/DG_hue:.* { json2nameValue($EVENT) }
attr DG_hue room MQTT2_DEVICE
attr DG_hue stateFormat T: temperature_weather B: illuminance L: linkquality
attr DG_hue userReadings temperature_weather { sprintf("%.1f",ReadingsVal("DG_hue","temperature","")+2.5) }

Das userReadings habe ich eingefügt, da der Sensor die Temperatur mit 2,5° weniger ausgibt. Zu dem Thema gibt es genügend Fundstellen im Netz.

MfG
Ralf
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 24 November 2018, 17:23:58
@Ralf:
sind die event-* Attribute notwendig? Ich will sie nur im Notfall verwenden.

@akr1983:
kannst du bitte noch fuer RGB Input und gewuenschtes Output beschreiben?
Und ich meine devStateIcon255 laesst sich auch etwas kompakter schreiben:sub
devStateIcon255($)
{
  my ($name) = @_;
  return ".*:off:toggle" if(lc(ReadingsVal($name,"state","ON")) eq "off" );
  my $pct = ReadingsVal($name,"brightness","255");
  my $s = $pct > 253 ? "on" : sprintf("dim%02d%%",int((1+int($pct/18))*6.25));
  return ".*:$s:off";
}
Kannst du das bitte testen?


Edit: bugfix, dim% hinzugefuegt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ralf W. am 24 November 2018, 17:49:39
Hallo Rudi,

nein, die Event-attribute sind nicht notwendig. Auch stateFormat und userReadings können anders aussehen. Ist alles nur auf meine Bedürfnisse eingestellt.

MfG
Ralf

Gesendet von meinem SM-T585 mit Tapatalk

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 24 November 2018, 22:27:33
@akr1983:
kannst du bitte noch fuer RGB Input und gewuenschtes Output beschreiben?
Und ich meine devStateIcon255 laesst sich auch etwas kompakter schreiben:sub
devStateIcon255($)
{
  my ($name) = @_;
  return ".*:off:toggle" if(lc(ReadingsVal($name,"state","ON")) eq "off" );
  my $pct = ReadingsVal($name,"brightness","255");
  my $s = $pct > 253 ? "on" : sprintf("dim%02d%%",int((1+int($pct/18))*6.25));
  return ".*:$s:off";
}
Kannst du das bitte testen?


Edit: bugfix, dim% hinzugefuegt.

Also Code ist getestet und funktioniert!

Ich weiß allerdings nicht, was du mit gewünschten Input und Output meinst... Meinst du, wie die json Payload aussehen sollte?

Lg
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ralf W. am 30 November 2018, 15:50:00
Hallo,

hier noch ein Beispiel für OSRAM SMART+ Plug:

defmod Osram_Plug MQTT2_DEVICE
attr Osram_Plug IODev SE_MQTT2_SERVER
attr Osram_Plug event-on-change-reading .*
attr Osram_Plug eventMap { dev=>{ON=>'on',OFF=>'off'} }
attr Osram_Plug readingList zigbee2mqtt/0x84182600000ec127:.* { json2nameValue($EVENT) }
attr Osram_Plug room MQTT2_DEVICE
attr Osram_Plug setList off zigbee2mqtt/0x84182600000ec127/set OFF\
on zigbee2mqtt/0x84182600000ec127/set ON

MfG
Ralf

EDIT:
Das ist noch Murks. Liefert beim schalten zwei Events. Zu dem Problem habe ich hier vor einigen Tagen etwas gelesen. Schaue ich mir nächste Woche an ...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: schneckchen4711 am 30 November 2018, 22:53:17
attr Osram_Plug readingList zigbee2mqtt/0x84182600000ec127:.* { json2nameValue($EVENT) }
[...]
Das ist noch Murks. Liefert beim schalten zwei Events.
[...]

Guten Abend,

ich experimentiere auch noch mit dem Osram Stecker. Das Problem ist aus meiner Sicht, dass ReadingList bei dem MQTT Befehl ...0x84182600000ec127/set ausgeführt wird und bei der Rückmeldung des Steckers noch einmal. Hat auch den Nachteil, dass sich der Status beim Schalten ändert, ohne dass das Gerät eingesteckt ist. Bisher bin ich gescheitert das /set in der ReadingList zu filtern.

Viele Grüße,

  Georg
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 01 Dezember 2018, 16:07:56
So, jetzt wollte ich mal das Wiki auf den aktuellen Stand bringen, hat sich ja einiges geändert seit den Anfangstagen :) .

Also FHEM aktualisiert (Stand aller Module also 01.12.).

Jetzt bin ich aber über ein paar Dinge gestolpert, die mir klärungsbedürftig erscheinen bzw. eventuell noch nicht optimal sind. Daher erst mal dieser write-up hier ;) .

 Was habe ich gemacht bzw. zum Umfeld:

- Traffic wurde mit mosquitto_sub mitgelesen (mosquitto_sub -d -h <server-hostname> -t zigbee2mqtt/#)
- die configuration.yaml ist unverändert, insbesondere ist/war eine clientID vergeben
- alle zigbee2mqtt-Devices erst versucht zu entpairen (das scheint nicht so einfach zu sein, die haben sich direkt neu gepairt und sind direkt wieder in der zigbee2mqtt-Liste aufgetaucht...), dann gelöscht
- MQTT2_SERVER gelöscht und neu definiert, auf autocreate gestellt und mal die Lampen "neu gestartet" (also ans Stromnetz angeschlossen) => da kommt zwar jeweils "received PUBLISH (d0, q0, r0, m0, 'zigbee2mqtt/bridge/log', ... (46 bytes)) {"type":"pairing","message":"device incoming"}", aber es wird kein MQTT2_DEVICE angelegt.
- save ausgeführt und dann mal FHEM und den zigbee_pi (der Dienst läuft auf einem anderen Rechner) neu gestartet. Ich sehe, dass am MQTT2-Server ein "state"-"online" ankommt (RETAIN{"ir_blaster/status":"true","zigbee2mqtt/bridge/state":"online"}), aber sonst passiert nichts. Dann habe ich mal die device-Liste mit dem publish-Command aus dem MQTT2-Server angefordert. Die Rückmeldung kommt, aber weder ein MQTT2-DEVICE wird angelegt noch ist in MQTT2-SERVER was zu sehen? Mag FHEM evtl. keine eckigen Klammern? Payload: {"type":"devices","message":[{"ieeeAddr":"0x90fd9ffffe65db16","type":"Router","model":"LED1650R5","friendly_name":"0x90fd9ffffe65db16"},{"ieeeAddr":"0x90fd9ffffe0bcd51","type":"Router","model":"LED1650R5","friendly_name":"0x90fd9ffffe0bcd51"}]})
- publish am MQTT2-SERVER genutzt, um die Lampe auszuschalten => MQTT2-DEVICE wird endlich angelegt....
Leider habe ich auch wiederholtes Neuanlegen des zugehörigen fileLog-Devices (?!? eigentlich ist mir hier eines schon zu viel...)
- Das Bridge-attrTemplate angewendet und die mittlere Angabe modifiziert (spontan: könnte man nicht gleich ein Textfeld vorsehen, in dem die zu ändernde Angabe eingegeben werden kann?)

Bis dahin also irgendwie nicht vollständig befriedigend. Wunschliste:
- STATE sollte aus zigbee2mqtt/bridge/state kommen (beim mit dem template zur Bridge deklarierten Device)
- die Readings sind unvollständig, wenigstens die Rückmeldung zu deviceList sollte ankommen (dann muß man nicht auf die Konsole mit  mosquitto_sub, wenn man einen publish-Befehl zusammenstricken muß.)
- fileLog ständig neu zu definieren, ist unnötig (optimal: wenn gelöscht, dann gelöscht!)

Jetzt mache ich mich mal an die eigentlichen Lampen, da kommt bestimmt noch was dazu...

Wie gesagt, das kann teilweise auch damit zusammenhängen, dass alles mal vorhanden war.

Gruß, Beta-User
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 01 Dezember 2018, 16:45:05
So, jetzt habe ich also auch die eigentlichen Bulb-Devices hinbekommen.

Das erste war dann automatisch angelegt, nachdem ich wieder den passenden ON-Befehl gepublished hatte. Wieder das passende template angewendet. Sehr gut...

Unschön ist dann aber der Prefix für die Readings, der aus dem { json2nameValue($EVENT, xxx) } kommt, da ging erst mal die Anzeige für brightness nicht richtig. Das also rausgelöscht und nur noch { json2nameValue($EVENT) } dastehen lassen, dann paßt das.

Nächstes angelegt (wieder mit dem publish => autocreate). Gleich nach dem Anwenden des template das json2Value geändert => slider bleibt immer auch "0"...
Also erst das reading anlegen mit "setreading <bulbname> brightness 100", dann geht auch das.

Einfacher, aber auch m.E. nicht komplett selbsterklärend...
Hier sollte das template m.E. den json2nameValue gleich nicht so beschränken und das reading für brightness (bzw. für farbige Lampen dann auch die anderen) angelegt werden; von der Lampe kommt da nämlich scheinbar nichts zurück außer "on" bzw. "off"...).

Gruß, Beta-User
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Omega am 01 Dezember 2018, 22:53:20
Zitat
hier noch ein Beispiel für OSRAM SMART+ Plug:

Ich habe keine 2 Events beim Schalten.
Meine Definition:
defmod mq2.osramPlug.01 MQTT2_DEVICE zigbee_0x7cb03eaa00ae6f09
attr mq2.osramPlug.01 IODev MQTT2_FHEM_Server
attr mq2.osramPlug.01 devStateIcon devStateIcon OFF:FS20.off:on ON:FS20.on:off
attr mq2.osramPlug.01 icon message_socket
attr mq2.osramPlug.01 readingList zigbee2mqtt/0x7cb03eaa00ae6f09:.* { json2nameValue($EVENT) }
attr mq2.osramPlug.01 room MQTT
attr mq2.osramPlug.01 setList on zigbee2mqtt/0x7cb03eaa00ae6f09/set {"state":"ON"}\
off zigbee2mqtt/0x7cb03eaa00ae6f09/set {"state":"OFF"}

Kann man bei den Osram Plugs eigentlich das Verhalten nach Stromausfall einstellen wie bei Tasmota?

LG
Holger
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 02 Dezember 2018, 11:09:15
Jetzt brauche ich doch noch eure Unterstützung:
Im meinem generellen MQTT2_DEVICE enpfange ich die log-Readings von meinen zwei Zigbee Devices:
define MQTT2_zigbee_fhem MQTT2_DEVICE zigbee_fheD
attr MQTT2_zigbee_fhem IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_fhem comment 0x0017880100111162 "Philips_Hue_Iris" \
0x84182600000679de "OSRAM_LIGHTIFY_W23"
attr MQTT2_zigbee_fhem readingList zigbee_fhem:zigbee2mqtt/bridge/log:.* { json2nameValue($EVENT, 'log_') }
attr MQTT2_zigbee_fhem room MQTT2_DEVICE,ZigBee
attr MQTT2_zigbee_fhem setList permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1\
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1\
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1\
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap $EVTPART1\
devicelist:noArg zigbee2mqtt/bridge/config/devices
attr MQTT2_zigbee_fhem verbose 3

setstate MQTT2_zigbee_fhem devicelist
setstate MQTT2_zigbee_fhem 2018-12-02 10:45:10 log_message device incoming
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 log_message_1_friendly_name 0x0017880100111162
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 log_message_1_ieeeAddr 0x0017880100111162
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 log_message_1_model 7199960PH
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 log_message_1_type Router
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 log_message_2_friendly_name 0x84182600000679de
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 log_message_2_ieeeAddr 0x84182600000679de
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 log_message_2_model 4052899926158
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 log_message_2_type Router
setstate MQTT2_zigbee_fhem 2018-12-02 10:45:10 log_type pairing
setstate MQTT2_zigbee_fhem 2018-12-02 10:42:47 state devicelist

Jetzt frage ich mich, wo kann ich nachschauen, welche json-Strings meine beiden Geräte zum Ansteuern benötigen, bzw. akzeptieren?
Ich habe diese im Einsatz:
zigbee2mqtt:info
2018-12-1 15:43:57 0x0017880100111162 (0x0017880100111162): 7199960PH - Philips Hue Iris (Router)
zigbee2mqtt:info
2018-12-1 15:43:57 0x84182600000679de (0x84182600000679de): 4052899926158 - OSRAM LIGHTIFY Surface Light TW (Router)

Dann habe ich mal versucht ein paar Befehle über den MQTT2-Server zu senden, z.b.:
zigbee2mqtt/0x0017880100111162/set {"state":"off"}
und erhalte auf der Konsole, wo die zigbee2mqtt-Intsanz läuft diese Ausgabe:
zigbee2mqtt:error 2018-12-2 10:53:04 Zigbee publish to '0x0017880100111162', genOnOff - off - {} - {"manufSpec":0,"disDefaultRsp":0} - null failed with error
Error: AF data request fails, status code: 233. MAC no ack.

Der Abstand zwischen Stick und Gerät ist unter einem Meter.
Hat jemand eine Idee?

Danke & Gruß
Thomas
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 02 Dezember 2018, 21:07:20
Achtung, hier sind Antworten auf Fragen aus vier Beitraegen.

Zitat
https://forum.fhem.de/index.php/topic,91394.150.html
Habs eingefuegt, unter dem Namen zigbee2mqtt_smart+plug

Zitat
Das ist noch Murks. Liefert beim schalten zwei Events.
Ja, weil eventMap "zu einfach" ist, siehe z.Bsp. den aktuellen Eintrag fuer tasmota_basic.
Achtung: json2nameValue in readingList wird seit neuerem mit zwei Parameter generiert (Daten und Praefix), damit bei Geraeten mit mehreren Schaltern/Sensoren die Readings nicht ueberschrieben werden. Ich kann versuchen ein eventMap zu bauen, falls ich ein "attr verbose 5" Log der IODevice bekomme. Testen kann ich es aber nicht.


Zitat
Traffic wurde mit mosquitto_sub mitgelesen (mosquitto_sub -d -h <server-hostname> -t zigbee2mqtt/#)
Sehr loeblich, ich vermisse aber die Logs :)

Zitat
...aber es wird kein MQTT2_DEVICE angelegt.
Stimmt, Bug: es wird per autocreate kein neues Geraet angelegt, wenn man das Alte geloescht hat, und FHEM nicht neugestartet hat.
Habs gefixt. Workaround: FHEM neu starten.

Zitat
Dann habe ich mal die device-Liste mit dem publish-Command aus dem MQTT2-Server angefordert.
Das habe ich nicht verstanden, vmtl. weil ich zigbee2mqtt nicht kenne.

Zitat
Leider habe ich auch wiederholtes Neuanlegen des zugehörigen fileLog-Devices (?!? eigentlich ist mir hier eines schon zu viel...)
Dann entferne doch das filelog Attribut bei autocreate.
autocreate legt das FileLog nur beim Anlegen des eigentlichen Geraetes an.

Zitat
Das Bridge-attrTemplate angewendet und die mittlere Angabe modifiziert (spontan: könnte man nicht gleich ein Textfeld vorsehen, in dem die zu ändernde Angabe eingegeben werden kann?)
Du hast doch schon ein Textfeld im Dialog, wo du die Angabe aendern kannst.
Potentiell koennen beliebig viele Attribute definiert werden, und ich wollte den Code einfach halten.
Zitat
STATE sollte aus zigbee2mqtt/bridge/state kommen (beim mit dem template zur Bridge deklarierten Device)
Gerne, aber mangels bridge kann ich kein stateFormat aus dem Aermel schuetteln, und bin auf euch angewiesen.
Entweder liefert ihr mir stateFormat, oder ein komplettes Protokoll.

Zitat
die Readings sind unvollständig, wenigstens die Rückmeldung zu deviceList sollte ankommen
Meines Wissens legt MQTT2_DEVICE fuer alle empfangenen Meldungen ein Reading an.
S.o.: ich brauche Logs.

Zitat
Unschön ist dann aber der Prefix für die Readings, der aus dem { json2nameValue($EVENT, xxx) } kommt, da ging erst mal die Anzeige für brightness nicht richtig. Das also rausgelöscht und nur noch { json2nameValue($EVENT) } dastehen lassen, dann paßt das.
Falsche Loesung, Praefix in json2nameValue bleibt, s.o.
Bitte zeig mir lieber, wie das Template dafuer geaendert werden muss, oder gib mir die Rohdaten, und was gesendet werden soll.


Zitat
Jetzt frage ich mich, wo kann ich nachschauen, welche json-Strings meine beiden Geräte zum Ansteuern benötigen, bzw. akzeptieren?
Generell: in der Doku des angeschlossenen MQTT Geraetes (zigbee2mqtt?).
Evtl. hilft es ein attrTemplate zu setzen, und setList zu modifizieren.
Als Hinweis kann man die Subscription-Liste anschauen mit:
fhem> list TYPE=MQTT2_SERVER subscriptions
m2s_192.168.178.33_27572     cmnd/DVES_581F3E/#=1543757724.23146 cmnd/sonoff/#=1543757724.18537 cmnd/sonoffs/#=1543757724.19269
m2s_192.168.178.96_53168     #=1543778497.1181
Da sind zwei Geraete verbunden:
Nr1 ist ein Tasmota, der hoert auf alles, was mit cmnd/DVES_581F3E/, cmnd/sonoff/ oder cmnd/sonoffs/ anfaengt.
Nr2 ist ein mosquitto_sub, der auf alles hoert (#).

Zu zigbee2mqtt Problemen kann ich nichts sagen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 02 Dezember 2018, 21:17:08
Zitat
ReadingList bei dem MQTT Befehl ...0x84182600000ec127/set ausgeführt wird und bei der Rückmeldung des Steckers noch einmal.
Kannst du bitte dafuer Logs liefern? Am besten zusammen mit der "Raw definition" der Bridge.
Ist dein Geraet via MQTT2_SERVER oder MQTT2_CLIENT angebunden?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 03 Dezember 2018, 08:30:58
Sehr loeblich, ich vermisse aber die Logs :)
Ist dann halt komplett (Namen geändert und timouts und reconnects rausgeschmissen) angefügt.
Zitat
Stimmt, Bug: es wird per autocreate kein neues Geraet angelegt, wenn man das Alte geloescht hat, und FHEM nicht neugestartet hat.
Danke, Test folgt.
Zitat
"Dann habe ich mal die device-Liste mit dem publish-Command aus dem MQTT2-Server angefordert. "
Das habe ich nicht verstanden, vmtl. weil ich zigbee2mqtt nicht kenne.
Sorry, dachte das sei mit der im template hinterlegten setList und der angegebenen Reaktion von zigbee2mqtt ausreichend erläutert.

Kurzfassung des Problems: Egal, was vom zigbee2mqtt-Dienst kommt, es wird mit gesetztem brigdeRegexp _nur noch das_ verarbeitet, was zum Attribut paßt, alles andere scheint verworfen zu werden. Das ist m.E. nicht so toll, weil man damit weder state-Meldungen noch sonst irgendwas an Infos am "Bridge-Device" mehr hat. Gerade dafür sollte es aber m.E. auch da sein...

lists des Servers und des Bridge-Devices sind beigefügt.

Zitat
Dann entferne doch das filelog Attribut bei autocreate.autocreate legt das FileLog nur beim Anlegen des eigentlichen Geraetes an.
Das mit dem Attribut kann ich schon machen, ist aber keine Lösung des eigentlichen Problems, dass das FileLog-Gerät eben _mehrfach_ angelegt wird. Scheinbar erkennt die Funktion nicht, dass es eben schon ein Gerät gibt...
Anders gesagt: heute morgen war alles im "save"-Zustand. Dann habe ich beide Lampen geschaltet, es ercheint ein "rotes Fragezeichen" im Menü, geändert sind (zwei Einträge):
  define FileLog_MQTT2_zigbee_pi FileLog ./log/MQ...Jetzt habe ich eben ein update gemacht, FHEM neu gestartet und direkt 5 dieser Meldungen beim roten Fragezeichen.

Zitat
Du hast doch schon ein Textfeld im Dialog, wo du die Angabe aendern kannst.
...dachte eigentlich nicht, dass ich da in dem Dialogfeld was übersehen habe... Teste das nochmal...
Zitat
Falsche Loesung, Praefix in json2nameValue bleibt, s.o.
Bitte zeig mir lieber, wie das Template dafuer geaendert werden muss, oder gib mir die Rohdaten, und was gesendet werden soll.
Generell der Hinweis: eine ID steht für jeweils eine Bulb (bei dem zigbee2mqtt-Dienst). Die haben alle nur einen on/off/brightness...-Wert. Bei dieser Art ist daher das Auftrennen in potentiell mehrere gleichnamige Readings m.E. nicht erforderlich. Alternativ müßte man sonst "vorne" in der setList auch die Readings entsprechend mit den Präfixen benennen, dann würde das auch wieder gehen (nehme ich an).

Zu state usw. melde ich mich gerne wieder, aber ich bräuchte erst mal die passenden readings (s.o.) ;) .

Die lists (Stand vor dem update):
Internals:
   CONNECTS   9
   DEF        1883 global
   FD         39
   NAME       MQTT2_FHEM_Server
   NR         395
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2018-12-01 15:21:01   RETAIN          {"ir_blaster/status":"true","zigbee2mqtt/bridge/state":"online"}
     2018-12-03 07:30:51   nrclients       4
     2018-12-01 15:19:33   state           Initialized
   clients:
     MQTT2_FHEM_Server_192.168.2.23_34062 1
     MQTT2_FHEM_Server_192.168.2.42_50050 1
     MQTT2_FHEM_Server_192.168.2.51_28944 1
     MQTT2_FHEM_Server_192.168.2.52_47246 1
   retain:
     ir_blaster/status:
       ts         1543673986.97655
       val        true
     zigbee2mqtt/bridge/state:
       ts         1543674061.36098
       val        online
Attributes:
   autocreate 1
   group      Interfaces
   icon       mqtt
   room       Steuerung
Internals:
   CID        zigbee_fe65db16
   DEF        zigbee_fe65db16
   DEVICETOPIC MQTT2_zigbee_pi
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 1
   MQTT2_FHEM_Server_TIME 2018-12-01 15:21:01
   MSGCNT     1
   NAME       MQTT2_zigbee_pi
   NR         396
   STATE      devicelist
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
Attributes:
   IODev      MQTT2_FHEM_Server
   bridgeRegexp zigbee2mqtt/0x90fd9ffff([^:]*):.* "zigbee_$1"
   icon       mqtt
   room       Steuerung
   setList    permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1
devicelist:noArg zigbee2mqtt/bridge/config/devices
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Omega am 03 Dezember 2018, 09:17:47
Nach einem "shutdown restart" habe ich derzeit immer folgende Meldungen im Log (mal nur einfach, manchmal auch mehrfach):
2018.12.03 08:25:02 2: autocreate: define MQTT2_zigbee_bridge/log MQTT2_DEVICE zigbee_bridge/log
2018.12.03 08:25:02 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_zigbee_bridge/log

Ich habe in der fhem.cfg kein "MQTT2_zigbee_bridge" definiert und weiß momentan nicht, wo ich den Fehler suchen soll.



Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 03 Dezember 2018, 17:54:14
Vermutlich (bzw. ziemlich sicher) ist der bridgeRegexp im MQTT2_DEVICE, das vom z.B. MQTT2_CLIENT angelegt wurde, fehlerhaft.

Mit aktiviertem autocreate wird versucht, das MQTT2_DEVICE MQTT2_zigbee_bridge/log anzulegen; korrekt müsste es aber MQTT2_zigbee_bridge lauten. Dieses MQTT2_DEVICE dient anschließend als "Bridge" zur zigbee2mqtt-Instanz und spiegelt dessen Zustand wider bzw. darüber kann man Verwaltungskommandos absetzen (s.a. https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Define_eines_MQTT2-Devices_als_.22Bridge.22 (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Define_eines_MQTT2-Devices_als_.22Bridge.22)).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 03 Dezember 2018, 18:16:36
(OdfFhem war schneller, bzw. ich habe fuer die Antwort lange gebraucht)

Zitat
Nach einem "shutdown restart" habe ich derzeit immer folgende Meldungen im Log (mal nur einfach, manchmal auch mehrfach):
Ich koennte bei solchen Raetseln Zeit sparen, wenn ich mehr Hinweise (vulgo "Raw definition"/list -r der betroffenen Geraete) kriegen wuerde.
Z.Zt. tippe ich auf ein bridgeRegexp der Sorte:
Zitat
attr MQTT2_bridge bridgeRegexp (.*):.* "$1"
Ich finde so eine Befuellung zwar nicht sinnvoll, aber einen Fehler sollte es nicht verursachen.
=> Ich habe entsprechenden Code eingebaut, um dieses Problem zu verhindern. Es sei denn, ich habe falsch geraten.

Zitat
Egal, was vom zigbee2mqtt-Dienst kommt, es wird mit gesetztem brigdeRegexp _nur noch das_ verarbeitet, was zum Attribut paßt, alles andere scheint verworfen zu werden
Das ist nicht mein Stand. Meines Wissens ist der Ablauf wie folgt:
- falls mindestens ein Geraet existiert, dessen readingList anwendbar ist, dann wird dessen/deren Reading gesetzt, und nicht weitergemacht.
- falls einer der Regexps aus einer der bridgeRegexps passt, dann wird das dazugehoerige Perl-Code evaluiert, und damit das alte CID ueberschrieben.
- falls CID gesetzt ist, aber noch kein Geraet mit diesem CID existiert, dann wird eine neues Geraet mit dem Namen MQTT2_CID angelegt.
Ich habe das gerade mit deiner bridge definition nachgestellt: ein zigbee2mqtt/0x90fd9ffffe65db16 Topic legt ein neues Geraet an, ein zigbee2mqtt/bridge/log Topic erweitert das MQTT2_zigbee_pi readingList.
Es ist mir dabei ein Problem aufgefallen: bei der Aenderung der bridgeRegexps wurden die alten Werte erst nach einem FHEM-Neustart "ungueltig", das habe ich jetzt gefixt.

Zitat
lists des Servers und des Bridge-Devices sind beigefügt.
Bitte demnaechst list -r <devicename>/ "Raw definition".

Zitat
Jetzt habe ich eben ein update gemacht, FHEM neu gestartet und direkt 5 dieser Meldungen beim roten Fragezeichen.
Kann ich leider weder nachstellen, noch laut Code vorstellen.
Ein FileLog wird nur zusammen mit dem MQTT2_DEVICE angelegt. Vermutlich uebersehe ich etwas.

Zitat
Bei dieser Art ist daher das Auftrennen in potentiell mehrere gleichnamige Readings m.E. nicht erforderlich.
Ich habe das Topic aus deinem Log nachgespielt und verstehe jetzt das Problem,  weiss nur nicht, woran ich festmachen soll, dass man ein Praefix braucht oder nicht.
Ich habe jetzt ein Hack fuer zigbee2mqtt eingebaut: falls Praefix der Form 0xHEX ist, dann wird kein Praefix gesetzt. Falls jemand eine bessere Idee hat, bitte melden.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 03 Dezember 2018, 19:01:03
"Problem" ist, dass bei der zigbee2mqtt-Instanz die MQTT-Informationen via Subtopics - relativ zum Topic bridge - ausgetauscht werden:
zigbee2mqtt/bridge/state
zigbee2mqtt/bridge/log
zigbee2mqtt/bridge/config/permit_join
zigbee2mqtt/bridge/config/log_level
zigbee2mqtt/bridge/config/remove
zigbee2mqtt/bridge/config/rename
zigbee2mqtt/bridge/networkmap

Die MQTT-Informationen zu den eigentlichen Geräten haben keine direkten Subtopics, sondern sämtliche Informationen werden als JSON-Daten übermittelt:
zigbee2mqtt/<DEVICE_ID>

Mit dem weit verbreiteten bridgeRegexp
attr <mqtt2-device> bridgeRegexp zigbee2mqtt/([^:]*):.* "zigbee_$1"
führt dies dann u.a. zu folgenden MQTT2_DEVICE-Namen:
bridge/state
bridge/log
bridge/config/permit_join
bridge/config/log_level
bridge/config/remove
bridge/config/rename
bridge/networkmap

<DEVICE_ID>

Nur Ergebnisse der letzten Art sind valide, alle anderen führen zum besagten Fehler aus Antwort #160.



Aus diesem Grunde verwende ich derzeit
attr <mqtt2-device> bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"

Damit wird bridge bzw. <DEVICE_ID> als Ergebnis geliefert und das entsprechende MQTT2_DEVICE wird ohne Fehlermeldung angelegt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 03 Dezember 2018, 19:23:33
Zitat
attr <mqtt2-device> bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
Diese Version erzeugt ein weiteres Device fuer den Bridge, und dann jeweils eins fuer die Endgeraete.
fhem> { "zigbee2mqtt/bridge/state:bla" =~ m,zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.*, ? "$1":"N" }
bridge
fhem> { "zigbee2mqtt/0x90fd9ffffe65db16:bla" =~ m,zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.*, ? "$1":"N" }
0x90fd9ffffe65db16


Mir ist die Version aus commandref sympatischer, da sie keine extre MQTT2_bridge Instanz erzeugt:attr zigbee2mqtt bridgeRegexp zigbee2mqtt/0x00158d0001([^:]*):.* "zigbee_$1"Ist leider nicht ganz generisch.

Folgendes sollte generischer sein, und auch weniger schreckliche Geraete erzeugen:
fhem> attr zigbee2mqtt bridgeRegexp zigbee2mqtt/0x........([^/]+):.* "zigbee_$1"
fhem> { "zigbee2mqtt/bridge/state:bla" =~ m,zigbee2mqtt/0x........([^/]+):.*, ? "$1":"N" }
N
fhem> { "zigbee2mqtt/0x90fd9ffffe65db16:bla" =~ m,zigbee2mqtt/0x........([^/]+):.*, ? "$1":"N" }
fe65db16
Die erste Version mit extra bridge ist aber vermutlich besser, wenn man die Geraete per MQTT2_CLIENT/mosquitto angebunden hat.

Ich habe commandref angepasst, und den Vorschlag von OdfFhem uebernommen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Invers am 03 Dezember 2018, 20:27:46
Vielen Dank für die WIKI-Seite.
Könnte der Autor bitte diese Formuliefung noch einmal überdenken?

Zitat
Zur Einbindung von Geräten, welche mit einem MQTT-Server (früher: Broker) kommunizieren können, stehen unter FHEM zwei Optionen zur Verfügung. Details sind der zu entnehmen.

Danke
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Omega am 03 Dezember 2018, 20:49:44
Ich hatte kein List oder Log beigefügt, weil ich zu wenig wusste, wo ansetzen.

Mein Bridge-Device sieht - bisher - so aus:
define MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi DbLogExclude .*
attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/([^:]*):.* "zigbee_$1"
attr MQTT2_zigbee_pi room MQTT
attr MQTT2_zigbee_pi setList permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1\
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1\
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1\
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1\
devicelist:noArg zigbee2mqtt/bridge/config/devices

setstate MQTT2_zigbee_pi permit_join
setstate MQTT2_zigbee_pi 2018-11-24 15:35:33 state permit_join

Nachdem ich das auf <mqtt2-device> bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1" geändert hatte, waren auch die Fehler weg  :) :).

Danke für die Unterstützung!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 04 Dezember 2018, 08:24:26
Vielen Dank für die WIKI-Seite.
Könnte der Autor bitte diese Formuliefung noch einmal überdenken?
Danke für den Hinweis; da ist ein Link durch Änderungen ins Leere gegangen...
Wenn jemand Muse hat, darf gerne an beiden Artikelchen weitergebastelt werden.

Was die fehlenden Readings (und evtl. das immer noch vorhandene log-Erstellungsthema) für das "Bridge-Device" angeht, glaube ich zwischenzeitlich, die Ursache gefunden zu haben: Das internal CID verweist möglicherweise auf den falschen Punkt, nämlich die eine Bulb; die hat dieselbe...   

Wie ich vorgegangen war, um überhaupt was zu erhalten, hatte ich ja geschildert. Vermutlich sollte ich alles nochmal löschen und dann mit einer Devicelistanfrage über den MQTT2-Server starten (statt eines Schaltbefehls; aber ich sehe grade, dass ich genau so (devicelist-Anfrage) gestartet war und auch das "online" nicht ausgewertet worden war). Vielleicht fehlte "nur" ein simpler FHEM-Neustart nach dem Löschen, um das alte bridgeREgexp aus dem Speicher rauszuwerfen ??? ??? ??? .

Werde mir mal die jüngsten Beiträge nochmal zu Gemüte führen.

Danke jedenfalls für die Rückmeldungen!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ralf W. am 04 Dezember 2018, 11:51:23
@Omega
Deine Variante erzeugt bei mir auch zwei Events, einmal klein und einmal groß geschrieben.

@Rudi
verbose 5 IO
2018.12.04 11:34:51 5: SE_MQTT2_SERVER: PUBLISH zigbee2mqtt/0x84182600000ec127/set ON                                                                                                                                                                                           
2018.12.04 11:34:51 5: SE_MQTT2_SERVER_127.0.0.1_33214 z2m => zigbee2mqtt/0x84182600000ec127/set:ON                                                                                                                                                                             
2018.12.04 11:34:51 5: SE_MQTT2_SERVER_127.0.0.1_59632 mosqsub/7742-fhem => zigbee2mqtt/0x84182600000ec127/set:ON                                                                                                                                                               
2018.12.04 11:34:52 5: PUBLISH: (0)(30)zigbee2mqtt/0x84182600000ec127{"state":"ON","linkquality":81}                                                                                                                                                                           
2018.12.04 11:34:52 4: SE_MQTT2_SERVER_127.0.0.1_33214 z2m PUBLISH zigbee2mqtt/0x84182600000ec127:{"state":"ON","linkquality":81}                                                                                                                                               
2018.12.04 11:34:52 5: SE_MQTT2_SERVER_127.0.0.1_59632 mosqsub/7742-fhem => zigbee2mqtt/0x84182600000ec127:{"state":"ON","linkquality":81}                                                                                                                                     
2018.12.04 11:34:52 5: SE_MQTT2_SERVER: dispatch autocreate:z2m:zigbee2mqtt/0x84182600000ec127:{"state":"ON","linkquality":81}                                                                                                                                                 
2018.12.04 11:34:52 5: PUBLISH: (0)(30)zigbee2mqtt/0x84182600000ec127{"state":"ON","linkquality":97}                                                                                                                                                                           
2018.12.04 11:34:52 4: SE_MQTT2_SERVER_127.0.0.1_33214 z2m PUBLISH zigbee2mqtt/0x84182600000ec127:{"state":"ON","linkquality":97}                                                                                                                                               
2018.12.04 11:34:52 5: SE_MQTT2_SERVER_127.0.0.1_59632 mosqsub/7742-fhem => zigbee2mqtt/0x84182600000ec127:{"state":"ON","linkquality":97}                                                                                                                                     
2018.12.04 11:34:52 5: SE_MQTT2_SERVER: dispatch autocreate:z2m:zigbee2mqtt/0x84182600000ec127:{"state":"ON","linkquality":97}                                                                                                                                                 
2018.12.04 11:34:53 5: SE_MQTT2_SERVER: PUBLISH zigbee2mqtt/0x84182600000ec127/set OFF                                                                                                                                                                                         
2018.12.04 11:34:53 5: SE_MQTT2_SERVER_127.0.0.1_33214 z2m => zigbee2mqtt/0x84182600000ec127/set:OFF                                                                                                                                                                           
2018.12.04 11:34:53 5: SE_MQTT2_SERVER_127.0.0.1_59632 mosqsub/7742-fhem => zigbee2mqtt/0x84182600000ec127/set:OFF                                                                                                                                                             
2018.12.04 11:34:53 5: PUBLISH: (0)(30)zigbee2mqtt/0x84182600000ec127{"state":"OFF","linkquality":97}                                                                                                                                                                           
2018.12.04 11:34:53 4: SE_MQTT2_SERVER_127.0.0.1_33214 z2m PUBLISH zigbee2mqtt/0x84182600000ec127:{"state":"OFF","linkquality":97}                                                                                                                                             
2018.12.04 11:34:53 5: SE_MQTT2_SERVER_127.0.0.1_59632 mosqsub/7742-fhem => zigbee2mqtt/0x84182600000ec127:{"state":"OFF","linkquality":97}                                                                                                                                     
2018.12.04 11:34:53 5: SE_MQTT2_SERVER: dispatch autocreate:z2m:zigbee2mqtt/0x84182600000ec127:{"state":"OFF","linkquality":97}                                                                                                                                                 
2018.12.04 11:34:53 5: PUBLISH: (0)(30)zigbee2mqtt/0x84182600000ec127{"state":"OFF","linkquality":84}                                                                                                                                                                           
2018.12.04 11:34:53 4: SE_MQTT2_SERVER_127.0.0.1_33214 z2m PUBLISH zigbee2mqtt/0x84182600000ec127:{"state":"OFF","linkquality":84}                                                                                                                                             
2018.12.04 11:34:53 5: SE_MQTT2_SERVER_127.0.0.1_59632 mosqsub/7742-fhem => zigbee2mqtt/0x84182600000ec127:{"state":"OFF","linkquality":84}                                                                                                                                     
2018.12.04 11:34:53 5: SE_MQTT2_SERVER: dispatch autocreate:z2m:zigbee2mqtt/0x84182600000ec127:{"state":"OFF","linkquality":84}                                                     
           

Eventmonitor:
2018-12-04 11:34:45 Global global ATTR SE_MQTT2_SERVER verbose 5
2018-12-04 11:34:51 MQTT2_DEVICE Osram_Plug on
2018-12-04 11:34:52 MQTT2_DEVICE Osram_Plug on
2018-12-04 11:34:52 MQTT2_DEVICE Osram_Plug linkquality: 97
2018-12-04 11:34:53 MQTT2_DEVICE Osram_Plug off
2018-12-04 11:34:53 MQTT2_DEVICE Osram_Plug off
2018-12-04 11:34:53 MQTT2_DEVICE Osram_Plug linkquality: 84       
   

MfG
Ralf                                                               
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Omega am 04 Dezember 2018, 17:46:17
Ja, macht er mittlerweile bei mir auch.
Momentan mache ich fast täglich ein Update in FHEM aufgrund der vielen Änderungen in MQTT2 - wahrscheinlich hatte ich daher vor ein paar Tagen eine Konstellation bei der nur 1 Event erzeugt wurde.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 06 Dezember 2018, 08:14:18
So, kurzer update mit den aktuellen Modulen.

Habe jetzt mal die Bridge gelöscht+save+Neustart.

Dann auf das automatisch angelegte Device die BridgeRegex aus der cref angewendet.
Jetzt landen die "bridge" und "log"-Infos in einem weiteren automatisch angelegten Device => unnötig.
Kann man beheben, wenn man stattdessen "zigbee2mqtt/0x([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"" verwendet. Dann landen die "eigentlichen" Bridge-Readings auch im richtigen Device, sauber aufgeschlüsselt :) .

Was mir jetzt noch nicht gefällt: fordere ich die devicelist an ("set <bridge> devicelist"), kommt das in den state.
Habe dann mal die setList ergänzt um ein "true" (FHEM neu gestartet) und dann den Befehl nochmal abgesetzt => die Angabe "devicelist" landet trotzdem im state. An sich würde ich aber erwarten, dass das, was als setList da steht auch zu entsprechend benannten Readings führt.
Unschön, aber auch kein Beinbruch.

Danke daher für die updates, ist wieder ein merklicher Fortschritt.

Würde noch dafür plädieren, die cref um das "0x" in der bridgeRegexp zu ergänzen, vielleicht gibt es dazu noch weitere Meinungen?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 Dezember 2018, 09:08:39
Zitat
Jetzt landen die "bridge" und "log"-Infos in einem weiteren automatisch angelegten Device => unnötig.
Das habe ich vorher auch geschrieben (https://forum.fhem.de/index.php/topic,91394.msg867323.html#msg867323), mein Vorschlag erzeugte fuer MQTT2_SERVER auch deutlic "nettere" Geraete. Ich habe mich aber fuer den Vorschlag von OdfFhem entschlossen, weil im Fall von MQTT2_CLIENT seine Loesung besser ist. Man koennte auch zwei Varianten erwaehnen, das optimale bridgeRegexp ist aber von der Quelle (MQTT2_SERVER oder MQTT2_CLIENT) und vom Lieferanten (zigbee2mqtt oder was anderes) abhaengig.
Meiner Meinung nach gehoert sowas ins Wiki.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 06 Dezember 2018, 10:23:52
Die Diskussion hatte ich wahrgenommen, auch den Vorschlag mit "0x".

Allerdings muß ich zugeben, dass mir das Argument mit MQTT2_CLIENT nicht so recht einleuchtet:
Der wesentliche Unterschied besteht doch darin, dass ...Client die eigentliche Herkunft der Info nicht kennt, aber weder Topic noch Payload sind unterschiedlich, egal, ob die Quelle (hier: zigbee2mqtt) das direkt an MQTT2_SERVER schickt oder an irgend einen anderen Broker, der das dann (nur mit anderer CID?) an ...Client weitergibt. Ist diese Annahme falsch?

Das eigentliche "Problem" besteht m.E. darin, dass jemand ggf. mehrere dieser Dienste nebeneinander betreiben könnte, was dann ggf. zu Verwirrung sorgen würde (insbes. mit MQTT2_Client, das ist korrekt). In diesem Fall sollte derjenige aber wissen, was er tut und dann die Topic-Angaben in der yaml (bzw. Weboberfläche des betr. Devices usw.) entsprechend anpassen. Was templates und cref angeht, sollten wir eher dafür sorgen, dass der Standard so abgebildet ist, dass ein "normaler FHEM-User" möglichst wenig Aufwand hat, wenn er die defaults nutzt.

Kann natürlich falsch liegen, aber ansonsten wäre ich dafür,
a) das mit "0x" doch in die cref aufzunehmenb) in mqtt2.template
aa) wieder "BRIDGENAME" durch "bridge" zu ersetzen (ich würde z.B. in der Konfiguration eines zweiten zigbee2mqtt-Dienstes die erste Angabe ändern (permit_join:true,false zigbee2mqtt_2/bridge/config/permit_join $EVTPART1\))
bb) gleich die bridgeRegexp in der passenden Form mit aufzunehmen (bei name:zigbee2mqtt_bridge)

Dass das so oder so in die "Praxisbeispiele" Eingang finden wird, versteht sich von selbst (deswegen mache ich die Übung hier ja...).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 Dezember 2018, 21:03:23
Zitat
Ist diese Annahme falsch?
Nein, aber du beruecksichtigst nicht, dass man neben zigbee2mqtt auch weitere MQTT Geraete anschliessen kann.
Und diese waeren dann beim MQTT_CLIENT zusammen mit dem Bridge in einem MQTT2_DEVICE untergebracht.
Zitat
a) das mit "0x" doch in die cref aufzunehmen
Habs gemacht.
Da ich das bridge-Template ohne bridge nicht testen kann, waere es nett, von Dir/sonstwem eine getestete Version zu bekommen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 07 Dezember 2018, 08:33:12
@Rudolf

Wäre dir mit so einem fertig geflasheten ZigBee-Stick (CC2531) zum Betrieb von "zigbee2mqtt" geholfen?
Ich kann dir gerne einen für Tests und zum Verbleib zukommen lassen.

Gruß
Thomas
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 07 Dezember 2018, 08:42:42
Anbei die für die zigbee2mqtt-Geschichte aktualisierte mqtt2.template.

Getestet habe ich die Bridge und die 1. Bulb-Variante.
Was nicht so toll ist: Nach dem Anwenden des bridge-Templates auf das automatisch angelegte device mußte ich FHEM neu starten, damit die 1. Lampe automatisch angelegt wurde. Die 2. ging dann wieder nicht automatisch. Dann habe ich es mit einem Reload von MQTT2_DEVICE versucht, mit der Folge, dass ich zwei Meldungen bzgl. des Anlegens des FileLog-Devices hatte (passend zum schon vorhandenen Bridge-Device-Namen).

Also FHEM neu gestartet, aber leider legt mir FHEM das 2. Device nicht automatisch an, wenn ich einen ON oder OFF-Command darauf absetze (der Dienst selbst meldet das aber zurück und die Lampe reagiert auch).

Irgend eine Idee dazu?

RAW-Definitionen der automatisch angelegten Geräte:
defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/0x([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee_pi readingList zigbee_pi:zigbee2mqtt/bridge/log:.* { json2nameValue($EVENT, 'log_') }\
zigbee_pi:zigbee2mqtt/bridge/state:.* state
attr MQTT2_zigbee_pi room MQTT2_DEVICE
attr MQTT2_zigbee_pi setList permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1\
  remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1\
  log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1\
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
  network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1\
  devicelist:true zigbee2mqtt/bridge/config/devices

setstate MQTT2_zigbee_pi online
setstate MQTT2_zigbee_pi 2018-12-07 08:34:35 log_message device incoming
setstate MQTT2_zigbee_pi 2018-12-07 08:12:28 log_message_1_friendly_name 0x90fd9ffffe65db16
setstate MQTT2_zigbee_pi 2018-12-07 08:12:28 log_message_1_ieeeAddr 0x90fd9ffffe65db16
setstate MQTT2_zigbee_pi 2018-12-07 08:12:28 log_message_1_model LED1650R5
setstate MQTT2_zigbee_pi 2018-12-07 08:12:28 log_message_1_type Router
setstate MQTT2_zigbee_pi 2018-12-07 08:12:28 log_message_2_friendly_name 0x90fd9ffffe0bcd51
setstate MQTT2_zigbee_pi 2018-12-07 08:12:28 log_message_2_ieeeAddr 0x90fd9ffffe0bcd51
setstate MQTT2_zigbee_pi 2018-12-07 08:12:28 log_message_2_model LED1650R5
setstate MQTT2_zigbee_pi 2018-12-07 08:12:28 log_message_2_type Router
setstate MQTT2_zigbee_pi 2018-12-07 08:34:35 log_type pairing
setstate MQTT2_zigbee_pi 2018-12-07 08:34:26 state online


defmod MQTT2_zigbee_90fd9ffffe0bcd51 MQTT2_DEVICE zigbee_90fd9ffffe0bcd51
attr MQTT2_zigbee_90fd9ffffe0bcd51 IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_90fd9ffffe0bcd51 devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr MQTT2_zigbee_90fd9ffffe0bcd51 icon light_control
attr MQTT2_zigbee_90fd9ffffe0bcd51 readingList zigbee2mqtt/0x90fd9ffffe0bcd51:.* { json2nameValue($EVENT, '') }
attr MQTT2_zigbee_90fd9ffffe0bcd51 room MQTT2_DEVICE
attr MQTT2_zigbee_90fd9ffffe0bcd51 setList on:noArg zigbee2mqtt/0x90fd9ffffe0bcd51/set {"state":"ON"}\
  off:noArg zigbee2mqtt/0x90fd9ffffe0bcd51/set {"state":"OFF"}\
  brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/0x90fd9ffffe0bcd51/set {"state":"on","$EVTPART0":"$EVTPART1"}
attr MQTT2_zigbee_90fd9ffffe0bcd51 webCmd brightness

setstate MQTT2_zigbee_90fd9ffffe0bcd51 ON
setstate MQTT2_zigbee_90fd9ffffe0bcd51 2018-12-07 08:34:26 brightness 60
setstate MQTT2_zigbee_90fd9ffffe0bcd51 2018-12-07 08:34:26 state ON

Was die Bridge-Diskussion angeht: Das ist klar, dass andere Bridges andere Vorgaben benötigen. Werde das für die sidoh-Milight-Bridge gerne bei Gelegenheit mal versuchen, auch in template-Form abzuliefern und das Wiki upzudaten. Das sind aber leider nicht nur 2 unwichtige Bulbs, die darüber laufen...

Wäre dir mit so einem fertig geflasheten ZigBee-Stick (CC2531) zum Betrieb von "zigbee2mqtt" geholfen?
Du müßtest Rudi mindestens noch eine Bulb und irgendeinen Sensor mitliefern. Der Dienst liefert nur eine Rückmeldung, wenn das Gerät den Befehl erhalten hat (bzw. ein Sensor was liefert).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 07 Dezember 2018, 09:31:56
Zitat
Wäre dir mit so einem fertig geflasheten ZigBee-Stick (CC2531) zum Betrieb von "zigbee2mqtt" geholfen?
Vielen Dank fuers Angebot, aber eigentlich haette ich gerne, dass auch Andere Templates bauen (vulgo Aufgaben delegieren), und nicht noch mehr eigene Baustellen (wie z.Bsp. zigbee2mqtt Firmware debuggen).

@Beta-User: kannst du mir bitte jeweils ein Event vom bridge, 1. Device, 2. Device hier anhaengen?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 07 Dezember 2018, 10:20:38
Zitat
@Beta-User: kannst du mir bitte jeweils ein Event vom bridge, 1. Device, 2. Device hier anhaengen?
Kommt dann aber erst später (vermutlich morgen), und bisher gibt es auch nur 2 MQTT2_DEVICE-Geräte (die RAW angehängten), das 2. will ich ja unbedingt auch automatisiert anlegen lassen (war doch unser Ziel, das noob-freundlich zu gestalten, oder?).

Kann ich was loggen und den log-Level erhöhen? (evtl. auch am MQTT2__SERVER)? Wieviele Events wären denn sinnvoll (die letzten stehen ja in den RAW-lists)?

Vielen Dank fuers Angebot, aber eigentlich haette ich gerne, dass auch Andere Templates bauen (vulgo Aufgaben delegieren), und nicht noch mehr eigene Baustellen (wie z.Bsp. zigbee2mqtt Firmware debuggen).
Soweit erkennbar hatte ich mit der firmware an sich bisher keine Probleme und auch der Java-Code scheint stabil zu sein. Ergo: Eigentlich keine Baustelle, aber auch nicht die Superduper-Lösung, weil:
- Java (nach der Installation 3 vulnerabilities...)
- die Beschränkung in der firmware auf nicht so viele Devices besteht (je nach CC235x-Typ)  und man dann Router einsetzen muß/kann/darf
- zigbee an sich ein Problem zu haben scheint, wenn die mesh-Optionen genutzt werden, aber dazwischen irgend ein Router wegfällt (danach klingen jedenfalls diverse Anmerkungen, von anderen, die mir im Ohr geblieben sind).

Wenn Bedarf bestehen würde, "eigene" Hardware zu haben, wäre ein simpler, nackiger ESP8266 mit der Sidoh-Milight-Bridge-firmware einfacher - die tut schlicht so, als wäre ein Transceiver dran und schickt einen Status zurück, ohne (prinzipbedingt) wissen zu können, ob tatsächlich was passiert ist; das ganze läßt sich bequem auf dem Web-Interface ansteuern.... Aber die Technik an sich ist Mist, und von daher bin ich voll bei Rudi: Soll ausbaden (templates liefern), wer sich so einen Sch.. ins Haus holt ;) . Und zum debuggen reicht es eigentlich, die Messages manuell zu erzeugen (geht mit den vorhandenen mosquitto_sub-Infos).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 07 Dezember 2018, 10:35:09
Zitat
Wieviele Events wären denn sinnvoll
Jeweils eins (das was eigentlich ein Device erzeugen sollte) reicht mir.

Zitat
(die letzten stehen ja in den RAW-lists)?
Bin wohl blind, finde sie nicht...

Zitat
Und zum debuggen reicht es eigentlich, die Messages manuell zu erzeugen (geht mit den vorhandenen mosquitto_sub-Infos).
Ich habe es noch nicht verstanden, warum mosquitto_sub den "eingebauten" Trace-Moeglichkeiten Vorzug gegeben wird:
- fuer eine vergleichbare Ausgabe kann man im MQTT2 IODev rawEvents setzen, und Event-Monitor verwenden
- fuer mehr Details kann man "verbose 5" setzen, und das FHEM-Log anschauen (evtl. auch uebers Event-Monitor).
Vielleicht uebersehe ich was.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 07 Dezember 2018, 10:46:54
Jeweils eins (das was eigentlich ein Device erzeugen sollte) reicht mir.
Bin wohl blind, finde sie nicht...
Ah ok, das war nicht enthalten und an die Mitschnitte von mosquitto_sub komme ich grade nicht dran. War aber ziemlich sicher sowas:
zigbee2mqtt/0x90fd9ffffe0bcd51 {"state":"ON"}
Zitat
Ich habe es noch nicht verstanden, warum mosquitto_sub den "eingebauten" Trace-Moeglichkeiten Vorzug gegeben wird:- fuer eine vergleichbare Ausgabe kann man im MQTT2 IODev rawEvents setzen, und Event-Monitor verwenden
- fuer mehr Details kann man "verbose 5" setzen, und das FHEM-Log anschauen (evtl. auch uebers Event-Monitor).
Vielleicht uebersehe ich was.
Danke für den weiteren Schubs - ich habe aus "alter Gewohnheit" schlicht mosquitto_sub verwendet, werde das aber dann zukünftig mit den rawEvents machen; ist dann für die Darstellung im Wiki für MQTT-Einsteiger natürlich auch viel einfacher (hatte nicht danach gesucht und deswegen die doofe Frage gestellt - ich bin also mal wieder derjenige, der was übersehen hat ::) ).

Danke!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 07 Dezember 2018, 19:54:45
Ein publish im MQTT2-Server erzeugt immer eine doppelte Meldung im zigbee2mqtt.

Beispiel:
set xxx publish zigbee2mqtt/0x0017880100111162/set {"state": "OFF"}
erzeugt:
Dez 07 19:44:38 nuc npm[3182]:   zigbee2mqtt:info 2018-12-7 19:44:38 MQTT publish, topic: 'zigbee2mqtt/0x0017880100111162', payload: '{"state":"OFF","brightness":254,"color":{"x":0.148,"y":0.187}}'
Dez 07 19:44:38 nuc npm[3182]:   zigbee2mqtt:info 2018-12-7 19:44:38 MQTT publish, topic: 'zigbee2mqtt/0x0017880100111162', payload: '{"state":"OFF","brightness":254,"color":{"x":0.148,"y":0.187}}'

Sendet jetzt MQTT2 den publish zweimal, oder zeigt das andere Ende nur doppelt an?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 07 Dezember 2018, 20:28:23
Kannst du bitte die Ausgabe von
list TYPE=MQTT2_SERVER subscriptionshier anhaengen?

Ich vermute, dass zigbee2mqtt das gleiche Topic doppelt abonniert, deswegen bekommt sie die Nachricht doppelt.
Ich habe MQTT2_SERVER angepasst, dass in solchen Faellen nur einmal gesendet wird.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 07 Dezember 2018, 21:48:11
Gerne doch:
MQTT2_FHEM_Server_127.0.0.1_58436     zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.2157 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.21563 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.21556 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.21549 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.21543 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.21536 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.21529 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.21521 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.21515 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.21508 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.21501 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.2149 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.21034 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.21024 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.21015 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.21006 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/get=1544206741.20997 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/set=1544206741.20987 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/get=1544206741.20977 zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/set=1544206741.20968 zigbee2mqtt/+/+/+/+/+/+/+/+/+/get=1544206741.20958 zigbee2mqtt/+/+/+/+/+/+/+/+/+/set=1544206741.20948 zigbee2mqtt/+/+/+/+/+/+/+/+/get=1544206741.20938 zigbee2mqtt/+/+/+/+/+/+/+/+/set=1544206741.20928 zigbee2mqtt/+/+/+/+/+/+/+/get=1544206741.20918 zigbee2mqtt/+/+/+/+/+/+/+/set=1544206741.20908 zigbee2mqtt/+/+/+/+/+/+/get=1544206741.20896 zigbee2mqtt/+/+/+/+/+/+/set=1544206741.20887 zigbee2mqtt/+/+/+/+/+/get=1544206741.20877 zigbee2mqtt/+/+/+/+/+/set=1544206741.20862 zigbee2mqtt/+/+/+/+/get=1544206741.20848 zigbee2mqtt/+/+/+/+/set=1544206741.20833 zigbee2mqtt/+/+/+/get=1544206741.20822 zigbee2mqtt/+/+/+/set=1544206741.20803 zigbee2mqtt/+/+/get=1544206741.20491 zigbee2mqtt/+/+/set=1544206741.20483 zigbee2mqtt/+/get=1544206741.20475 zigbee2mqtt/+/set=1544206741.20466 zigbee2mqtt/bridge/config/+=1544206741.20445 zigbee2mqtt/bridge/networkmap=1544206741.21576
MQTT2_FHEM_Server_192.168.0.136_11563     cmnd/DVES_1D753D/#=1544206575.52731 gosund-5437/cmnd/#=1544206575.52699 sonoffs/cmnd/#=1544206575.52721
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 07 Dezember 2018, 22:28:40
Abend,

in der mqtt2.template ist aktuell ein Typo drin, es wird deshalb das Attribut "setList" bei "colorbulbWithoutColorTemp"-Template nicht gesetzt.
Zeile 57:94,  ist ne Klammer zuviel.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 08 Dezember 2018, 15:05:20
Zitat
in der mqtt2.template ist aktuell ein Typo drin, es wird deshalb das Attribut "setList" bei "colorbulbWithoutColorTemp"-Template nicht gesetzt.
Danke fuer den Hinweis, habe gestern schon gefixt, siehe
https://forum.fhem.de/index.php/topic,90145.msg869098.html#msg869098

@Papaloewe: meiner Ansicht nach ist zigbee2mqtt meshugge, jedenfalls was subscriptions angeht. Statt jeweils 19 Subscriptions mit variablen Anzahl von + fuer get und set wuerde ich jeweils nur eine mit einem # verwenden. So in der Art, wie sonoff (zweite Zeile) das macht. Bei dem Praefix reicht eigentlich auch nur eine Einzige: zigbee2mqtt/#
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 08 Dezember 2018, 16:41:13
So, das ganze mit den aktuellen Dateien (update-Stand von heute morgen) nochmal durchexerziert: (Fast) alles bestens :) ! Keine Neustarts erforderlich.

Das einzige, was man wissen muss, ist dass man sich für die Lampen eben die ID's aufschreiben sollte, bevor man das Bridge-template anwendet ;) . Dann muß man den zu publishenden command einmal händisch zusammenklauben und den MQTT2_SERVER das schicken lassen, that's all.

Werde das Wiki demnächst noch updaten, anbei aber mal noch die aktuellen template-Definitionen. Da sind kleine Modifikationen gg. dem allgemeinen Stand drin, die m.E. sinvoll sind:

###########################################
# zigbee2mqtt
# The zigbee2mqtt bridge device
name:zigbee2mqtt_bridge
filter:TYPE=MQTT2_DEVICE
attr DEVICE bridgeRegexp zigbee2mqtt/0x([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr DEVICE setList\
  permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1\
  remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1\
  log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1\
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
  network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1\
  devicelist:noArg zigbee2mqtt/bridge/config/devices


# A dimmable light connected via zigbee2mqtt
name:zigbee2mqtt_bulb
filter:TYPE=MQTT2_DEVICE
par:NAMEINTHEBRIDGE;name of this device in the bridge;{ AttrVal("DEVICE","readingList","") =~ m,zigbee2mqtt/(.*):, ? $1 : undef }
attr DEVICE icon light_control
attr DEVICE devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr DEVICE webCmd toggle:on:off:brightness
attr DEVICE setList \
  on:noArg zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"ON"}\
  off:noArg zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"OFF"}\
  brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/NAMEINTHEBRIDGE/set {"state":"on","$EVTPART0":"$EVTPART1"}
Was ich persönlich noch ändern würde/werde, wäre "toggle:on:off:" wieder zu entfernen. Das ist m.E. nicht nötig, wenn man das devStateIcon nutzt: das zeigt doch schon an, ob bzw. sogar wie sehr die Lampe an oder aus ist und toggelt dann beim draufdrücken... Ist aber eine Geschmacksfrage, daher habe ich das erst mal drin gelassen.

Da ich keine color_temp-Lampen habe, denke ich zwar, dass das devStateIcon (statt der erweiterten webCmd-Angabe) da auch sinnvoll wäre, aber evtl. kann das ja jemand bestätigen, der sowas hat und getesteten Komplett-Code posten?

Schönes WE noch,
Beta-User
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 08 Dezember 2018, 19:27:35
hmm, bei mir läuft seit dem Update von heute morgen anscheinen die Kommunikaton mqtt2_bridge -> zigbee2mqtt nicht.
zigbee2mqtt -> mqtt2_bridge funktioniert dagegen tadellos, devices werden angelegt etc.

Die Publishes tauchen auch nicht im zigbee2mqtt Log auf...

--------- Update -----------
Ich glaube, es liegt am client/bridge.
Dieser wurde zwar automatisch angelegt, aber die Publishes dringen nicht durch...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 08 Dezember 2018, 20:01:16
Ja, mit dem letzten MQTT2_Server Update geht das publish scheinbar nicht mehr.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 08 Dezember 2018, 20:58:46
Ich habe keine Ahnung von Perl, aber das "last;" in Zeile 448 in "00_MQTT2_SERVER.pm"
gehört ne Zeile höher, sonst ist die Schleife nach einem durchgang schon fertig.

Siehe unten.

Bei mir läufts damit wieder einwandfrei  :)

######################################
# send topic to client if its subscription matches the topic
sub
MQTT2_SERVER_sendto($$$$)
{
  my ($shash, $hash, $topic, $val) = @_;
  return if(IsDisabled($hash->{NAME}));
  $val = "" if(!defined($val));
  foreach my $s (keys %{$hash->{subscriptions}}) {
    my $re = $s;
    $re =~ s,/?#,\\b.*,g;
    $re =~ s,\+,\\b[^/]+\\b,g;
    if($topic =~ m/^$re$/) {
      Log3 $shash, 5, "$hash->{NAME} $hash->{cid} => $topic:$val";
      addToWritebuffer($hash,
        pack("C",0x30).
        MQTT2_SERVER_calcRemainingLength(2+length($topic)+length($val)).
        pack("n", length($topic)).
        $topic.$val);
      last;
    }
  }
}
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 09 Dezember 2018, 10:55:00
Bei mir läufts damit wieder einwandfrei  :)
Danke!
Jedenfalls nach einem schnellen reload kann ich das vorläufig bestätigen!

Ansonsten: Wiki ist (im zigbee2mqtt-Teil) weitestgehend angepaßt auf die attrTemplate-Sache.
Schönheit folgt, aber mir war erst mal wichtig, dass der neue Weg einigermaßen nachvollziehbar drin ist und niemand mehr auf die kompliziertere Fährte gelockt wird.

Schönes WE zusammen!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 09 Dezember 2018, 11:40:27
Zitat
"last;" in Zeile 448 in "00_MQTT2_SERVER.pm" gehört ne Zeile höher
Danke fuer den Hinweis, habs eingecheckt.

AttrTemplate Vorschlag fuer zigbee2mqtt: ich vermisse den Parameter. Ist bridge bei zigbee2mqtt immer fest? Wie kann man zwei Instanzen unterscheiden? Ich habe fuer zigbee2mqtt_bridge bridgeRegexp uebernommen, das BRIDGENAME Parameter in bridge umbenannt, und bei zigbee2mqtt_bulb devStateIcon uebernommen.

Generell: macht mir bitte die Arbeit einfacher, indem ihr ein diff (diff -u alte_datei neue_datei) schickt.

Zitat
"toggle:on:off:" wieder zu entfernen.
Das habe ich gerade eingebaut, weil in dem anderen Thema danach gefragt wurde.
Ich wuerde es gerne drinlassen, weil fuer Neulinge einfacher ist, etwas zu entfernen, als etwas dazuzubauen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 09 Dezember 2018, 12:42:02
Ansonsten: Wiki ist (im zigbee2mqtt-Teil) weitestgehend angepaßt auf die attrTemplate-Sache.

Danke auch!  :)

Da meine Ikea Color Lampe mit der originalen zigbee2mqtt_RGB2JSON($) Funktion öfters in einem undefinierten Zustand geschaltet wurde ( Lampe blinkt mehrmals und nimmt einen komischer blauer farbton an), wenn ich die Farbe über den Colorpicker ausgewählt habe, habe ich die RGB zu CIA konverter Funktion von hier portiert https://github.com/usolved/cie-rgb-converter/.

Damit gelingen bei mir jetzt butterweiche Farbübergänge die ich über den Colorpicker auswähle.

@rudolfkoenig:
Vielleicht kannst du einen Blick drauf werfen. Es kann sein das einiges schöner und kompakter geschrieben werden kann.

Speziell die überprüfung auf NaN, da bin ich mir nicht sicher ob es so Perl konform ist.

Habe wie gesagt nicht die nötige Erfahrung mit Perl und einige "spezialitäten" wie $1, kommen mir wie schwarze Magie vor  ;).

sub
zigbee2mqtt_RGB2JSON($)
{
  # Color converter Code taken from
  # https://github.com/usolved/cie-rgb-converter/
  my $hexColor = shift(@_);
  if($hexColor =~ m/^(..)(..)(..)/){
    my ($r, $g, $b) = (hex($1), hex($2), hex($3));

    # Apply a gamma correction to the RGB values, which makes the color more
    # vivid and more the like the color displayed on the screen of your device
    $r = $r > 0.04045 ? (($r+0.055) / (1.0 + 0.055))**2.4: ($r/12.92);
    $g = $g > 0.04045 ? (($g+0.055) / (1.0 + 0.055))**2.4: ($g/12.92);
    $b = $b > 0.04045 ? (($b+0.055) / (1.0 + 0.055))**2.4: ($b/12.92);

    # RGB values to XYZ using the Wide RGB D65 conversion formula
    my $X = $r * 0.664511 + $g * 0.154324 + $b * 0.162028;
    my $Y = $r * 0.283881 + $g * 0.668433 + $b * 0.047685;
    my $Z = $r * 0.000088 + $g * 0.072310 + $b * 0.986039;

    # Calculate the xy values from the XYZ values
    my $x = sprintf("%.4f",($X / ($X + $Y + $Z)));
    my $y = sprintf("%.4f",($Y / ($X + $Y + $Z)));

    if($x eq 'nan') {
      $x = 0;
    }

    if($y eq 'nan') {
      $y = 0;
    }

    my %color_hash = (x => $x, y => $y);
    my %set_hash = ('transition' => 1, 'color' => \%color_hash);

    return toJSON(\%set_hash);
  }
}

Vielen Dank für die gute Arbeit an alle!


--- Update ---
Soo, nachdem ich mich jetzt etwas mehr mit zigbee2mqtt beschäftigt habe, sehe ich das die obige Funktion eigentlich humbug ist.
Man kann die RGB Werte direkt an zigbee2mqtt senden, was dir originale zigbee2mqtt_RGB2JSON Funktion auch tut.
Die Frage ist, warum funktioniert es bei mir nicht?

Soll ich die Funktion aus dem Thread entfernen?

--- Update ---
Anscheinend reicht es aus die originale Funktion wie folgt abzuändern damit der Farbwechsel klappt:

sub
zigbee2mqtt_RGB2JSON($)
{
  my $rgb = shift(@_);
  $rgb =~ m/^(..)(..)(..)/;
  print $rgb;
  my( $r, $g, $b ) = (hex($1), hex($2), hex($3));
  my %color_hash = (r => $r, g => $g, b => $b);
  my %set_hash = ('transition' => 1, 'color' => \%color_hash);
  print %color_hash;
  return toJSON(\%set_hash);
}

Kann sich jemand dazu äussern?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 09 Dezember 2018, 18:09:26
@maclovin:
Version1:
- macht eine gamma Korrektur. Ob das in FHEM an dieser Stelle richtig ist, wage ich zu bezweifeln.
- die rgb Werte beim Eingang sind ganzzahlig im Bereich 0..255. Diese auf 0.04045 zu vergleichen ist ...sinnlos.
- ich habe es nicht geschafft, sprintf zu nan zu ueberreden: bei Problemen gibt es ein WARNING im fhem-log, und es wird 0 zurueckgeliefert.

Version2 liefert Werte von 0 bis 255, in der eingecheckten Version von 0 bis 1 (als Fliesskomma). Ich kann nicht beurteilen, was korrekt ist.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 09 Dezember 2018, 18:53:05
AttrTemplate Vorschlag fuer zigbee2mqtt: ich vermisse den Parameter. Ist bridge bei zigbee2mqtt immer fest?
Wie kann man zwei Instanzen unterscheiden? Ich habe fuer zigbee2mqtt_bridge bridgeRegexp uebernommen, das BRIDGENAME Parameter in bridge umbenannt, und bei zigbee2mqtt_bulb devStateIcon uebernommen.
Danke; wenn man das parametrieren will, muß man - wie bereits vermutet - die Angabe "zigbee2mqtt" ändern, also den allerersten Teil des Topic-Strings. In der yaml (https://github.com/Koenkk/zigbee2mqtt/wiki/Running-the-bridge) findet sich das so:
base_topic: zigbee2mqttBei Gelegenheit versuche ich das noch wie gewünscht zu parametrisieren, ist aber m.E. nicht eilig (und ich brauche dafür mehr Zeit wie ein Perl/Regex-Experte).

Zitat
Generell: macht mir bitte die Arbeit einfacher, indem ihr ein diff (diff -u alte_datei neue_datei) schickt.
Sorry, war heute morgen sehr eilig...

Zitat
Das habe ich gerade eingebaut, weil in dem anderen Thema danach gefragt wurde.Ich wuerde es gerne drinlassen, weil fuer Neulinge einfacher ist, etwas zu entfernen, als etwas dazuzubauen.
Ich nehme dazu einen Hinweis ins Wiki, dass man das gefahrlos verkürzen kann, das Argument ist ansonsten nachvollziehbar (deswegen war es auch im template-Vorschlag noch drin). (Ansonsten gehe ich davon aus, dass die Vorschlagenden im anderen Thread nicht wußten, dass man über das Icon toggeln kann, aber egal).

Danke auch von meiner Seite für die eine oder andere Lehrstunde und die prompte Reaktion auf Probleme!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 09 Dezember 2018, 19:04:23
@maclovin:
Version1:
- macht eine gamma Korrektur. Ob das in FHEM an dieser Stelle richtig ist, wage ich zu bezweifeln.
- die rgb Werte beim Eingang sind ganzzahlig im Bereich 0..255. Diese auf 0.04045 zu vergleichen ist ...sinnlos.
- ich habe es nicht geschafft, sprintf zu nan zu ueberreden: bei Problemen gibt es ein WARNING im fhem-log, und es wird 0 zurueckgeliefert.

Version2 liefert Werte von 0 bis 255, in der eingecheckten Version von 0 bis 1 (als Fliesskomma). Ich kann nicht beurteilen, was korrekt ist.

Wie bereits geschrieben, ist die Version1 humbug und unnötig und sollte nicht verwendet werden, da die Umwandlung
ja schon durch zigbee2mqtt gemacht wird. Habs zu spät gesehen...

Ich denke Werte von 0-255 werden richtig sein.
Siehe dazu: https://github.com/Koenkk/zigbee2mqtt/wiki/MQTT-topics-and-message-structure#zigbee2mqttdevice_idset

Hab noch was vergessen...
Wie komme ich eigentlich, nachdem ich z.B Blau eingestellt habe, wieder zurück auf den "normalen" Farbton zurück?
Also den Farbton, den die Lampe beim einschalten hat.
FFFFFF wäre zu einfach gewesen... :)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: gvzdus am 10 Dezember 2018, 07:21:03
Zitat
Ja, mit dem letzten MQTT2_Server Update geht das publish scheinbar nicht mehr.

Merci - Ich versuche gerade, die Shelly-Bulbs mit MQTT2_SERVER zum Laufen zu kriegen, und habe etwas gesucht, wo der Fehler liegt, dass ich bisher zwar Lesen kann (und auch der Shelly-Bulb gar nicht so schlecht automatisch angelegt wurde), aber kein Kommando auf den Rückweg zur Birne geht.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 10 Dezember 2018, 07:37:09
die Shelly-Bulbs
Kannst du nach dem heutigen Update dann mal versuchen, ein template für die Teile (mit) beizusteuern?

Für die Diskussion dazu würde ich diesen Thread vorschlagen: https://forum.fhem.de/index.php/topic,94060.0.html, da geht es sowieso seit einiger Zeit nur noch um templates für diverse shellies...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: gvzdus am 10 Dezember 2018, 07:39:36
Merci, mache ich! Sorry, den Thread hatte ich mit der Suche nicht als Top-Treffer gefunden.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 10 Dezember 2018, 09:21:59
Zitat
Ich denke Werte von 0-255 werden richtig sein.
Siehe dazu: https://github.com/Koenkk/zigbee2mqtt/wiki/MQTT-topics-and-message-structure#zigbee2mqttdevice_idset (https://github.com/Koenkk/zigbee2mqtt/wiki/MQTT-topics-and-message-structure#zigbee2mqttdevice_idset)
Danke fuer diesen Link, ich habe die Funktion jetzt auf 0..255 umgestellt.
Da ist ja noch Platz fuer einige Templates :)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 11 Dezember 2018, 10:48:18
base_topic: zigbee2mqttBei Gelegenheit versuche ich das noch wie gewünscht zu parametrisieren
Anbei ein patch (hoffe, das richtige Format gewählt zu haben), der das Basetopic dynamisch nutzt, getestet für bridge und einfache dimmbare Bulb.

Dann habe ich da noch die shellybulb von hier mit eingepflegt: https://forum.fhem.de/index.php/topic,94060.msg870195.html#msg870195 (https://forum.fhem.de/index.php/topic,94060.msg870195.html#msg870195)
Da kann ich naturgemäß nichts weiter dazu sagen, schien mir plausibel...

Gruß, Beta-User

EDIT: Anhang entfernt (ist eingepflegt)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 11 Dezember 2018, 15:52:42
Danke, habs eingecheckt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: essera am 11 Dezember 2018, 17:58:31
Hier noch eine Rückmeldung zu der Änderung von gestern:

https://forum.fhem.de/index.php/topic,91394.msg870001.html#msg870001
Zitat
Danke fuer diesen Link, ich habe die Funktion jetzt auf 0..255 umgestellt.
Farbwechsel funktioniert mit HUE Color Bulb nun einwandfrei !

Internals:
   DEVICETOPIC test_hue
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 69
   MQTT2_FHEM_Server_TIME 2018-12-11 17:50:52
   MSGCNT     69
   NAME       test_hue
   NR         22
   STATE      on
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-12-11 17:50:52   brightness      30
     2018-12-11 17:50:52   color_temp      153
     2018-12-11 17:50:52   color_x         0.169
     2018-12-11 17:50:52   color_y         0.362
     2018-12-11 17:50:52   state           ON
Attributes:
   IODev      MQTT2_FHEM_Server
   devStateIcon {zigbee2mqtt_devStateIcon255($name)}
   icon       hue_filled_white_and_color_e27_b22
   readingList zigbee_pi:zigbee2mqtt/0x0017880102784501:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    on:noArg zigbee2mqtt/0x0017880102784501/set {"state":"ON"}
  off:noArg zigbee2mqtt/0x0017880102784501/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/0x0017880102784501/set {"state":"on","$EVTPART0":"$EVTPART1"}
  color:colorpicker,RGB {"zigbee2mqtt/0x0017880102784501/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
   stateFormat {lc ReadingsVal("$name","state",0)}
   verbose    5
   webCmd     toggle:on:off:brightness:color

Das DevStateIcon ebenso !
Vielen Dank dafür.  :)

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: supernova1963 am 11 Dezember 2018, 18:02:44
Benötige Unterstützung:

in meinem 1. Testsystem habe ich einen bisher nie da gewesenen Status im Bezug auf das autocreate von MQTT2_SERVER.
Es werden ausschließlich  FHEM Geräte im Raum hidden vom Typ MQTT2_SERVER für jeden verbunden MQTT_Client angelegt.
Die entsprechenden MQTT2_DEVICES im Raum MQTT2_DEVICE fehlen.

Da ich soviel "rumgespielt" habe, habe ich sicherheitshalber ein neues Testsystem angelegt. Hier funktioniert alles, wie erwartet.

Kann mir einer den Status des 1. Testsystems erklären oder vielleicht sogar beheben?

Danke

Gernot
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 11 Dezember 2018, 19:29:31
Hier noch eine Rückmeldung zu der Änderung von gestern:

https://forum.fhem.de/index.php/topic,91394.msg870001.html#msg870001Farbwechsel funktioniert mit HUE Color Bulb nun einwandfrei !

Internals:
   DEVICETOPIC test_hue
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 69
   MQTT2_FHEM_Server_TIME 2018-12-11 17:50:52
   MSGCNT     69
   NAME       test_hue
   NR         22
   STATE      on
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-12-11 17:50:52   brightness      30
     2018-12-11 17:50:52   color_temp      153
     2018-12-11 17:50:52   color_x         0.169
     2018-12-11 17:50:52   color_y         0.362
     2018-12-11 17:50:52   state           ON
Attributes:
   IODev      MQTT2_FHEM_Server
   devStateIcon {zigbee2mqtt_devStateIcon255($name)}
   icon       hue_filled_white_and_color_e27_b22
   readingList zigbee_pi:zigbee2mqtt/0x0017880102784501:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    on:noArg zigbee2mqtt/0x0017880102784501/set {"state":"ON"}
  off:noArg zigbee2mqtt/0x0017880102784501/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/0x0017880102784501/set {"state":"on","$EVTPART0":"$EVTPART1"}
  color:colorpicker,RGB {"zigbee2mqtt/0x0017880102784501/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
   stateFormat {lc ReadingsVal("$name","state",0)}
   verbose    5
   webCmd     toggle:on:off:brightness:color

Das DevStateIcon ebenso !
Vielen Dank dafür.  :)

Funktioniert auch für meine Osram Lightify W32, vielen Dank.
Zwei kleine Schönheitsfehler:
Beim Attribut webcmd sollte noch das "toggel" gelöscht werden und die maximale Helligkeit geht nur bis 254 und nicht 255.
Warum weiß ich leider nicht.  :(
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 12 Dezember 2018, 08:01:48
Es werden ausschließlich  FHEM Geräte im Raum hidden vom Typ MQTT2_SERVER für jeden verbunden MQTT_Client angelegt.
Hallo Gernot,
hat es einen Grund, warum nicht alles MQTT2_Clinents mit demselben Server verbunden sind?

Funktioniert auch für meine Osram Lightify W32, vielen Dank.
Zwei kleine Schönheitsfehler:
Beim Attribut webcmd sollte noch das "toggel" gelöscht werden und die maximale Helligkeit geht nur bis 254 und nicht 255.
Warum weiß ich leider nicht.  :(
Danke für die Rückmeldung.
Das mit den 254 war mir bisher auch nicht aufgefallen. Es wird auch nur bis 254 gesendet... Entweder habe ich die slider-Funktion nicht richtig verstanden, oder das ist ein bug im colorpicker?

Das mit den "zu vielen" Argumenten in webCmd hatten wir neulich hier schon diskutiert, denn eigentlich benötigt man m.E. gar nichts außer dem devStateIcon und dem Slider. Das Argument für die "volle" Liste: löschen ist für Einsteiger einfacher als sich zu überlegen, was noch dazukommen soll.

Bei Gelegenheit ergänze ich im Wiki den Teil zu der attrTemplate-Funktion noch um Hinweise, wie das gedacht ist usw.. Im Moment gibt es nur einen kurzen Abschnitt in den "Praxisbeispielen". Mind. vorerst würde ich das auch da belassen, oder gibt es andere Vorschläge? Rückmeldung zu diesem Teil bitte hier (https://forum.fhem.de/index.php/topic,94380.0.html).

@gvzdus:
Könntest du von der Bulb einen screenshot machen und ein "vorher" und ein "nachher"-list von der Bulb liefern (bitte auch in dem Wiki-Thread)? Dann packe ich das mal als Beispiel in's Wiki...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 12 Dezember 2018, 10:04:21
Zitat
Es werden ausschließlich  FHEM Geräte im Raum hidden vom Typ MQTT2_SERVER für jeden verbunden MQTT_Client angelegt.
Ich gehe davon aus, dass damit die einzelnen "TCP-Connections" gemeint sind, das ist normal, und ist bei FHEMWEB/telnet genauso. Bedeutet, dass MQTT-Geraete eine Verbindung zum FHEM via MQTT2_SERVER hergestellt haben.

Zitat
Die entsprechenden MQTT2_DEVICES im Raum MQTT2_DEVICE fehlen.
Vermutlich ist autocreate im MQTT2_SERVER nicht auf 1. Das ist seit dem update heute die Voreinstellung, davor musste man es explizit setzen. Wenn das trotz autocreate nicht funktioniet, bitte ein "attr MQTT2_SERVER verbose 5" log hier anhaengen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: supernova1963 am 12 Dezember 2018, 17:16:08
...Wenn das trotz autocreate nicht funktioniet, bitte ein "attr MQTT2_SERVER verbose 5" log hier anhaengen.
List MQTT2_SERVER device:
Internals:
   CONNECTS   121
   DEF        1883 global
   FD         14
   NAME       mqtt2
   NR         112
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2018-12-12 17:08:05   RETAIN          {"/fhem/05_Gaestebad/SONOFFPOW_64/tele/LWT":"online","/fhem/23_Heizung/SONOFFPOW_61/tele/LWT":"online","/fhem/23_Heizung/SONOFFPOW_66/tele/LWT":"online","/fhem/31_Eingang/SONOFFPOW_65/tele/LWT":"online","zigbee2mqtt/bridge/state":"online"}
     2018-12-12 17:08:05   nrclients       6
     2018-12-11 17:54:29   state           Initialized
   clients:
     mqtt2_192.168.1.200_57886 1
     mqtt2_192.168.1.200_57920 1
     mqtt2_192.168.1.61_32197 1
     mqtt2_192.168.1.64_16565 1
     mqtt2_192.168.1.65_1602 1
     mqtt2_192.168.1.66_11798 1
   retain:
     /fhem/05_Gaestebad/SONOFFPOW_64/tele/LWT:
       ts         1544547278.45342
       val        online
     /fhem/23_Heizung/SONOFFPOW_61/tele/LWT:
       ts         1544547278.50851
       val        online
     /fhem/23_Heizung/SONOFFPOW_66/tele/LWT:
       ts         1544590443.03675
       val        online
     /fhem/31_Eingang/SONOFFPOW_65/tele/LWT:
       ts         1544630885.8049
       val        online
     zigbee2mqtt/bridge/state:
       ts         1544547279.47304
       val        online
Attributes:
   autocreate 1
   room       99_System
   verbose    5

Auszug Log:
2018.12.12 17:02:35 5 : PINGREQ:
2018.12.12 17:03:19 5 : PINGREQ:
2018.12.12 17:03:19 4 : mqtt2_192.168.1.61_32197 SONOFFPOW_61 PINGREQ
2018.12.12 17:03:22 5 : PINGREQ:
2018.12.12 17:03:22 4 : mqtt2_192.168.1.64_16565 SONOFFPOW_64 PINGREQ
2018.12.12 17:03:22 5 : PINGREQ:
2018.12.12 17:03:22 4 : mqtt2_192.168.1.65_31487 SONOFFPOW_65 PINGREQ
2018.12.12 17:03:25 5 : PINGREQ:
2018.12.12 17:03:25 4 : mqtt2_192.168.1.66_11798 SONOFFPOW_66 PINGREQ
2018.12.12 17:03:27 5 : PUBLISH: (0))/fhem/31_Eingang/SONOFFPOW_65/tele/SENSOR{"Time":"2018-12-12T17:03:27","ENERGY":{"TotalStartTime":"2018-11-27T18:44:07","Total":5.464,"Yesterday":0.037,"Today":0.020,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":232,"Current":0.000}}
2018.12.12 17:03:27 4 : mqtt2_192.168.1.65_31487 SONOFFPOW_65 PUBLISH /fhem/31_Eingang/SONOFFPOW_65/tele/SENSOR:{"Time":"2018-12-12T17:03:27","ENERGY":{"TotalStartTime":"2018-11-27T18:44:07","Total":5.464,"Yesterday":0.037,"Today":0.020,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":232,"Current":0.000}}
2018.12.12 17:03:27 5 : mqtt2: dispatch autocreate:SONOFFPOW_65:/fhem/31_Eingang/SONOFFPOW_65/tele/SENSOR:{"Time":"2018-12-12T17:03:27","ENERGY":{"TotalStartTime":"2018-11-27T18:44:07","Total":5.464,"Yesterday":0.037,"Today":0.020,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":232,"Current":0.000}}
2018.12.12 17:03:29 5 : PINGREQ:
2018.12.12 17:03:29 4 : mqtt2_192.168.1.61_32197 SONOFFPOW_61 PINGREQ
2018.12.12 17:03:32 5 : PINGREQ:
2018.12.12 17:03:32 4 : mqtt2_192.168.1.64_16565 SONOFFPOW_64 PINGREQ
2018.12.12 17:03:32 5 : PINGREQ:
2018.12.12 17:03:32 4 : mqtt2_192.168.1.65_31487 SONOFFPOW_65 PINGREQ
2018.12.12 17:03:37 5 : PINGREQ:
2018.12.12 17:03:37 4 : mqtt2_192.168.1.66_11798 SONOFFPOW_66 PINGREQ
2018.12.12 17:03:37 5 : PINGREQ:
2018.12.12 17:03:37 4 : mqtt2_192.168.1.200_57886 HA-Bridge PINGREQ
2018.12.12 17:03:45 5 : PINGREQ:
2018.12.12 17:03:45 4 : mqtt2_192.168.1.66_11798 SONOFFPOW_66 PINGREQ
2018.12.12 17:03:46 5 : PINGREQ:
2018.12.12 17:03:46 4 : mqtt2_192.168.1.200_57920 zigbee2mqtt PINGREQ
2018.12.12 17:03:49 5 : PINGREQ:
2018.12.12 17:03:49 4 : mqtt2_192.168.1.61_32197 SONOFFPOW_61 PINGREQ
2018.12.12 17:03:52 5 : PINGREQ:
2018.12.12 17:03:52 4 : mqtt2_192.168.1.64_16565 SONOFFPOW_64 PINGREQ
2018.12.12 17:03:52 5 : PINGREQ:
2018.12.12 17:03:52 4 : mqtt2_192.168.1.65_31487 SONOFFPOW_65 PINGREQ
2018.12.12 17:03:54 5 : PUBLISH: (0)(/fhem/23_Heizung/SONOFFPOW_61/tele/STATE{"Time":"2018-12-12T17:03:54","Uptime":"14T22:16:24","Vcc":3.190,"POWER":"ON","Wifi":{"AP":2,"SSId":"RAUNET Fritz WLAN","BSSId":"88:1F:A1:35:40:0A","Channel":11,"RSSI":50}}
2018.12.12 17:03:54 4 : mqtt2_192.168.1.61_32197 SONOFFPOW_61 PUBLISH /fhem/23_Heizung/SONOFFPOW_61/tele/STATE:{"Time":"2018-12-12T17:03:54","Uptime":"14T22:16:24","Vcc":3.190,"POWER":"ON","Wifi":{"AP":2,"SSId":"RAUNET Fritz WLAN","BSSId":"88:1F:A1:35:40:0A","Channel":11,"RSSI":50}}
2018.12.12 17:03:54 5 : mqtt2: dispatch autocreate:SONOFFPOW_61:/fhem/23_Heizung/SONOFFPOW_61/tele/STATE:{"Time":"2018-12-12T17:03:54","Uptime":"14T22:16:24","Vcc":3.190,"POWER":"ON","Wifi":{"AP":2,"SSId":"RAUNET Fritz WLAN","BSSId":"88:1F:A1:35:40:0A","Channel":11,"RSSI":50}}
2018.12.12 17:03:54 5 : PUBLISH: (0))/fhem/23_Heizung/SONOFFPOW_61/tele/SENSOR{"Time":"2018-12-12T17:03:54","ENERGY":{"TotalStartTime":"2018-11-27T18:40:14","Total":128.938,"Yesterday":1.558,"Today":1.112,"Period":5,"Power":60,"ApparentPower":88,"ReactivePower":65,"Factor":0.68,"Voltage":226,"Current":0.391}}
2018.12.12 17:03:54 4 : mqtt2_192.168.1.61_32197 SONOFFPOW_61 PUBLISH /fhem/23_Heizung/SONOFFPOW_61/tele/SENSOR:{"Time":"2018-12-12T17:03:54","ENERGY":{"TotalStartTime":"2018-11-27T18:40:14","Total":128.938,"Yesterday":1.558,"Today":1.112,"Period":5,"Power":60,"ApparentPower":88,"ReactivePower":65,"Factor":0.68,"Voltage":226,"Current":0.391}}
2018.12.12 17:03:54 5 : mqtt2: dispatch autocreate:SONOFFPOW_61:/fhem/23_Heizung/SONOFFPOW_61/tele/SENSOR:{"Time":"2018-12-12T17:03:54","ENERGY":{"TotalStartTime":"2018-11-27T18:40:14","Total":128.938,"Yesterday":1.558,"Today":1.112,"Period":5,"Power":60,"ApparentPower":88,"ReactivePower":65,"Factor":0.68,"Voltage":226,"Current":0.391}}
2018.12.12 17:03:55 5 : PINGREQ:
2018.12.12 17:03:55 4 : mqtt2_192.168.1.66_11798 SONOFFPOW_66 PINGREQ
2018.12.12 17:04:02 5 : PINGREQ:
2018.12.12 17:04:02 4 : mqtt2_192.168.1.64_16565 SONOFFPOW_64 PINGREQ
2018.12.12 17:04:02 5 : PINGREQ:
2018.12.12 17:04:02 4 : mqtt2_192.168.1.65_31487 SONOFFPOW_65 PINGREQ
2018.12.12 17:04:05 5 : PINGREQ:
2018.12.12 17:04:05 4 : mqtt2_192.168.1.66_11798 SONOFFPOW_66 PINGREQ
2018.12.12 17:04:09 5 : PINGREQ:
2018.12.12 17:04:09 4 : mqtt2_192.168.1.61_32197 SONOFFPOW_61 PINGREQ
2018.12.12 17:04:12 5 : PINGREQ:
2018.12.12 17:04:12 4 : mqtt2_192.168.1.64_16565 SONOFFPOW_64 PINGREQ
2018.12.12 17:04:12 5 : PINGREQ:
2018.12.12 17:04:12 4 : mqtt2_192.168.1.65_31487 SONOFFPOW_65 PINGREQ
2018.12.12 17:04:15 5 : PUBLISH: (0)(/fhem/23_Heizung/SONOFFPOW_66/tele/STATE{"Time":"2018-12-12T17:04:15","Uptime":"0T23:20:45","Vcc":3.186,"POWER":"ON","Wifi":{"AP":1,"SSId":"RAUNET Fritz WLAN","BSSId":"E8:DF:70:7A:F3:89","Channel":6,"RSSI":72}}
2018.12.12 17:04:15 4 : mqtt2_192.168.1.66_11798 SONOFFPOW_66 PUBLISH /fhem/23_Heizung/SONOFFPOW_66/tele/STATE:{"Time":"2018-12-12T17:04:15","Uptime":"0T23:20:45","Vcc":3.186,"POWER":"ON","Wifi":{"AP":1,"SSId":"RAUNET Fritz WLAN","BSSId":"E8:DF:70:7A:F3:89","Channel":6,"RSSI":72}}
2018.12.12 17:04:15 5 : mqtt2: dispatch autocreate:SONOFFPOW_66:/fhem/23_Heizung/SONOFFPOW_66/tele/STATE:{"Time":"2018-12-12T17:04:15","Uptime":"0T23:20:45","Vcc":3.186,"POWER":"ON","Wifi":{"AP":1,"SSId":"RAUNET Fritz WLAN","BSSId":"E8:DF:70:7A:F3:89","Channel":6,"RSSI":72}}
2018.12.12 17:04:15 5 : PUBLISH: (0))/fhem/23_Heizung/SONOFFPOW_66/tele/SENSOR{"Time":"2018-12-12T17:04:15","ENERGY":{"TotalStartTime":"2018-11-27T18:45:58","Total":92.169,"Yesterday":0.884,"Today":0.678,"Period":4,"Power":44,"ApparentPower":61,"ReactivePower":42,"Factor":0.73,"Voltage":234,"Current":0.261}}
2018.12.12 17:04:15 4 : mqtt2_192.168.1.66_11798 SONOFFPOW_66 PUBLISH /fhem/23_Heizung/SONOFFPOW_66/tele/SENSOR:{"Time":"2018-12-12T17:04:15","ENERGY":{"TotalStartTime":"2018-11-27T18:45:58","Total":92.169,"Yesterday":0.884,"Today":0.678,"Period":4,"Power":44,"ApparentPower":61,"ReactivePower":42,"Factor":0.73,"Voltage":234,"Current":0.261}}
2018.12.12 17:04:15 5 : mqtt2: dispatch autocreate:SONOFFPOW_66:/fhem/23_Heizung/SONOFFPOW_66/tele/SENSOR:{"Time":"2018-12-12T17:04:15","ENERGY":{"TotalStartTime":"2018-11-27T18:45:58","Total":92.169,"Yesterday":0.884,"Today":0.678,"Period":4,"Power":44,"ApparentPower":61,"ReactivePower":42,"Factor":0.73,"Voltage":234,"Current":0.261}}
2018.12.12 17:04:15 5 : PINGREQ:
2018.12.12 17:04:15 4 : mqtt2_192.168.1.66_11798 SONOFFPOW_66 PINGREQ
2018.12.12 17:04:19 5 : PINGREQ:
2018.12.12 17:04:19 4 : mqtt2_192.168.1.61_32197 SONOFFPOW_61 PINGREQ
2018.12.12 17:04:22 5 : PINGREQ:
2018.12.12 17:04:22 4 : mqtt2_192.168.1.64_16565 SONOFFPOW_64 PINGREQ
2018.12.12 17:04:22 5 : PINGREQ:
2018.12.12 17:04:22 4 : mqtt2_192.168.1.65_31487 SONOFFPOW_65 PINGREQ
...

Vielen Dank für die Unterstützung,

Gernot
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 12 Dezember 2018, 17:23:39
Bei den Sonoff steht jeweils vorne ein "/". Ist das Absicht?
Kenne das eher so, dass MQTT-Topics mit einem "normalen" Textstring beginnen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: supernova1963 am 12 Dezember 2018, 19:28:56
2. Testsystem, das einwandfrei funktioniert:

Internals:
   CONNECTS   1
   DEF        1884 global
   FD         8
   NAME       mqtt2
   NR         22
   PORT       1884
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2018-12-12 17:17:05   RETAIN          {"/fhem/21_Buero/SONOFFTOUCH_01/tele/LWT":"online","zigbee2mqtt/bridge/state":"offline"}
     2018-12-12 17:17:05   nrclients       1
     2018-12-12 17:16:55   state           Initialized
   clients:
     mqtt2_192.168.1.81_12309 1
   retain:
     /fhem/21_Buero/SONOFFTOUCH_01/tele/LWT:
       ts         1544631425.67046
       val        online
     zigbee2mqtt/bridge/state:
       ts         1544631415.48386
       val        offline
Attributes:
   autocreate 1
Hier funktionieren beide Varianten ...

Danke

Gernot
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: gvzdus am 12 Dezember 2018, 19:44:35
@Beta-User:

Softwarestand von heute, 19:17 Uhr:

1) MQTT2_SERVER: autocreate auf 1
2) Statusupdate des Shellybulb erzwingen (Aus- und Einschalten, physikalisch oder per Web-UI).

Gerät wird angelegt, und sieht so aus:

Internals:
   CFGFN     
   CID        shellybulb_3CC533
   DEF        shellybulb_3CC533
   DEVICETOPIC MQTT2_shellybulb_3CC533
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_shellybulb_3CC533
   NR         246
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-12-12 19:28:08   status_blue     0
     2018-12-12 19:28:08   status_brightness 61
     2018-12-12 19:28:08   status_effect   0
     2018-12-12 19:28:08   status_gain     26
     2018-12-12 19:28:08   status_green    0
     2018-12-12 19:28:08   status_ison     true
     2018-12-12 19:28:08   status_mode     color
     2018-12-12 19:28:08   status_red      255
     2018-12-12 19:28:08   status_temp     3250
     2018-12-12 19:28:08   status_white    0
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList shellybulb_3CC533:shellies/shellybulb-3CC533/color/0/status:.* { json2nameValue($EVENT, 'status_') }
   room       MQTT2_DEVICE

3) Attr-Template "shellybulb" auswählen und Enter
4) "Delete Readings"-Meldung quittieren
5) Seite neu laden
6) GUI bietet jetzt schon An- und Ausschalten, einmal durchführen, damit die Readings auch durch einen neuen Status initialisiert werden
7) Nochmal Seite neu laden.

Ergebnis:

Internals:
   CFGFN     
   CID        shellybulb_3CC533
   DEF        shellybulb_3CC533
   DEVICETOPIC MQTT2_shellybulb_3CC533
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 3
   MQTT2_FHEM_Server_TIME 2018-12-12 19:29:58
   MSGCNT     3
   NAME       MQTT2_shellybulb_3CC533
   NR         246
   STATE      off
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2018-12-12 19:29:58   blue            0
     2018-12-12 19:29:58   brightness      61
     2018-12-12 19:29:58   effect          0
     2018-12-12 19:29:58   gain            26
     2018-12-12 19:29:58   green           0
     2018-12-12 19:29:58   ison            false
     2018-12-12 19:29:58   mode            color
     2018-12-12 19:29:58   red             255
     2018-12-12 19:29:58   rgb             FF0000
     2018-12-12 19:29:58   shellies/shellybulb-3CC533/color/0 off
     2018-12-12 19:29:57   state           off
     2018-12-12 19:29:58   temp            3250
     2018-12-12 19:29:58   white           0
Attributes:
   IODev      MQTT2_FHEM_Server
   genericDeviceType light
   icon       light_control
   readingList shellies/shellybulb-3CC533/color/0/status:.* {json2nameValue($EVENT)}
shellybulb_3CC533:shellies/shellybulb-3CC533/color/0:.* shellies/shellybulb-3CC533/color/0
   room       MQTT2_DEVICE
   setList    off:noArg shellies/shellybulb-3CC533/color/0/command off
  on:noArg shellies/shellybulb-3CC533/color/0/command on
  brightness:colorpicker,BRI,0,1,100 shellies/shellybulb-3CC533/color/0/set {"ison":"true","mode":"white","$EVTPART0":"$EVTPART1"}
  temp:colorpicker,CT,3000,10,6500 shellies/shellybulb-3CC533/color/0/set {"ison":"true","mode":"white","$EVTPART0":"$EVTPART1"}
  rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/; "shellies/shellybulb-3CC533/color/0/set {\"ison\":true,\"mode\":\"color\",\"red\":".hex($1).",\"green\":".hex($2)."\"blue\":".hex($3) }
   userReadings rgb {sprintf("%02X%02X%02X", ReadingsVal($name,"red",99), ReadingsVal($name,"green",99), ReadingsVal($name,"blue",99))}
   webCmd     on:off:brightness:temp:rgb

Oder als Screenshot wie angehängt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 12 Dezember 2018, 22:14:21
@gvzdus:Danke! Kommt bei Gelegenheit ins Wiki.

@Rudi
Habe jetzt nochmal etwas rumgespielt mit der Frage, wann state und wann irgendein anderes Reading zu aktualisieren wäre.
Da es in diesem Thread (https://forum.fhem.de/index.php/topic,94377.0.html) auch um die Frage ging, wie man eigentlich zwischen Kommando "Mach irgendwas" und der Rückmeldung "Jawoll, ist durch" unterscheiden kann.

Folgendes scheint zu funktionieren:
#############################
sub
MQTT2_DEVICE_Set($@)
{
  my ($hash, @a) = @_;
  return "Not enough arguments for set" if(!defined($a[1]));

  my $sl = AttrVal($hash->{NAME}, "setList", "");
  my ($sets,$cmdList) = MQTT2_getCmdHash($sl);
  my $cmdName = $a[1];
  my $cmd = $sets->{$cmdName};
  return SetExtensions($hash, $cmdList, @a) if(!$cmd);
  return undef if(IsDisabled($hash->{NAME}));

  $cmd = MQTT2_buildCmd($hash, \@a, $cmd);
  return if(!$cmd);
  IOWrite($hash, "publish", $cmd);
  if ($sl =~  /\b$cmdName.noArg\b/|| $sl =~ /\b$cmdName \b/) {
    readingsSingleUpdate($hash, "state", "set_".$cmdName, 1);
  } elsif ($sl =~ /\b$cmdName\b/) {
    my $v = shift @a;
    readingsSingleUpdate($hash, $v, "set_".join(" ",@a), 1);
  }
  return undef;
}
Damit wird allem, was in Senderichtung geht, ein "set_" vorangestellt, wobei alles, was nicht mit ":.* (irgendwas außer noArg) in der setList steht als Anweisung verstanden wird,  das betr. Reading zu setzen.

Vielleicht findet das noch jemand schick?

Ich hänge dann mal die vollständige patcherei von heute an.
Enthalten: Shelly1, 2, 4 von miggun von hier (https://forum.fhem.de/index.php/topic,94060.msg870803.html#msg870803), die beiden tasmota_pure-Varianten wie von osr hier (https://forum.fhem.de/index.php/topic,94060.msg870803.html#msg870803) gepostet (Achtung: nach wie vor nicht vollständige, brauchen einen gepatchten Tasmota; Anpassungen folgen hoffentlich asap), und eine Korrektur der zigbee2mqtt-Sachen mit der dynamischen Erkennung des Base_Topic.

EDIT: Anhang gelöscht...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 12 Dezember 2018, 22:49:48
Nach der aktuellen Rückmeldung von osr noch eine aktualisierte Fassung:

EDIT: Patch wieder gelöscht, da der vorherige schon eingespielt war. Aktualisierung folgt...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 12 Dezember 2018, 23:04:56
@supernova1963: ist auf dem "Problemsystem" eine autocreate Instanz konfiguriert?
In der ausgelieferten fhem.cfg gibt es eine Definition mit dem Namen autocreate.

@Beta-User:
Wegen der SetFn Aenderung:
Ich verstehe nicht, warum eine Unterscheidung fuer manche Befehle wichtig ist: "state set_on" meine ich zu verstehen, "brightness set_56" nicht. Ich wuerde eher zwei Readings erstellen wollen: "state set_<cmd>" plus "<cmd> <arguments>"
Ich habe aber mit der Loesung ein grundlegendes Problem: wenn z.Bsp. ein Tasmota das Einschalten per POWER1 meldet, und ich deswegen "attr DEVICE stateFormat POWER1" gesetzt habe, dann wird set_on nie (ueber STATE) angezeigt.  Eigentlich muesste die im SetFn ausgeloeste readingsSingleUpdate die stateFormat Evaluirung deaktivieren.
Wenn ich mich irren sollte, bitte melden.

Zitat
Ich hänge dann mal die vollständige patcherei von heute an.
Ich habe die Aenderungen ohne tiefergehende Pruefung eingecheckt.
Falls es Dir sinnvoll erscheint, koennen wir gerne die Datei in mehrere aufteilen.
Und wenn du Templates selbst einchecken willst: https://svn.fhem.de/#readwrite
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 12 Dezember 2018, 23:35:02
Wegen "set_"

Vorab: Ich glaube, ich sollte mal einen ESP mit Tasmota flashen; das kommt mir alles irgendwie von hinten durch's Auge vor, und ich kann schlecht nachvollziehen, um was es dir geht. Das folgende kann also auch ganz falsch sein:
Ist es nicht so, dass stateFormat eigentlich in der Verarbeitungskette erst ganz hinten greift und man daher eher überlegen sollte, ob man nicht von vornherein "state" richtig füllt?

Gedanklich komme ich nicht von einem einfachen Schalter her, sondern von farbigen Lampen. Da ist erst mal wichtig, ob die an oder aus sind. Das gehört m.E. in den state. Erst in zweiter Linie kommt die Frage, wie hell oder bunt es ist (oder sein soll), das darf dann gerne auch in untergeordnete Angaben verschwinden.

Die Unterscheidung, wo was hin soll habe ich einfach aus Dummy geklaut, da wird das genauso gemacht: Alles, was als setList da ist, kann man als Reading (dort aber direkt mit dem Wert) setzen. Der einzige Unterschied jetzt ist, dass das set_ vorangestellt wird. Das kommt aus der HM-Welt; da erscheint set_<value> auch, bis der Befehl wirklich mit ACK beim Gerät angekommen ist (MySensors geht sogar so weit, dass der alte Wert da bleibt, bis ein ACK kommt, wenn das angefordert wird). Für CUL_HM kann ich aber nicht sagen, ob alles erst mal im state landet, der Unterschied besteht m.E. aber darin, dass CUL_HM das soweit überwacht, dass es am Ende wieder paßt (ähnlich für MySensors). Die m.E. einfachste Variante war daher, das in den Readings zu machen, weil der Wert ja bei Rückmeldung des geänderten Status ja dann effektiv wieder überschrieben wird.

Zu svn: Wäre wie gesagt Neuland, bin aber nicht abgeneigt, lass mir etwas Zeit. Ich kann übrigens  die Dinge auch nur auf Plausibilität, eine gewisse Konformität etc. prüfen...

Updates zu dem eingepflegten Stand kommen separat.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 12 Dezember 2018, 23:44:07
...und der aktualisierte patch (da waren noch doppelte drin):

EDIT: patch gelöscht, mache das dann (hoffentlich) direkt via svn
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: akr1983 am 13 Dezember 2018, 11:00:33
Hiho,

ich find ja toll, dass Ihr so fleißig am Modul arbeitet :-)

Kurz zur Info, seit einem der Updates werden leider immer neue Devices angelegt. Also jedes nur 1x, wenn sich ein Gerät meldet. Reicht aber für zig neue Geräte ;-) Ich vermute mal, es liegt am gebastelten Regexp. Ich benutze für meine Devices nämlich "friendlyName" in der Zigbee2mqtt configuration.yaml.

Hier mein mqtt2client device:


 Internals:
   CID        mqtt2client
   DEF        mqtt2client
   DEVICETOPIC MQTT2_mqtt2client
   IODev      mqtt2_client
   LASTInputDev mqtt2_client
   MSGCNT     1773
   NAME       MQTT2_mqtt2client
   NR         227
   STATE      OFF
   TYPE       MQTT2_DEVICE
   mqtt2_client_MSGCNT 1773
   mqtt2_client_TIME 2018-12-13 10:53:18
Attributes:
   IODev      mqtt2_client
   bridgeRegexp zigbee2mqtt/([^:]*):.* "zigbee_$1"
   readingList
   room       MQTT2_DEVICE

Und hier eines der neuen Devices die seit dem Update immer wieder auftauchen:
Internals:
   CID        zigbee_KiZi_Licht_Kommode/set
   DEF        zigbee_KiZi_Licht_Kommode/set
   DEVICETOPIC MQTT2_zigbee__i_i__icht__ommode_set
   IODev      mqtt2_client
   LASTInputDev mqtt2_client
   MSGCNT     2
   NAME       MQTT2_zigbee__i_i__icht__ommode_set
   NR         290
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt2_client_MSGCNT 2
   mqtt2_client_TIME 2018-12-12 20:11:26
   Helper:
     DBLOG:
       set_state:
         DBLogging:
           TIME       1544641886.56514
           VALUE      OFF
   READINGS:
     2018-12-11 15:55:48   set_brightness  15
     2018-12-12 20:11:26   set_state       OFF
Attributes:
   IODev      mqtt2_client
   readingList zigbee2mqtt/KiZi_Licht_Kommode/set:.* { json2nameValue($EVENT, 'set_') }
   room       MQTT2_DEVICE

Liebe Grüße
Arne
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 13 Dezember 2018, 11:15:32
Yep, das liegt an der bridgeRegexp.
Lösungen friendly_name jeweils anpassen, so dass sich das mit der regex verträgt, oder die regex so ändern, dass nur noch passende friendly_name durchgehen...
Oder autocreate abschalten.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 13 Dezember 2018, 17:41:07
Zitat
DEF                  zigbee_KiZi_Licht_Kommode/set
DEVICETOPIC MQTT2_zigbee__i_i__icht__ommode_set
NAME              MQTT2_zigbee__i_i__icht__ommode_set
Der verwendete bridgeRegexp sorgt dafür, dass auch die Subtopics des jeweiligen MQTT-Device als Teil des FHEM-Device-Namens übernommen werden.
Abhilfe schafft u.a. der folgende bridgeRegexp
attr MQTT2_mqtt2client bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
Hinweis: Hierbei wird auch für die zigbee2mqtt-bridge ein eigenes MQTT2_DEVICE angelegt. Aus meiner Sicht konsequent, aber die Meinungen darüber sind geteilt ...


Zitat
DEVICETOPIC MQTT2_zigbee__i_i__icht__ommode_set
Der Bug, dass Grossbuchstaben durch _ ersetzt wurden, ist bereits behoben - aktuelles FHEM-Update notwendig.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 13 Dezember 2018, 19:08:10
attr MQTT2_mqtt2client bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
Hinweis: Hierbei wird auch für die zigbee2mqtt-bridge ein eigenes MQTT2_DEVICE angelegt. Aus meiner Sicht konsequent, aber die Meinungen darüber sind geteilt ...
Danke für den neuerlichen Hinweis. Im Ergebnis würde ich mal folgendes vorschlagen:
- Entweder der alternative Regex-Vorschlag kommt in ein comment-Attribut, oder es gibt die Wahl (und damit eben weitere Unübersichtlichkeit)
- Die Regex für die jetzige "0x"-Befürworter würde ich trotzdem ändern, nämlich das 0x in die Klammer ziehen (statt bisher davor). Führt bei bestehenden Installationen evtl. erst mal dazu, dass nochmal Devices angelegt werden, dafür kann man später wechseln (oder habe ich was übersehen?).

Da die Zahl der templates doch stark zu wachsen scheint, macht es vermutlich Sinn, die irgendwie alphanummerisch sinnvoll vorzusortieren. Richtung wäre:
Anni_name_wie_bisher

A steht für Hauptgruppe (A=>ESP-Derivate, B-M=>Kaufgeräte, die nativ MQTT sprechen, L-Z=>Sonstiger Gruscht, z.B. X90_esp_milight_hub_bridge
nn=zweistellig Dezimal, dabei mit Gruppenbildung (A01-09 für Tasmota, A10-19 Shelly...), das i dann ggf. für eine Variante (2-Kanal mit einem oder zwei Geräten A12a_shelly2_two_devices, A12b_shelly2_single_device)

Damit gäbe es also L01a_zigbee2mqtt_bridge und L01b_zigbee2mqtt_bridge_friendly_name_friendly.

War mal wieder ein Schnellschuß, wer bessere Vorschläge hat: noch ist nichts im svn...

Wird ganz schön schnell voll, der Sa... ::)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 13 Dezember 2018, 20:30:31
@Beta-User

Mittlerweile habe ich auch ein wenig die Template-Möglichkeiten erkundet.

Um nicht unnötig Verwirrung durch unterschiedliche reguläre Ausdrücke zu stiften, habe ich die Ermittlung der beiden Parameter BASE_TOPIC und NAMEINTHEBRIDGE bei mir ein wenig vereinheitlicht; zusätzlich habe ich - um näher am verwendeten Namen in der zigbee2mqtt-Dokumentation zu bleiben - NAMEINTHEBRIDGE in DEV_ID umbenannt (DEVICE_ID geht ja leider nicht).

Vielleicht findet die folgende Anpassung - so oder so ähnlich - Einzug in die Template-Datei ...
par:BASE_TOPIC;base_topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,([^/]+)[/].*:, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/](.*):, ? $1 : undef }


Für die Benamung der einzelnen Templates verwende ich derzeit sprechende Namen, da die "verschlüsselten" Namen meist zu technisch sind und dabei insbesondere den "Nicht-Profi" schnell überfordern.
name:zigbee2mqtt_bridge
name:zigbee2mqtt_xiaomi_cubeController_noprefix
name:zigbee2mqtt_hue_dimmerSwitch_noprefix
name:zigbee2mqtt_hue_motionSensor_noprefix
name:zigbee2mqtt_osram_smartPlug_noprefix
name:zigbee2mqtt_xiaomi_thpSensor_noprefix
name:tasmota_smartPlug_noprefix
Dies folgt weitgehend der Namensgebung in der ausgelieferten Template-Datei. Ich fände es auf jeden Fall gut, wenn die Spezialitäten wie prefix,noprefix,... am Namensende stünden, so dass man die verschiedenen Templates für ein Gerät untereinander findet und nicht an völlig unterschiedlichen Stellen der (hoffentlich stetig wachsenden) Auswahlliste. Desweiteren fände ich es gut, wenn zumindest die größeren Gruppen (zigbee2mqtt,tasmota,shelly,...) in jeweils eigenen Dateien untergebracht wären; "Einzelschicksale" kann man ja dann in einer Sammeldatei aufnehmen.

Da Templates nicht nur für MQTT2_DEVICEs gedacht sind, wird die Zahl der Template-Dateien wohl stetig steigen, so dass man auch dafür eine Namenskonvention bräuchte ...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 14 Dezember 2018, 00:29:08
@OdfFhem:
Sieht so aus, als wärst du mir meilenweit voraus, was Regex etc. angeht, ich denke, ich sollte bei dir in die Lehre gehen :) . Muß mich erst mal auseinandersetzen damit, was das im einzelnen bedeutet, bin eigentlich ziemlicher und bekennender noob...

Schön wäre, wenn man das bridge-Thema in einer für alle passenden Form umsetzen könnte, was eigentlich heißt: Alles, es _sei denn_ (log|state|networkmap/.*|??); das gehört für mich zum eigentlichen Bridge-Device (kein Anlaß, darüber zu streiten, nur mein Gefühl, dass diese Dinge in _ein_ Device gehören). Vielleicht hast du eine Idee dazu (ich habe zwar die Idee, aber regex: s.o....).

Was mehrere Dateien angeht: Finde ich spontan nicht, eine Datei ist zwar scheinbar unübersichtlicher, aber zum einen sollte man das eh' irgendwie gruppieren und am Ende bekommt man als User eh' alles (was zur FILTER-Vorgabe paßt!) in FHEMWEB alphanummerisch (?) sortiert präsentiert => da sollte m.E. die Ordnung herkommen. Das zu verteilen, was eigenlich zusammengehört, macht m.E. nicht sooo viel Sinn (die topic-Struktur ist schon MQTT-spezifisch, der einzige Vorteil wäre die Beispielwirkung (eigene template-Dateien erstellen? - Die Option an sich ist gut und das mache ich grade auch, aber eher für Testzwecke.).

Den _noprefix-Vorschlag finde ich sehr gut (wird zwar der "normale User" erst mal wenig damit anfangen können).

Allerdings schwebt mir im Moment vor, zumindest per #-Kommentar klarer zu machen, welchen Status ein einzelnes tempalate hat (stable/testing/experimental), um z.B. Dinge, die zwar gut, aber noch nicht ausgereift sind unter die Leute zu bringen (das leidige Milight-Thema z.B.). Aber da bin ich auch noch nicht gedanklich so durch, was Sinn macht (wer liest schon Kommentare, und das ggf. auch noch im Quelltext...). Wenn, wäre ein Dialogfeld vorab cool, aber das wäre dann wieder ein feature request, von dem ich (noch) keinen Plan habe, ob er Sinn macht... (im Moment des Schreibens kam mir der Gedanke, das einfach an den Namen ranzuhängen, dann weiß (hoffentlich) jeder, woran er ist...

Gruppierung nach Hersteller: weiß ich im Moment noch nicht. Für zigbee2mqtt vermute ich eher nicht, weil diese erste Anstraktion schon der java-Dienst leistet (so interpretiere ich die eine Meldung, dass die Osram auf Anhieb mit meiner Tradfri-Vorgabe lief), aber für andere Fälle mag das anders sein.
Die bisherige Namensgebung war eher herkunftsorientiert, ob man das so beibehalten sollte oder - jedenfalls für zigbee2mqtt - eher funktionsorientiert benennen? Dann würde aus
zigbee2mqtt_hue_dimmerSwitch_noprefix L_02_zigbee2mqtt_dimmerSwitch_noprefix (ganz ohne hue oder auch mit. Ohne, wenn es eh' gleich wäre (oder dann nur eine interne Weiterleitung auf das andere template?)...
Rückmeldungen erbeten, wir stehen hier nach meinem Eindruck erst am Anfang...
Dafür würde ich aber evtl. nicht diesen Thread verwenden, sondern den mit der template-Funktionalitäts-Ankündigung? Oder ich mach einen gesonderten auf? (Wenn es hier in MQTT diskutiert wird, müssen halt ggf. alle mit dem leben, was wir hier ausarbeiten).

Danke auf jeden Fall für die Ideen und das Mitdenken, wie gesagt, ich bin eigentlich ziemlicher noob in vielen Dingen und auf kritische Rückmeldung angewiesen!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 14 Dezember 2018, 06:09:07
@Beta-User
Bzgl. regulärer Ausdrücke bin ich weit davon entfernt, ein Experte zu sein, aber den hier verwendeten RegExp glaube ich verstanden zu haben. Um Dir unnötige Kopfschmerzen zu ersparen, kann ich "kurz" meine Interpretation darlegen:


Angewendet auf folgendes Beispiel:
attr MQTT2_zigbee_cubeController1 readingList zigbee2mqtt/cubeController1:.* { json2nameValue($EVENT) }
ergeben sich dann folgende 4 Teile:
Folgendes Beispiel (mit führendem /) ergibt ein identisches Ergebnis:
attr MQTT2_zigbee_cubeController1 readingList /zigbee2mqtt/cubeController1:.* { json2nameValue($EVENT) }

Durch die Verwendung der runden Klammerpaare kann man nun festlegen, welche Teile für eine mögliche Weiterverarbeitung bereitgestellt werden:


Beim zigbee2mqtt/bridge-Thema kann ich noch nicht ganz nachvollziehen, warum man dies in dem allgemeinen MQTT2_DEVICE unterbringen möchte. Für mich ist das eindeutig ein eigenes MQTT2_DEVICE, das einen eigenen Status, eigene Befehle, eigenes Icon, usw. hat. Sollte z.B. in (ferner) Zukunft die Hue-bridge ebenfalls nativ MQTT unterstützen, müsste diese und jede weitere MQTT-bridge ansonsten ja auch in das allgemeine MQTT2_DEVICE, wobei aus meiner Sicht dann die Unübersichtlichkeit vorprogrammiert ist. Aber da es ja über den bridgeRegexp individuell gesteuert werden kann, sehe ich auch in der AllInOne-bridge zunächst einmal kein grundlegendes Problem ... im Zweifel muss man auf friendly_names "verzichten".

Zu klären wäre allerdings noch die Frage, ob immer alle regulären Ausdrücke von bridgeExpr ausgewertet werden, oder ob der erste passende Ausdruck zum Ende der Auswertung führt.
Sollte der zweite Fall zutreffen, könnte man ja - wenn nicht bereits vorhanden - irgendetwas einbauen/festlegen, das dazu führt, dass die MQTT-Meldung via readingList und nicht via nachgelagertem MQTT2_DEVICE weiterverarbeitet wird - analog zu einer nicht passenden MQTT-Meldung ... ein vorgelagerter zigbee2mqtt/bridge-Ausdruck würde in einem solchen Fall dann alle "Probleme" beseitigen.


Mehrere Dateien hatte ich nur im Hinterkopf, da schon die alten Römer das "divide et impera"-Prinzip verfolgten - frei nach dem Motto: was man nicht sieht, kann auch nicht verwirren. Gegenargument könnte natürlich sein: was man nicht findet, kann auch erst gar nicht zur Verwirrung führen. Eine bzw. mehrere Dateien haben wahrscheinlich ihre individuellen Vor- bzw. Nachteile.


Die Idee mit dem Entwicklungsstand finde ich wichtig und würde diesen auch auf jeden Fall in den Template-Namen (vermutlich ans Ende) integrieren. Als Nur-Kommentar im Template-Quellcode geht es wohl unter, denn hier schaut der Normalanwender vermutlich nie rein. Ich würde aber auch nur testing,experimental,usw. gesondert aufführen. stable scheint mir überflüssig, da ich ohne besonderen Hinweis davon ausgehe, dass ein Template einsatzbereit ist.


Bzgl. der Template-Namenskonvention erachte ich es als sinnvoll, das Template möglichst genau zu benennen, so dass der Normalanwender sein Gerät auch tatsächlich findet - und das möglicht einfach und eindeutig. Die Abstraktion - d.h. Rückgriff auf bereits vorhandene Template-Definitionen - würde ich eher in der Template-Datei vornehmen.

Ein gutes Beispiel bzgl. Mehrdeutigkeit sind die beiden Templates tasmota_basic und tasmota_1channel. Hier musste ich erst in die Template-Datei schauen, um festzustellen, welches Template denn nun zu meiner Tasmota-Steckdose passen könnte.
Hinweis: Im tasmota_basic-Template müsste POWER1 noch in POWER umbenannt werden.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 14 Dezember 2018, 07:13:56
@OdfFHEM:
Danke für die Erläuterungen.
Detailierte Rückmeldung folgt dann ggf. später, muß ich erst im Detail ansehen, was auf die Schnelle verstanden war: s.u..

@all:
Einen ersten Cleanupversuch und ein gewisses renaming habe ich eben mal durchgespielt und eingecheckt.
War alles etwas sehr auf die Schnelle und gegen die Regel ungetestet.
Da das hier aber nur einen Randbereich betrifft, den man nicht nutzen muss, hoffe ich auf euer Verständnis, gemeldete Probleme bügle ich dann asap wieder aus :) . Ging v.a. auch darum, dass man "live" darüber diskutieren kann und Neueinsteiger dann nicht hinterher wieder verwirrt sind, weil alles ganz anders heißt.

Schönen Tag und nettes Testen allseits.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Badflex am 14 Dezember 2018, 16:46:38
Hallo, nochmal eine Frage zu Tradfri Bulb.
Die Temperaturfarben passen ja sehr gut. Aber was muss ich machen um die Farben der Color Bulbs zu ändern?
Egal welche Farbe ich einstellen, es ist immer hellblau.
Bin aber der Meinung es ging schon mal.
Habe  den atrTemplete colorbulbWithoutColorTemp genommen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 14 Dezember 2018, 19:21:16
Zitat
wer liest schon Kommentare, und das ggf. auch noch im Quelltext...
AttrTemplate, ab sofort :)

AttrTemplate wertet jetzt "desc:" Zeilen aus (description), und nimmt, falls kein desc: vorhanden ist, den letzten Kommentar vor name:
Wenn fuer ein Geraet desc: oder Kommentarzeilen vorhanden sind, dann gibt es einen zusaetzlichen attrTemplate ? Befehl, wo diese Daten ausgegeben werden. Fuer FHEMWEB als <li> Aufzaehlung, sonst Newline-getrennt.

Siehe Anhang, mit dem aktuellen Kommentaren.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 14 Dezember 2018, 22:49:04
AttrTemplate, ab sofort :)
WOW!

Habe eben eine aktualisierte mqtt2.template hochgeladen, die "desc:" testweise mitverwendet :) .

Bezgl. zigbee2mqtt habe ich "nur" die "alte" Zigbee-Bridge "nach hinten" geschoben, damit Einsteiger eher eine der beiden aktuellen bridgeRegexp nutzen.

@Badflex:
Blau verbinde ich "aus den Untiefen meines Gedächtnisses" (vulgo: muß nicht richtig sein) mit einem Fehler bei der Übertragung von Daten zur Bulb. Kannst du als erstes Checken, ob die vollständig gepairt ist und das ggf. wiederholen?
Ansonsten wäre mein Vorschlag, den Datenverkehr auf dem Server mal abzuhören, ob der json paßt. Wenn nein: wäre vielleicht ein gesondertes Thema zu zigbee2mqtt_RGB2JSON(), das geht sonst leicht hier unter.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: supernova1963 am 15 Dezember 2018, 08:17:13
@supernova1963: ist auf dem "Problemsystem" eine autocreate Instanz konfiguriert?
In der ausgelieferten fhem.cfg gibt es eine Definition mit dem Namen autocreate.
Ja:
define autocreate autocreate
attr autocreate autosave 1
attr autocreate device_room %TYPE
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate room 99_FHEM
attr autocreate weblink 1
attr autocreate weblink_room 99_Plotting

Danke,

Gernot
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 16 Dezember 2018, 23:45:41
@supernova1963: ich habe versucht das Problem mit deiner autocreate und MQTT2_SERVER Definitionen nachzustellen, leider ohne Erfolg.

Kannst du bitte folgenden Befehl auf dem FHEM Server ausfuehren (das sollte das in deinem Log gesehene Meldung reproduzieren):% mosquitto_pub -i SONOFFPOW_65 -t /fhem/31_Eingang/SONOFFPOW_65/tele/SENSOR -m '{"Time":"2018-12-12T17:03:27","ENERGY":{"TotalStartTime":"2018-11-27T18:44:07","Total":5.464,"Yesterday":0.037,"Today":0.020,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":232,"Current":0.000}}'
Bei mir wird daraufhin automatisch was angelegt:
Zitat
2018.12.16 23:38:20 2: autocreate: define MQTT2_SONOFFPOW_65 MQTT2_DEVICE SONOFFPOW_65
2018.12.16 23:38:20 2: autocreate: define FileLog_MQTT2_SONOFFPOW_65 FileLog ./log/MQTT2_SONOFFPOW_65-%Y.log MQTT2_SONOFFPOW_65
mit
Zitat
define MQTT2_SONOFFPOW_65 MQTT2_DEVICE SONOFFPOW_65
attr MQTT2_SONOFFPOW_65 IODev mqtt2
attr MQTT2_SONOFFPOW_65 readingList SONOFFPOW_65:/fhem/31_Eingang/SONOFFPOW_65/tele/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_') }
attr MQTT2_SONOFFPOW_65 room MQTT2_DEVICE

setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_ApparentPower 0
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_Current 0.000
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_Factor 0.00
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_Power 0
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_ReactivePower 0
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_Today 0.020
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_Total 5.464
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_TotalStartTime 2018-11-27T18:44:07
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_Voltage 232
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_ENERGY_Yesterday 0.037
setstate MQTT2_SONOFFPOW_65 2018-12-16 23:38:20 SENSOR_Time 2018-12-12T17:03:27
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 17 Dezember 2018, 08:15:50
@OdfFHEM:
Danke für die umfangreichen Vorarbeiten zum "Einheits-template" für die Bridge! (beziehe mich auf hier (https://forum.fhem.de/index.php/topic,94060.msg872371.html#msg872371))

Das macht Sinn, es wird allerdings erst mal etwas dauern, bis ich diesen Teil wieder testen kann. Ich gehe aber davon aus, dass deine Definition dann die JSON-Blobs einfach so in die Readings schiebt, oder?

Ich werd's daher ungetestet "vertemplaten", das zum default erklären und eventuell eine Variante anbieten, die das JSON auspackt.

Dass einzelne Elemente (grafische Rückmeldung) nicht sinnvoll ausgewertet werden, ist korrekt. Bei der Erstellung der ersten Definition hatte ich halt erst mal alles genommen, was bei zigbee2mqtt an Abfrageoptionen da war.
An sich würde ich das tendenziell auch vollständig halten und dann im Wiki den Hinweis unterpringen, was ggf. schlicht nicht funktioniert, weil es a) Vorbereitung auf der zigbee2mqtt-Seite benötigt und b) (derzeit) von FHEM nicht ausgewertet werden kann (@Rudi: da kommt ein png zurück, wenn ich das richtig verstanden habe; hat m.E. keine hohe Priorität!)
Interessanter fand ich, dass man über "raw" zurückgemeldet bekommt, ob ein Gerät grade erreichbar ist; das allerdings in einem seltsamen Format und mit "anderen" Namen....
Vielleicht hat da jemand eine Idee (hat dann aber m.E. wenig mit MQTT2 zu tun!)?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 17 Dezember 2018, 09:46:16
Zitat
@Rudi: da kommt ein png zurück, wenn ich das richtig verstanden habe; hat m.E. keine hohe Priorität!
Kannst du bitte explizit / mit Details beschreiben, was du meinst?
In der ZWDongle Detailansicht gibt es eine Moeglichkeit das Netzwerk grafisch darzustellen. Wenn ich das fuer zigbee2mqtt anpassen soll, dann brauche ich ein Beispiel mit moeglichst vielen Daten.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 17 Dezember 2018, 10:01:52
Kannst du bitte explizit / mit Details beschreiben, was du meinst?
In der ZWDongle Detailansicht gibt es eine Moeglichkeit das Netzwerk grafisch darzustellen. Wenn ich das fuer zigbee2mqtt anpassen soll, dann brauche ich ein Beispiel mit moeglichst vielen Daten.
Sorry, Details kann ich im Moment nicht selbst liefern, ich kenne nur diesen Beitrag von mark79 dazu: https://forum.fhem.de/index.php/topic,84790.msg848840.html#msg848840 Habe da mal die Bitte hinterlassen, weitere Infos zu liefern.

EDIT: link repariert
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 17 Dezember 2018, 12:39:42
@OdfFHEM
Habe deinen input mal in template-Form gebracht und noch ein paar Kleinigkeiten angepaßt, die ggf. zum Testen usw. sinnvoll sein könnten (nach meinem Verständnis).

###########################################
# zigbee2mqtt
# The zigbee2mqtt bridge device (entire hex id of devices as bridgeRegexp)
name:L_01_zigbee2mqtt_bridge
desc:The zigbee2mqtt bridge device <br>NOTE: JSON of networkmap raw will not be expanded! <br>If you want that, change readingList accordingly, "get <device> networkmap raw" will lead to an empty afterwards.
filter:TYPE=MQTT2_DEVICE
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,([^/]+)[/].*:, ? $1 : undef }
attr DEVICE bridgeRegexp\
 zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr DEVICE getList\
  devicelist:noArg log BASE_TOPIC/bridge/config/devices\
  networkmap:raw networkmap_result BASE_TOPIC/bridge/networkmap $EVTPART1\
  networkmap_graphviz networkmap_result_g BASE_TOPIC/bridge/networkmap graphviz
attr DEVICE readingList\
  BASE_TOPIC/bridge/state:.* state\
  BASE_TOPIC/bridge/config/devices:.* {}\
  BASE_TOPIC/bridge/config/log_level:.* log_level\
  BASE_TOPIC/bridge/config/permit_join:.* permit_join\
  BASE_TOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
  BASE_TOPIC/bridge/log:.* log\
  BASE_TOPIC/bridge/networkmap:.* {}\
  BASE_TOPIC/bridge/networkmap/graphviz:.* networkmap_result_g\
  BASE_TOPIC/bridge/networkmap/raw:.* networkmap_result
attr DEVICE setList\
  log_level:debug,info,warn,error BASE_TOPIC/bridge/config/log_level $EVTPART1\
  permit_join:true,false BASE_TOPIC/bridge/config/permit_join $EVTPART1\
  remove:textField BASE_TOPIC/bridge/config/remove $EVTPART1\
  rename:textField BASE_TOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
attr DEVICE model L_01_zigbee2mqtt_bridge
# Based on https://forum.fhem.de/index.php/topic,94060.msg872371.html#msg872371
# networkmap networkmap_graphviz needs some additional configuration: https://forum.fhem.de/index.php/topic,84790.msg848840.html#msg848840
# networkmap_result_g muß mind. noch nachbearbeitet werden: "| sfdp -Tpng | display -",

Wäre nett, wenn du das mal gegenprüfen könntest.

Aus dem Beitrag von mark79 hatte ich den Schluß gezogen, dass "graphviz" auf dem empfangenden System (also dem FHEM-Server) installiert sein muß. Daher würde ich annehmen, dass man "einfach" (wie json2nameValue()) $EVENT an eine perl-Funktion weiterleiten könnte, die dann ihrerseits das $EVENT an sfdp (auf shell-Ebene?) weitergeben würde (über den weiteren Weg hatte ich mir noch nicht den Kopf zerbrochen, ich habe graphviz (noch) nicht installiert)?
Es schient sogar ein Perl-Modul für graphviz zu geben: https://foswiki.org/Extensions/GraphvizPlugin
Kommt mir aber alles insgesamt wie sehr viel Aufwand vor, und von alledem verstehe ich (mal wieder) eigentlich nichts....
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 17 Dezember 2018, 16:09:03
Hallo, das mit der Network Map wollte ich auch schon mal ansprechen, das funktioniert out of the box nicht.

Es muss graphviz installiert sein und man muss das hier nebenbei laufen lassen:
mosquitto_sub -h localhost -C 1 -t zigbee2mqtt/bridge/networkmap/graphviz | sfdp -Tpng > /tmp/network_map.pngDieser Prozess beendet sich nach Erstellung der Bilddatei selbst, also wenn man unteres CMD absetzt...

In der zweiten Console kann man dann mit:
mosquitto_pub -h localhost -t zigbee2mqtt/bridge/networkmap -m graphviz die Network Map anfordern, oder über das Fhem zigbee2mqtt Device.

-rw-r--r-- 1 root root 222999 Dec 17 16:03 network_map.png
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 17 Dezember 2018, 16:29:47
@mark79: koenntest du bitte die Ausgabe von
Zitat
mosquitto_sub -h localhost -C 1 -t zigbee2mqtt/bridge/networkmap/graphviz
hier anhaengen? Ich meine nicht das Bild, sondern das Input fuer sfdp.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 17 Dezember 2018, 18:20:37
@mark79: koenntest du bitte die Ausgabe vonhier anhaengen? Ich meine nicht das Bild, sondern das Input fuer sfdp.

Klar, der Output sieht so aus:

root@fhem:~#  mosquitto_sub -h localhost -C 1 -t zigbee2mqtt/bridge/networkmap/graphviz
digraph G {
node[shape=record];
  "0x00124b00182cd417" [label="{0x00124b00182cd417|Coordinator|No model information available|online}"];
  "0x00124b00182cd417" -> "0x90fd9ffffe0e11b3" [label="80"]
  "0x90fd9ffffe0e11b3" [label="{0x90fd9ffffe0e11b3|Router|IKEA TRADFRI LED bulb E26/E27 950 lumen, dimmable, white spectrum, clear (LED1546G12)|online}"];
  "0x90fd9ffffe0e11b3" -> "0x00124b00182cd417" [label="43"]
  "0x00158d000213492e" [label="{0x00158d000213492e|EndDevice|Xiaomi Aqara wireless switch (WXKG11LM)|online}"];
  "0x00158d000213492e" -> "0x00124b00182cd417" [label="125"]
  "0x00158d0001e52525" [label="{0x00158d0001e52525|EndDevice|Xiaomi Aqara human body movement and illuminance sensor (RTCGQ11LM)|online}"];
  "0x00158d0001e52525" -> "0x00124b00182cd417" [label="60"]
  "0x00158d0001d926ca" [label="{0x00158d0001d926ca|EndDevice|Xiaomi MiJia human body movement sensor (RTCGQ01LM)|online}"];
  "0x00158d0001d926ca" -> "0x00124b00182cd417" [label="95"]
  "0x00158d00016d7946" [label="{0x00158d00016d7946|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];
  "0x00158d00016d7946" -> "0x00124b00182cd417" [label="73"]
  "0x00158d0002310f05" [label="{0x00158d0002310f05|EndDevice|Xiaomi Mi smart home cube (MFKZQ01LM)|online}"];
  "0x00158d0002310f05" -> "0x00124b00182cd417" [label="81"]
  "0x00158d0002135505" [label="{0x00158d0002135505|EndDevice|Xiaomi Aqara wireless switch (WXKG11LM)|online}"];
  "0x00158d0002135505" -> "0x00124b00182cd417" [label="102"]

und von mosquitto_sub -v -t \#

zigbee2mqtt/bridge/networkmap graphviz
zigbee2mqtt/bridge/networkmap/graphviz digraph G {
node[shape=record];
  "0x00124b00182cd417" [label="{0x00124b00182cd417|Coordinator|No model information available|online}"];
  "0x00124b00182cd417" -> "0x90fd9ffffe0e11b3" [label="79"]
  "0x90fd9ffffe0e11b3" [label="{0x90fd9ffffe0e11b3|Router|IKEA TRADFRI LED bulb E26/E27 950 lumen, dimmable, white spectrum, clear (LED1546G12)|online}"];
  "0x90fd9ffffe0e11b3" -> "0x00124b00182cd417" [label="43"]
  "0x00158d000213492e" [label="{0x00158d000213492e|EndDevice|Xiaomi Aqara wireless switch (WXKG11LM)|online}"];
  "0x00158d000213492e" -> "0x00124b00182cd417" [label="125"]
  "0x00158d0001e52525" [label="{0x00158d0001e52525|EndDevice|Xiaomi Aqara human body movement and illuminance sensor (RTCGQ11LM)|online}"];
  "0x00158d0001e52525" -> "0x00124b00182cd417" [label="62"]
  "0x00158d0001d926ca" [label="{0x00158d0001d926ca|EndDevice|Xiaomi MiJia human body movement sensor (RTCGQ01LM)|online}"];
  "0x00158d0001d926ca" -> "0x00124b00182cd417" [label="95"]
  "0x00158d00016d7946" [label="{0x00158d00016d7946|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];
  "0x00158d00016d7946" -> "0x00124b00182cd417" [label="73"]
  "0x00158d0002310f05" [label="{0x00158d0002310f05|EndDevice|Xiaomi Mi smart home cube (MFKZQ01LM)|online}"];
  "0x00158d0002310f05" -> "0x00124b00182cd417" [label="85"]
  "0x00158d0002135505" [label="{0x00158d0002135505|EndDevice|Xiaomi Aqara wireless switch (WXKG11LM)|online}"];
  "0x00158d0002135505" -> "0x00124b00182cd417" [label="102"]

Das läuft aber noch über XiaomiMQTTDevice und alten MQTT, bin immer noch nicht dazu gekommen es umzustellen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 17 Dezember 2018, 18:41:36
Anmerkung zum Code in #234: es fehlt jeweils eine abschließende }.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 17 Dezember 2018, 20:00:19
@Beta-User
Ich habe den Code aus #231 geprüft und auch einmal testweise als Template angewendet.

Bis auf eine Kleinigkeit sieht es gut aus: Im bridgeRegexp muss noch zigbee2mqtt durch BASE_TOPIC ersetzt werden.


Beim Testen ist mir dann allerdings noch aufgefallen, dass bei der initialen, automatisch angelegten readingList für das Sammel-MQTT2_DEVICE alle Einträge mit dem vorangestellten IODev beginnen. Ich bin mir nicht sicher, ob das vor dem heutigen Update auch schon so war. Die Folge davon ist jedenfalls, dass die BASE_TOPIC-Erkennung in einem solchen Fall nicht den gewünschten Wert liefert.

attr <sammel_device> readingList myMqttClient:zigbee2mqtt/bridge/state:.* state
Statt zigbee2mqtt wird myMqttClient:zigbee2mqtt als BASE_TOPIC ermittelt ... nach der Template-Anwendung ist das resultierende Device mehr oder weniger unbrauchbar ...

Bei den weiteren, mittels autocreate angelegten MQTT2_DEVICEs wird das IODev nicht vorangestellt und die Template-Anwendung funktioniert problemlos ...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 17 Dezember 2018, 21:59:50
@OdfFHEM
Danke für's Testen. Das mit dem vorangestellten "zigbee_pi:" war schon eine Zeitlang so und vermutlich eines der Probleme, über die ich auch gestolpert war (es kam nichts zurück....). Ich kann aber nicht sagen, ab wann das wirklich zu einem Problem geführt hat (ich meine, nicht schon immer).

Anbei eine etwas angepaßte Version der regex:
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^:]+:([^/]+)[/].*:, ? $1 : undef }Das würde ich dann für alle drei Versionen der Bridge (vorläufig bleiben die alten mal noch drin) verwenden. Kannst du das auch nochmal testen. Sonstige Einwände?
(Bei den normalen Devices, die abgeleitet werden, bleibt es beim alten Stand!).

@Rudi
Mit der getList (networkmap_graphviz networkmap_result_g zigbee2mqtt/bridge/networkmap graphviz) erhalte ich das Reading "networkmap_result_g digraph G {" (danach kommt nichts mehr) Am Server kommt das an:
Zitat
2018-12-17 21:43:39 MQTT2_SERVER MQTT2_FHEM_Server zigbee2mqtt/bridge/networkmap/graphviz:digraph G {   "0x00158d000279119c" [label="0x00158d000279119c (offline)"];   "0x00158d000279119c" -> "0x00124b0014bdec02" [label="170"]   "0x00158d000211b5e5" [label="0x00158d000211b5e5 (offline)"];   "0x00158d000211b5e5" -> "0x00124b0014bdec02" [label="170"]   "0x90fd9ffffefe2b91" [label="0x90fd9ffffefe2b91 (offline)"];   "0x90fd9ffffefe2b91" -> "0x00124b0014bdec02" [label="170"]   "0x90fd9ffffe65db16" [label="0x90fd9ffffe65db16 (online)"];   "0x90fd9ffffe65db16" -> "0x90fd9ffffe0bcd51" [label="255"]   "0x90fd9ffffe0bcd51" [label="0x90fd9ffffe0bcd51 (online)"];   "0x90fd9ffffe0bcd51" -> "0x90fd9ffffe65db16" [label="255"]   "0x00124b0014bdec02" [label="0x00124b0014bdec02 (online)"];   "0x00124b0014bdec02" -> "0x90fd9ffffe0bcd51" [label="36"] }
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 19 Dezember 2018, 14:35:16
Ich habe bei Vorhandensein von einem graphviz (oder .graphviz) Reading  ein "Show neighbor map" Link eingebaut, was die ZWDongle-Visualisierung aufruft.
Anhang 1 zeigt die Daten von mark79, Anhang 2 die von Beta-User.
Beim "hovern" ueber einen der Boxen wird Zusatzinfo angezeigt.

Damit es sinnvoll nutzbar wird, muessen wir die Nummer zu einem FHEM-Device mappen.
Vorschlaege?

Zur Info: Anhang 3 zeigt was moeglich ist mit der ZWDongle Version.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 19 Dezember 2018, 15:13:56
Vorab mal ein WOW!

Was das mapping angeht, ist es so, dass mind. 3 der Device durch ihre IEEE-Adresse repräsentiert werden (die 90fd9ffff...). Ich würde vermuten, dass das für die graphviz-Abfrage ggf. weiter diese Adresse bleibt, auch wenn man einen friendly name vergibt; kann ich gerne testen, wenn nicht jemand schneller ist.
Will heißen: Ohne friendly name entspricht das (erweitert um 0x) der CID. Hat man einen friendly name, mit muß man vermutlich erst noch die devicelist abfragen, um dann innerbalb eines array-Elements zu schauen, was wie zusammengehört. Da steht dann aber auch das model drin, was wiederum auf so hübsche Bilder gemappt werden könnte wie bei ZWave.

Wäre es ggf. sinnvoll, noch ein Attribut zu setzen, um damit einen Marker zu haben, damit mehrdimensionale JSON (wie hier den devicelist-Blob) dann nur "flach" ausgepackt werden? (sorry, kann grade kein list liefern, sonst wäre es vermutlich einfacher nachzuvollziehen).

Was die beiden "158d"-Geräte angeht, kann ich im Moment nur spekulieren: Ich habe neulich erst eine Fernbedienung in Betrieb genommen (müßte ....2b91 sein). Diese ist mit den beiden Bulbs (db16 und cb51) gepairt. Wie berichtet, kann ich weder von der FB selbst was an Sendebefehlen sehen, noch erhalte ich einen Statusupdate der Bulbs beim Schalten über diese FB.
Vermutung: Es handelt sich bei diesen beiden ID's um eine Art Steuerkanal zu jeweils einer Bulb... Vielleicht kann man das irgendwie rechnerisch nachvollziehen? Es muß ja eine Logik dahinterstecken. Und dass irgendeiner meiner Nachbarn hier just in dem Moment, wo ich da rumspiele genau zwei zigbee-Geräte neu installiert hat (und die sich auch noch in meine Installation eingeklinkt haben), halte ich für eher unwahrscheinlich.

Bitte um Info, wenn ich was (?) liefern soll...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 19 Dezember 2018, 16:08:19
Zitat
Hat man einen friendly name, mit muß man vermutlich erst noch die devicelist abfragen
Devicelist sagt mir nichts. Kannst du bitte hier eine anhaengen?

Und kannst du mir bitte zu deinen MQTT2_DEVICE Instanzen CID und readingsList zeigen? CID reicht vermutlich nicht, weil das man per Regexp beliebig kuerzen und umbauen kann. Ich hoffe, dass man im readingList fuendig wird. setList/getList ist vermutlich nicht optimal, da nicht immer vorhanden. Ich habe auch kein Problem damit, falls die Daten (auch) jemand sonst liefert, nur bitte immer mit passenden graphviz.

Weiss jemand, wieso zwischen mark79 und Beta-Users graphvis Formatunterschiede gibt?
Z.Bsp. im Detail und Vorhandensein von {}
Zitat
"0x90fd9ffffe65db16" [label="0x90fd9ffffe65db16 (online)"];
vs.
"0x90fd9ffffe0e11b3" [label="{0x90fd9ffffe0e11b3|Router|IKEA TRADFRI LED bulb E26/E27 950 lumen, dimmable, white spectrum, clear (LED1546G12)|online}"];

Zitat
was wiederum auf so hübsche Bilder gemappt werden könnte wie bei ZWave
Gibt es fuer Zigbee irgendwo auch eine Datenbank, wie bei ZWave? (https://products.z-wavealliance.org)
Sonst muessten wir uns Gedanken machen, wie man eine Eigene aufbaut.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 19 Dezember 2018, 17:05:25
Weiss jemand, wieso zwischen mark79 und Beta-Users graphvis Formatunterschiede gibt?
Z.Bsp. im Detail und Vorhandensein von {}Gibt es fuer Zigbee irgendwo auch eine Datenbank, wie bei ZWave? (https://products.z-wavealliance.org)
Sonst muessten wir uns Gedanken machen, wie man eine Eigene aufbaut.

Das sieht schon mal gut aus, gut gemacht! :)

Warum das bei beta-user anders aussieht weiß ich auch nicht. Vielleicht liegt es daran, das er es aus einem Fhem Log her raus kopiert hat, oder aus Fhem Event Manager? Ich hatte das mal versucht nachzustellen, erhalte aber keine Nachricht darüber. Ich hatte es wie gesagt, direkt aus der SSH Console raus kopiert.
Vielleicht kann beta-user das in der Console ausführen: "mosquitto_sub -h localhost -C 1 -t zigbee2mqtt/bridge/networkmap/graphviz" und dann den Graphiz Befehl absetzen.... und den Output aus der Console posten.

Eine Datenbank so wie bei ZWave kenne ich nicht, aber Zigbee2mqtt hat eine Datenbank wo alle Devices drin stehen. Wenn auch etwas chaotisch und teilweise doppelt bis dreifach. Und halt den Wiki Eintrag, welche Geräte unterstützt werden: https://github.com/Koenkk/zigbee2mqtt/blob/master/docs/information/supported_devices.md
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 19 Dezember 2018, 18:57:09
Zitat
Vielleicht liegt es daran, das er es aus einem Fhem Log her raus kopiert hat, oder aus Fhem Event Manager?
Nein, Inhalte werden da nicht verfaelscht, und in dieser Weise schon gar nicht.

Zitat
aber Zigbee2mqtt hat eine Datenbank wo alle Devices drin stehen
Wenn Du mir noch sagst, wie ich "algorithmisch" von graphviz zum Bild komme, dann baue ich die Bilder auch ein.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 19 Dezember 2018, 19:30:56
MQTT-Antwort für zigbee2mqtt/bridge/networkmap graphviz
digraph G {
node[shape=record];
  "0x00689b0018ed1421" [label="{0x00689b0018ed1421|Coordinator|No model information available|online}"];
  "0x00689b0018ed1421" -> "0x7adf5eaa000c3b81" [label="20"]
  "0x00378b0001ce4211" [label="{dimmerSwitch1|EndDevice|Philips Hue dimmer switch (324131092621)|offline}"];
  "0x00378b0001ce4211" -> "0x7adf5eaa000c3b81" [label="42"]
  "0x0028580103178983" [label="{motionSensor1|EndDevice|Philips Hue motion sensor (9290012607)|online}"];
  "0x0028580103178983" -> "0x7adf5eaa000c3b81" [label="12"]
  "0x0011030878a425e8" [label="{dimmerSwitch2|EndDevice|Philips Hue dimmer switch (324131092621)|offline}"];
  "0x0011030878a425e8" -> "0x7adf5eaa000c3b81" [label="68"]
  "0x00127d00025810d4" [label="{thpSensor1|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00127d00025810d4" -> "0x00689b0018ed1421" [label="118"]
  "0x001783e60108bc9b" [label="{dimmerSwitch3|EndDevice|Philips Hue dimmer switch (324131092621)|offline}"];
  "0x001783e60108bc9b" -> "0x7adf5eaa000c3b81" [label="48"]
  "0x00173c0002d583bc" [label="{thpSensor2|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00173c0002d583bc" -> "0x00689b0018ed1421" [label="47"]
  "0x0015872702d00eae" [label="{thpSensor3|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x0015872702d00eae" -> "0x00689b0018ed1421" [label="54"]
  "0x001237d0081d5e73" [label="{thpSensor4|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x001237d0081d5e73" -> "0x00689b0018ed1421" [label="29"]
  "0x0019e80002d851d4" [label="{cubeController1|EndDevice|Xiaomi Mi smart home cube (MFKZQ01LM)|online}"];
  "0x0019e80002d851d4" -> "0x00689b0018ed1421" [label="111"]
  "0x7adf5eaa000c3b81" [label="{smartPlug1|Router|OSRAM Smart+ plug (AB3257001NJ)|offline}"];
  "0x7adf5eaa000c3b81" -> "0x00689b0018ed1421" [label="7"]
  "0x00271d00051d08f9" [label="{cubeController2|EndDevice|Xiaomi Mi smart home cube (MFKZQ01LM)|online}"];
  "0x00271d00051d08f9" -> "0x00689b0018ed1421" [label="42"]
  "0x0046580103e7701e" [label="{dimmerSwitch4|EndDevice|Philips Hue dimmer switch (324131092621)|offline}"];
  "0x0046580103e7701e" -> "0x7adf5eaa000c3b81" [label="44"]
}

MQTT-Antwort für zigbee2mqtt/bridge/config/devices
{"type":"devices",
 "message":[{"ieeeAddr":"0x00378b0001ce4211","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch1"},
            {"ieeeAddr":"0x0028580103178983","type":"EndDevice","model":"9290012607","friendly_name":"motionSensor1"},
    {"ieeeAddr":"0x0011030878a425e8","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch2"},
    {"ieeeAddr":"0x00127d00025810d4","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor1"},
    {"ieeeAddr":"0x001783e60108bc9b","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch3"},
    {"ieeeAddr":"0x00173c0002d583bc","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor2"},
            {"ieeeAddr":"0x0015872702d00eae","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor3"},
    {"ieeeAddr":"0x001237d0081d5e73","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor4"},
    {"ieeeAddr":"0x0019e80002d851d4","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"cubeController1"},
    {"ieeeAddr":"0x7adf5eaa000c3b81","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug1"},
            {"ieeeAddr":"0x00271d00051d08f9","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"cubeController2"},
    {"ieeeAddr":"0x0046580103e7701e","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch4"}]}
Hinweis: falls der friendly_name nicht explizit modifiziert wurde, entspricht er der ieeeAddr.

Liste der CIDs
zigbee_cubeController1
zigbee_dimmerSwitch1
zigbee_motionSensor1
zigbee_smartPlug1
zigbee_thpSensor1
Die CID folgt gemäß template-Festlegung immer dem Muster zigbee_<friendly_name>.

aktuell verfügbare Image-Links - gemäß der model-Bezeichnung aus devices-JSON
https://koenkk.github.io/zigbee2mqtt/images/devices/F7C033.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AV2010-22.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/421786.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/4256251-RZHAC.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/PSS-23ZBS.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/53170161.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/CC2530.ROUTER.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/DNCKATSW001.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/DNCKATSW002.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/DNCKATSW003.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/DNCKATSW004.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/Mega23M12.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/PLUG-EDP-RE-DY.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/22670.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/45852GE.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/45857GE.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/GL-C-008.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/HS1SA.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/HS3SA.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/HS1DS.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/HS1WL.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/HALIGHTDIMWWE27.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1545G12.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1546G12.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1623G12.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1537R6.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1650R5.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1536G5.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1622G12.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1624G9.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/LED1649C5.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/ICTC-G-1.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/ICPSHC24-10EU-IL-1.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/ICPSHC24-30EU-IL-1.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/L1527.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/L1529.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/L1528.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/E1603.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RB-185-C.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/BY-185-C.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RB-285-C.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RB-165.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RB-175-W.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RS-125.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RS-128-T.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RB-145.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RB-248-T.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/BY-165.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/PL-110.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/ST-110.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/UC-110.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/DL-110-N.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/DL-110-W.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/SL-110-N.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/SL-110-M.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/SL-110-W.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/SP-120.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/3210-L.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/3326-L.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/3320-L.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/K2RGBW01.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/KS-SM001.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/NL08-0800.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/Z809A.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/FB56+ZSW05HG1.2.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/MG-AUWS01.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/4058075816718.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AA69697.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AC03645.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AC03642.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AA70155.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AA68199.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AB32840.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/4058075816794.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AC03641.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/4052899926158.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AB401130055.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AB3257001NJ.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/4052899926110.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/4058075036185.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/4058075036147.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AB35996.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AC08562.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/AC01353010G.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/50045.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/50049.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/7299760PH.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/7146060PH.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/433714.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/9290011370.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/8718696449691.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/7299355PH.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/915005106701.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/9290012573A.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/9290002579A.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/8718696485880.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/915005733701.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/8718696695203.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/8718696598283.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/8718696548738.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/3261030P7.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/3216331P5.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/7199960PH.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/324131092621.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/9290012607.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/E11-G13.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/E11-G23-E11-G33.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/Z01-CIA19NAE26.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/Z01-A19NAE26.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/E11-N1EA.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/STSS-MULT-001.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/STS-PRS-251.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/73742.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/73740.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/73693.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/74283.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/74696.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/72922-A.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/74282.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/ZLED-2709.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/WXKG01LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/WXKG11LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/WXKG12LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/WXKG03LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/WXKG02LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/QBKG04LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/QBKG11LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/QBKG03LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/QBKG12LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/WSDCGQ01LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/WSDCGQ11LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RTCGQ01LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/RTCGQ11LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/MCCGQ01LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/MCCGQ11LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/SJCGQ11LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/MFKZQ01LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/ZNCZ02LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/QBCZ11LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/JTYJ-GD-01LM-BW.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/JTQJ-BF-01LM-BW.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/A6121.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/DJT11LM.jpg
https://koenkk.github.io/zigbee2mqtt/images/devices/900008-WW.jpg
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 19 Dezember 2018, 20:33:00
Devicelist sagt mir nichts. Kannst du bitte hier eine anhaengen?
Gemeint war das, was bei der aktuellen get <zigbee-bridge> devicelist-Anfrage zurückkommt, raw-Definitionen zu allem im Anhang, da stehen dann auch die Werte drin
Zitat
Weiss jemand, wieso zwischen mark79 und Beta-Users graphvis Formatunterschiede gibt?
Ich würde mal auf unterschiedliche SW-Versionen tippen. Ich hatte den Dienst "damals" (vor einigen Monaten) installiert und seither auch nicht aktualisiert. Das letzte update stammt aber von Anfang Dez. => mark79 ist vermutlich aktueller.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 19 Dezember 2018, 21:21:58
Zitat
Die CID folgt gemäß template-Festlegung immer dem Muster zigbee_<friendly_name>.
Wie ich oben geschrieben habe, das ist mir zu unsicher, wenn moeglich, dann wuerde ich diese Fehlerquelle (Benutzer modifiziert bridgeRegexp) eliminieren.
Koenntest du auch noch deine readingLists zeigen?

Zitat
aktuell verfügbare Image-Links - gemäß der model-Bezeichnung aus devices-JSON
Gibt es eine Moeglichkeit diese Liste selbst herunterzuladen?

Aktueller Stand siehe Anhang mit Infos von OdfFhem (verwendet CID).
Die Bilder benoetigen deviceList mit dem Format von mark79/OdfFhem
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 19 Dezember 2018, 21:54:33
"Show neighbor map" setzt bei den FHEM Geraeten, wo man ein Bild zuordnen konnte, das imageLink Attribut, und das wird beim Aufruf des Geraetes auch angezeigt (analog zu ZWave).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 19 Dezember 2018, 22:10:14
...sieht so aus, als sollte ich dem Pi ein update gönnen :( . Wird dauern, aber sonst erst mal *thumbs up*!!!!

Bezüglich der Reading-Namen und dem template: das sollte also "graphviz" sein, oder?

Also so:

name:L_01_zigbee2mqtt_bridge
desc:The zigbee2mqtt bridge device <br>NOTE: JSON of networkmap raw will not be expanded! <br>If you want that, change readingList accordingly, "get <device> networkmap raw" will lead to an empty afterwards.
filter:TYPE=MQTT2_DEVICE
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^:]+:([^/]+)[/].*:, ? $1 : undef }
attr DEVICE bridgeRegexp\
 BASE_TOPIC/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr DEVICE getList\
  devicelist:noArg log BASE_TOPIC/bridge/config/devices\
  networkmap:raw networkmap_raw BASE_TOPIC/bridge/networkmap $EVTPART1\
  networkmap_graphviz graphviz BASE_TOPIC/bridge/networkmap graphviz
attr DEVICE readingList\
  BASE_TOPIC/bridge/state:.* state\
  BASE_TOPIC/bridge/config/devices:.* {}\
  BASE_TOPIC/bridge/config/log_level:.* log_level\
  BASE_TOPIC/bridge/config/permit_join:.* permit_join\
  BASE_TOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
  BASE_TOPIC/bridge/log:.* log\
  BASE_TOPIC/bridge/networkmap:.* {}\
  BASE_TOPIC/bridge/networkmap/graphviz:.* graphviz\
  BASE_TOPIC/bridge/networkmap/raw:.* networkmap_raw
attr DEVICE setList\
  log_level:debug,info,warn,error BASE_TOPIC/bridge/config/log_level $EVTPART1\
  permit_join:true,false BASE_TOPIC/bridge/config/permit_join $EVTPART1\
  remove:textField BASE_TOPIC/bridge/config/remove $EVTPART1\
  rename:textField BASE_TOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 20 Dezember 2018, 00:53:40
Zitat
Gibt es eine Moeglichkeit diese Liste selbst herunterzuladen?
Ich habe bislang keinen Link zu einer herunterladbaren Liste gefunden. Meine Liste stammt aus der Auswertung von https://koenkk.github.io/zigbee2mqtt/information/supported_devices.html (https://koenkk.github.io/zigbee2mqtt/information/supported_devices.html).

Zitat
Koenntest du auch noch deine readingLists zeigen?
Ich verwende aktuell konsequent das Feature zur Festlegung eines individuellen friendly_name via zigbee2mqtt-Funktionalität. Alle MQTT-Meldungen verwenden den festgelegten friendly_name als Topic ...
attr MQTT2_zigbee_dimmerSwitch1 readingList zigbee2mqtt/dimmerSwitch1:.* { json2nameValue($EVENT) }

Hat man selbst keinen friendly_name festgelegt, gibt es trotzdem einen friendly_name und dieser entspricht der eindeutigen ID des ZigBee-Gerätes (ieeeAddr). MQTT-Meldungen verwenden auch in diesem Fall den friendly_name als Topic ...
attr MQTT2_zigbee_dimmerSwitch1 readingList zigbee2mqtt/0x00378b0001ce4211:.* { json2nameValue($EVENT) }
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 20 Dezember 2018, 06:08:29
Zitat
Gibt es eine Moeglichkeit diese Liste selbst herunterzuladen?
Basierend auf https://github.com/Koenkk/zigbee-shepherd-converters/blob/master/devices.js (https://github.com/Koenkk/zigbee-shepherd-converters/blob/master/devices.js) wird mit https://github.com/Koenkk/zigbee2mqtt/blob/master/docgen/supported-devices.js (https://github.com/Koenkk/zigbee2mqtt/blob/master/docgen/supported-devices.js) die Übersichtsseite der unterstützten Geräte generiert.

Aufs "Wesentliche" reduzierte Schnellansicht von supported-devices.js ...
/* This script generates the supported devices page. */

const devices = require('zigbee-shepherd-converters').devices;
const replaceByDash = [new RegExp('/', 'g'), new RegExp(':', 'g'), new RegExp(' ', 'g')];
const imageBase = '../images/devices/';

devices = new Map(devices.map((d) => [d.model, d]));
devices.forEach((d) => {
    let image = d.model;
    replaceByDash.forEach((r) => image = image.replace(r, '-'));
    image = imageBase + `${image}.jpg`;
});
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 20 Dezember 2018, 08:57:20
Ich pruefe jetzt auch readingList nach zigbee2mqtt/(.*): um friendly_name nach FHEM Instanznamen mappen zu koennen.

Die model => Bildnamen-Umwandlung habe ich uebernommen.
supported-devices.js waehlt eine interessante Regexp-Alternative zu d.model.replace(/[\/: ]/g,' ').
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 22 Dezember 2018, 17:14:57
@Beta-User
Wegen der erfreulichen Entwicklungen im Bereich networkmap sollten wir überlegen, folgende Änderungen am Template L_01_zigbee2mqtt_bridge vorzunehmen ...

statt (---)
attr DEVICE getList\
  devicelist:noArg log BASE_TOPIC/bridge/config/devices\
---  networkmap:raw networkmap_raw BASE_TOPIC/bridge/networkmap $EVTPART1\
---  networkmap_graphviz graphviz BASE_TOPIC/bridge/networkmap graphviz
attr DEVICE readingList\
  BASE_TOPIC/bridge/state:.* state\
  BASE_TOPIC/bridge/config/devices:.* {}\
  BASE_TOPIC/bridge/config/log_level:.* log_level\
  BASE_TOPIC/bridge/config/permit_join:.* permit_join\
  BASE_TOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
  BASE_TOPIC/bridge/log:.* log\
  BASE_TOPIC/bridge/networkmap:.* {}\
---  BASE_TOPIC/bridge/networkmap/graphviz:.* graphviz\
---  BASE_TOPIC/bridge/networkmap/raw:.* networkmap_raw

eher (+++)
attr DEVICE getList\
  devicelist:noArg log BASE_TOPIC/bridge/config/devices\
+++  networkmap_raw:noArg raw BASE_TOPIC/bridge/networkmap raw\
+++  networkmap_graphviz:noArg graphviz BASE_TOPIC/bridge/networkmap graphviz
attr DEVICE readingList\
  BASE_TOPIC/bridge/state:.* state\
  BASE_TOPIC/bridge/config/devices:.* {}\
  BASE_TOPIC/bridge/config/log_level:.* log_level\
  BASE_TOPIC/bridge/config/permit_join:.* permit_join\
  BASE_TOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
  BASE_TOPIC/bridge/log:.* log\
  BASE_TOPIC/bridge/networkmap:.* {}\
+++  BASE_TOPIC/bridge/networkmap/graphviz:.* graphviz\
+++  BASE_TOPIC/bridge/networkmap/raw:.* raw

Desweiteren wäre vielleicht noch ein Hinweis hilfreich, dass man bei einer nachträglichen Änderung des bridgeRegexp auf jeden Fall auch die readingList "retten" sollte. Es sei denn, man kann irgendwie verhindern, dass die readingList bei einer solchen Änderung platt gemacht wird.


@rudolfkoenig
Zunächst einmal vielen Dank für die äußerst praktische Implementation der graphviz-Darstellung. Anbei einige Anmerkungen:

Viele Punkte - ich weiss; aber es ist ja auch "Jammern" auf hohem Niveau und selbst  wenn keiner der Punkte umgesetzt würde, vermittelt das Feature in seiner jetzigen Form schon einen hohen Integrationsgrad.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 22 Dezember 2018, 18:20:13
OK, die network-map Änderungen sind eingecheckt, die anderen Variante habe ich gekürzt (und dann noch ein 4ch-Test-Tasmota dazugepackt).

Was die Änderungen der bridge-regexp angeht, ist das kein eigentliches Problem der templates, oder? Wenn, dann gehört es in die cref (falls es dort nicht sogar schon steht). Oder gibt es dazu Vorschläge?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 22 Dezember 2018, 18:37:09
Die bridgeRegexp-Thematik ist kein eigentliches Problem der templates und die Funktionsweise steht auch in der cref. Aber gerade beim bridge-Device ist es besonders verheerend, wenn die readingList zerstört wird. Daher dachte ich, ein kleiner Hinweis kann ja nicht schaden ... war aber auch nur so eine Idee ...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 22 Dezember 2018, 19:29:08
Zitat
networkmap_raw:noArg raw BASE_TOPIC/bridge/networkmap raw
Ach. Sowas gibt es auch? Wie schaut dessen output aus?
Zitat
Bei der label-Übernahme wird das abschließende } nicht entfernt
Dazu brauche ein Beispiel.

Zitat
Wäre es möglich, die Teile aus dem Label zu entfernen, die bereits durch Visualisierung kenntlich gemacht wurden. Dazu zähle ich den 1.Eintrag (friendly_name) und den 2.Eintrag (Coordinator,Router,EndDevice)?
Dazu brauche ich ein Screenshot. Irgendetwas laeuft bei dir schief.

Zitat
Wäre es möglich, den Coordinator noch farblich von einem Router zu unterscheiden?
Doch, ich war nur zu faul am .css was zu aendern (bei Aenderung muss ich _alle_ Style-Css Dateien anfassen).

Zitat
Kann die Signalqualität (eine Richtung sollte vermutlich reichen) noch in das Label aufgenommen werden?
Wo kriege ich diese Daten her?

Zitat
Kann der Layout-Modus (zumindest temporär) ausgeschaltet werden, so das man durch Klick auf ein Element in das entsprechende FHEM-Device gelangt?
Sicher, es braucht nur eine Idee (wie man es ausschaltet) und Arbeit :)

Zitat
Die FHEM-Devices werden korrekt zugeordnet, aber es werden keine Bilder dargestellt ...
Liegt am fehlenden/unvollstaendigen devices Reading.
Steht im commandref, aber richtig versteckt:
Zitat
devPos value
used internally by the "Show neighbor map" visualizer in FHEMWEB. This function is active if the graphviz and devices readings are set, usually in the zigbee2mqtt bridge device.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 22 Dezember 2018, 20:50:36
Zitat
Ach. Sowas gibt es auch? Wie schaut dessen output aus?
  [{"ieeeAddr":"0x0123456789abcdef","nwkAddr":40965,"lqi":42,"parent":"0xfedcba9876543210","status":"offline"}, ...]

Zitat
Dazu brauche ein Beispiel.
Hier habe ich mich etwas unglücklich ausgedrückt; es geht um den Tooltip.

aus dem label in der graphviz-Struktur
  [label="{dimmerSwitch1|EndDevice|Philips Hue dimmer switch (324131092621)|offline}"]
wird der folgende Tooltip (nebenbei zu beachten: Pipe geht verloren)
  dimmerSwitch1EndDevicePhilips Hue dimmer switch (324131092621)offline}

Zitat
Dazu brauche ich ein Screenshot. Irgendetwas laeuft bei dir schief.
Hier gilt wieder ... es geht um den Tooltip.

statt
  dimmerSwitch1EndDevicePhilips Hue dimmer switch (324131092621)offline}

fände ich einen Tooltip in der folgenden Art "besser"
  Philips Hue dimmer switch (324131092621) --- offline

Zitat
Wo kriege ich diese Daten her?
Die Signalqualität wird in der graphviz-Struktur mitgeliefert.

  "0x1234567890abcdef" -> "0xfedcba9876543210" [label="30"]
bedeutet, dass die Signalqualität von 0x1234567890abcdef nach 0xfedcba9876543210 einen Wert von 30 hat.

Zitat
Liegt am fehlenden/unvollstaendigen devices Reading.
Das hatte ich sogar gelesen, aber fälschlicherweise nicht direkt mit der Bildaufbereitung in Zusammenhang gebracht. Hier sehe ich noch ein "kleines" Problem, da die devices-Antwort nicht mit einem eigenen Topic geliefert wird, sondern ganz allgemein via log-Topic.

Wäre es möglich bzw. sinnvoll, das model stattdessen aus dem label-value der graphviz-Struktur auszulesen? [steht dort wohl immer in dem abschließenden Klammerausdruck]. Alternativ müsste man ansonsten auf ein Userreading für devices ausweichen oder gibt es noch weitere Möglichkeiten?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 23 Dezember 2018, 09:06:39
Zitat
Liegt am fehlenden/unvollstaendigen devices Reading.

Um das fehlende Reading devices zu erzeugen, habe ich nun die readingList angepasst.
  zigbee2mqtt/bridge/log:.*\"devices\".* devices
  zigbee2mqtt/bridge/log:.* log
Jetzt wird ein Log-Topic mit dem key oder value "devices" zusätzlich als Reading devices abgestellt - den regulären Ausdruck kann man sicher noch verfeinern.

Das Reading devices ist dann auch da und sieht fast so aus wie in #243 (Struktur identisch, die Geräte haben allerdings eine andere Reihenfolge).
Bilder werden allerdings bis auf eins keine angezeigt.
Das eine Bild, das angezeigt wird, ist allerdings auch nicht korrekt: Bild vom OsramPlug bei einem HueDimmerSwitch.

Ich weiss nicht, ob es eine Bedeutung hat, aber der HueDimmerSwitch ist das erste Device in der Liste und ein OsramPlug ist das letzte Device in der Liste ...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 23 Dezember 2018, 11:07:56
So im Nachhinein waere mir raw lieber gewesen, aber ich bau das jetzt nicht mehr um.

Zitat
wird der folgende Tooltip (nebenbei zu beachten: Pipe geht verloren)
Aha: FireFox user.
Ich habe Pipe zu <br> gewandelt, was bei Chrome/Safari im title zu NL wird, und von FireFox verschluckt wird.
Ab sofort wird Pipe fuer WebKit Browser in <br> und sonst zu space gewandelt.
Ich habe auch lqi hinzugefuegt, allerdings gilt das ja (sinnvollerweise) pro Verbindung, und ich habe title beim Geraet, insofern koennen pro Geraet mehrere lqi angezeigt werden.
Den ueberfluessigen } habe ich auch entfernt.
Siehe Anhang.


Zitat
Wäre es möglich bzw. sinnvoll, das model stattdessen aus dem label-value der graphviz-Struktur auszulesen? [steht dort wohl immer in dem abschließenden Klammerausdruck].
Nicht in den oben gelieferten graphviz Reading, oder ich habe was nicht verstanden.

Zitat
Bilder werden allerdings bis auf eins keine angezeigt.
Das eine Bild, das angezeigt wird, ist allerdings auch nicht korrekt: Bild vom OsramPlug bei einem HueDimmerSwitch.
Wenn ich das naeher untersuchen soll, dann brauche ich die beiden Readings (graphviz und devices).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 23 Dezember 2018, 11:17:25
Beim Klick auf dem label im "Show neighbor map" wird man jetzt zum Geraet weitergeleitet.
Aus diesem Grund wird das Verschieben eines Geraetes ohne Bild zu Herausforderung, aber das ist ja auch ein Feature fuer Fortgeschrittene :)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 23 Dezember 2018, 12:02:15
Zitat
Nicht in den oben gelieferten graphviz Reading, oder ich habe was nicht verstanden.

Nein, Du hast nichts falsch verstanden. Das war ein Schnell/Verzweiflungsschuss, bevor ich dann heute Morgen die readingList-Änderung laut #256 gemacht habe.
Bei der Gelegenheit wollte ich noch fragen, ob es eine Möglichkeit gibt, das resultierende Reading für readingList durch einen Ausdruck festzulegen?
Ich meine damit, statt der zwei regulären Ausdrücke für das log-Topic z.B. ein ($EVENT =~ m/.*devices.*/)?"devices":"log" o.ä. verwenden zu können.
Laut commandref vermute ich ja nicht, aber wer weiss ... vielleicht gibt es ja doch noch irgendeinen unentdeckten Weg ...


Zitat
Wenn ich das naeher untersuchen soll, dann brauche ich die beiden Readings (graphviz und devices).

Anbei die komplette Raw definition vom relevanten MQTT2_DEVICE sowie weiter unten die resultierende neighbor_map
defmod MQTT2_myMqttClient MQTT2_DEVICE myMqttClient
attr MQTT2_myMqttClient IODev myMqttClient
attr MQTT2_myMqttClient bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr MQTT2_myMqttClient devPos 0x00378b0001ce4211 707,155 0x00689b0018ed1421 400,90 0x001237d0081d5e73 42,343 0x00127d00025810d4 732,48 0x00173c0002d583bc 732,83 0x0015872702d00eae 734,118 0x00271d00051d08f9 18,141 0x0019e80002d851d4 16,91 0x0028580103178983 18,380 0x0011030878a425e8 706,322 0x0046580103e7701e 709,400 0x001783e60108bc9b 708,361 0x7adf5eaa000c3b81 385,485 0x7cc40eaa00b0b30e 384,364 0x7cb27eaa00b03ebd 377,12
attr MQTT2_myMqttClient getList devicelist:noArg log zigbee2mqtt/bridge/config/devices\
  networkmap_raw:noArg raw zigbee2mqtt/bridge/networkmap raw\
  networkmap_graphviz:noArg graphviz zigbee2mqtt/bridge/networkmap graphviz
attr MQTT2_myMqttClient model L_01_zigbee2mqtt_bridge
attr MQTT2_myMqttClient 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:.*\"devices\".* devices\
  zigbee2mqtt/bridge/log:.* log\
  zigbee2mqtt/bridge/networkmap:.* {}\
  zigbee2mqtt/bridge/networkmap/graphviz:.* graphviz\
  zigbee2mqtt/bridge/networkmap/raw:.* raw
attr MQTT2_myMqttClient room MQTT2_DEVICE
attr MQTT2_myMqttClient 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\
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}

setstate MQTT2_myMqttClient rename
setstate MQTT2_myMqttClient 2018-12-23 11:03:01 devices {"type":"devices","message":[{"ieeeAddr":"0x00378b0001ce4211","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch1"},{"ieeeAddr":"0x0028580103178983","type":"EndDevice","model":"9290012607","friendly_name":"motionSensor1"},{"ieeeAddr":"0x0011030878a425e8","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch2"},{"ieeeAddr":"0x00127d00025810d4","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor1"},{"ieeeAddr":"0x001783e60108bc9b","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch3"},{"ieeeAddr":"0x00173c0002d583bc","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor2"},{"ieeeAddr":"0x0015872702d00eae","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor3"},{"ieeeAddr":"0x001237d0081d5e73","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor4"},{"ieeeAddr":"0x0019e80002d851d4","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"cubeController1"},{"ieeeAddr":"0x7adf5eaa000c3b81","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug1"},{"ieeeAddr":"0x00271d00051d08f9","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"cubeController2"},{"ieeeAddr":"0x0046580103e7701e","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch4"},{"ieeeAddr":"0x7cb27eaa00b03ebd","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug2"},{"ieeeAddr":"0x7cc40eaa00b0b30e","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug3"}]}
setstate MQTT2_myMqttClient 2018-12-23 11:07:13 graphviz digraph G {\
node[shape=record];;\
  "0x00689b0018ed1421" [label="{0x00689b0018ed1421|Coordinator|No model information available|online}"];;\
  "0x00689b0018ed1421" -> "0x7cc40eaa00b0b30e" [label="8"]\
  "0x00378b0001ce4211" [label="{dimmerSwitch1|EndDevice|Philips Hue dimmer switch (324131092621)|offline}"];;\
  "0x00378b0001ce4211" -> "0x00689b0018ed1421" [label="122"]\
  "0x0028580103178983" [label="{motionSensor1|EndDevice|Philips Hue motion sensor (9290012607)|online}"];;\
  "0x0011030878a425e8" [label="{dimmerSwitch2|EndDevice|Philips Hue dimmer switch (324131092621)|online}"];;\
  "0x00127d00025810d4" [label="{thpSensor1|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];;\
  "0x00127d00025810d4" -> "0x00689b0018ed1421" [label="115"]\
  "0x001783e60108bc9b" [label="{dimmerSwitch3|EndDevice|Philips Hue dimmer switch (324131092621)|online}"];;\
  "0x001783e60108bc9b" -> "0x7cc40eaa00b0b30e" [label="52"]\
  "0x00173c0002d583 zu könnenbc" [label="{thpSensor2|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];;\
  "0x00173c0002d583bc" -> "0x00689b0018ed1421" [label="44"]\
  "0x0015872702d00eae" [label="{thpSensor3|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];;\
  "0x0015872702d00eae" -> "0x00689b0018ed1421" [label="24"]\
  "0x001237d0081d5e73" [label="{thpSensor4|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];;\
  "0x0019e80002d851d4" [label="{cubeController1|EndDevice|Xiaomi Mi smart home cube (MFKZQ01LM)|online}"];;\
  "0x0019e80002d851d4" -> "0x00689b0018ed1421" [label="120"]\
  "0x7adf5eaa000c3b81" [label="{smartPlug1|Router|OSRAM Smart+ plug (AB3257001NJ)|offline}"];;\
  "0x7adf5eaa000c3b81" -> "0x7cc40eaa00b0b30e" [label="42"]\
  "0x00271d00051d08f9" [label="{cubeController2|EndDevice|Xiaomi Mi smart home cube (MFKZQ01LM)|online}"];;\
  "0x00271d00051d08f9" -> "0x00689b0018ed1421" [label="38"]\
  "0x0046580103e7701e" [label="{dimmerSwitch4|EndDevice|Philips Hue dimmer switch (324131092621)|online}"];;\
  "0x7cb27eaa00b03ebd" [label="{smartPlug2|Router|OSRAM Smart+ plug (AB3257001NJ)|online}"];;\
  "0x7cb27eaa00b03ebd" -> "0x00689b0018ed1421" [label="0"]\
  "0x7cc40eaa00b0b30e" [label="{smartPlug3|Router|OSRAM Smart+ plug (AB3257001NJ)|online}"];;\
  "0x7cc40eaa00b0b3 zu können0e" -> "0x00689b0018ed1421" [label="1"]\
}
setstate MQTT2_myMqttClient 2018-12-23 11:03:01 log {"type":"devices","message":[{"ieeeAddr":"0x00378b0001ce4211","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch1"},{"ieeeAddr":"0x0028580103178983","type":"EndDevice","model":"9290012607","friendly_name":"motionSensor1"},{"ieeeAddr":"0x0011030878a425e8","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch2"},{"ieeeAddr":"0x00127d00025810d4","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor1"},{"ieeeAddr":"0x001783e60108bc9b","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch3"},{"ieeeAddr":"0x00173c0002d583bc","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor2"},{"ieeeAddr":"0x0015872702d00eae","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor3"},{"ieeeAddr":"0x001237d0081d5e73","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"thpSensor4"},{"ieeeAddr":"0x0019e80002d851d4","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"cubeController1"},{"ieeeAddr":"0x7adf5eaa000c3b81","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug1"},{"ieeeAddr":"0x00271d00051d08f9","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"cubeController2"},{"ieeeAddr":"0x0046580103e7701e","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch4"},{"ieeeAddr":"0x7cb27eaa00b03ebd","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug2"},{"ieeeAddr":"0x7cc40eaa00b0b30e","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug3"}]}


zu #258:
Vielen Dank für den Einbau der Herausforderung ... mal schauen, ob ich dieser gewachsen bin ...


Und natürlich generell ein herzlicher Dank für die schnelle Umsetzung der Wünsche  :)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 23 Dezember 2018, 12:17:54
bevor ich dann heute Morgen die readingList-Änderung laut #256 gemacht habe.
Gehe ich recht in der Annahme, dass #257 gemeint war (" zigbee2mqtt/bridge/log:.*\"devices\".* devices\") und das in das template eingebaut werden sollte?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 23 Dezember 2018, 12:28:01
Ich meinte meinen Beitrag Antwort #256 am: Heute um 09:06:39.

#257 ist bei mir ein Beitrag von rudolfkoenig.

Oder verstehe ich da was falsch?



Auf jeden Fall würde ich mit der Übernahme der Änderung noch warten, da sie bislang nur temporären Charakter hat ... irgendwas bzgl. der Bildzuordnung und devices-Reading scheint ja noch nicht zu stimmen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 23 Dezember 2018, 12:35:54
Ich meinte meinen Beitrag Antwort #256 am: Heute um 09:06:39.

#257 ist bei mir ein Beitrag von rudolfkoenig.

Oder verstehe ich da was falsch?



Auf jeden Fall würde ich mit der Übernahme der Änderung noch warten, da sie bislang nur temporären Charakter hat ... irgendwas bzgl. der Bildzuordnung und devices-Reading scheint ja noch nicht zu stimmen.

Bei mir hat der nämliche Beitrag mit diesem Zeitstempel die Nummer 257 ??? ;

wie dem auch sei: die readingList bliebt dann erst mal wie sie ist, ich checke dann nur die associatedWith-Änderungen ein.
Bitte um Info, sobald das rein kann (ich müßte erst mal den zigbee-Dienst updaten, habe aber das Passwort für den Pi verlegt und die gängigen Rettungsversuche scheinen nicht zu greifen; daher die evtl. etwas seltsamen Fragen, sorry...; Prio hat jetzt erst mal MySensors, aber da verhält sich meine Test-Hardware mit dem anderen Bootloader grade ungewohnt).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 23 Dezember 2018, 16:59:28
Zitat
Anbei die komplette Raw definition vom relevanten MQTT2_DEVICE sowie weiter unten die resultierende neighbor_map
Da habe ich mich wohl von der Formatierung im ersten Beitrag irrefuehren lassen: ich habe angenommen, dass devices mit newlines getrennt sein muss, wie graphviz. Ich habe das jetzt gefixt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 24 Dezember 2018, 02:41:16
@rudolfkoenig
Ergebnis meiner Tests mit den neuen Modulständen:
Anmerkungen/offene Fragen:
Und natürlich nicht zu vergessen: vielen Dank für die prompte Reaktion/Umsetzung  :)

@Beta-User
Da die Bildzuordnung nun funktioniert, kann/muss folgende Änderung in das Template L_01_zigbee2mqtt_bridge übernommen werden:
attr DEVICE readingList\
  BASE_TOPIC/bridge/state:.* state\
  BASE_TOPIC/bridge/config/devices:.* {}\
  BASE_TOPIC/bridge/config/log_level:.* log_level\
  BASE_TOPIC/bridge/config/permit_join:.* permit_join\
  BASE_TOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
+++ BASE_TOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices\
  BASE_TOPIC/bridge/log:.* log\
  BASE_TOPIC/bridge/networkmap:.* {}\
  BASE_TOPIC/bridge/networkmap/graphviz:.* graphviz\
  BASE_TOPIC/bridge/networkmap/raw:.* raw
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 24 Dezember 2018, 13:06:29
readingList im template eben ergänzt, Danke!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 25 Dezember 2018, 17:24:40
Hallo,

zuerst einmal ein großes Lob, was ihr hier auf die Beine stellt.

Leider bekomme ich beim Aufruf von get MQTT2_zigbee_pi networkmap_graphviz folgende Fehlermeldung:
Timeout reading answer for zigbee2mqtt/bridge/networkmap graphviz
mein Bridgedevice sieht  wie folgt aus:
Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   DEVICETOPIC MQTT2_zigbee_pi
   IODev      mosquitto
   LASTInputDev mosquitto
   MSGCNT     226
   NAME       MQTT2_zigbee_pi
   NR         1039
   STATE      {"Time":"2018-12-25T14:34:53","Uptime":"38T20:39:55","Vcc":3.172,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"FritzboxHB","BSSId":"18:D6:C7:3C:B0:0C","Channel":1,"RSSI":38}}
   TYPE       MQTT2_DEVICE
   mosquitto_MSGCNT 172
   mosquitto_TIME 2018-12-25 17:20:51
   mqtt2_MSGCNT 54
   mqtt2_TIME 2018-12-25 14:34:52
   OLDREADINGS:
   READINGS:
     2018-12-25 15:24:57   devices         {"type":"devices","message":[{"ieeeAddr":"0xd0cf5efffe16d8c7","type":"EndDevice","model":"TRADFRI remote control","friendly_name":"0xd0cf5efffe16d8c7"},{"ieeeAddr":"0x90fd9ffffed889f3","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffed889f3"},{"ieeeAddr":"0x90fd9ffffed3ec52","type":"EndDevice","model":"TRADFRI remote control","friendly_name":"0x90fd9ffffed3ec52"},{"ieeeAddr":"0x00158d00029c08a6","type":"EndDevice","model":"RTCGQ11LM","friendly_name":"0x00158d00029c08a6"},{"ieeeAddr":"0x00158d0001b19b09","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d0001b19b09"},{"ieeeAddr":"0x90fd9ffffedd7c9e","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffedd7c9e"},{"ieeeAddr":"0x00158d00022c3627","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d00022c3627"},{"ieeeAddr":"0x00124b0014d9dd9b","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0014d9dd9b"},{"ieeeAddr":"0x00158d0001e80850","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d0001e80850"},{"ieeeAddr":"0x00158d00027cefec","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"0x00158d00027cefec"},{"ieeeAddr":"0x00124b001b7b25ff","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b001b7b25ff"},{"ieeeAddr":"0x00158d0002b74d76","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74d76"},{"ieeeAddr":"0x00158d0002b74df6","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74df6"},{"ieeeAddr":"0x00158d0002b23b0c","type":"EndDevice","model":"DJT11LM","friendly_name":"0x00158d0002b23b0c"}]}
     2018-12-25 17:20:51   graphviz        digraph G {
node[shape=record];
  "0x00124b00120234a3" [label="{0x00124b00120234a3|Coordinator|No model information available|online}"];
  "0xd0cf5efffe16d8c7" [label="{0xd0cf5efffe16d8c7|EndDevice|IKEA of Sweden TRADFRI remote control|offline}"];
  "0x90fd9ffffed889f3" [label="{0x90fd9ffffed889f3|Router|IKEA TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white (LED1545G12)|offline}"];
  "0x90fd9ffffed3ec52" [label="{0x90fd9ffffed3ec52|EndDevice|IKEA of Sweden TRADFRI remote control|offline}"];
  "0x00158d00029c08a6" [label="{0x00158d00029c08a6|EndDevice|Xiaomi Aqara human body movement and illuminance sensor (RTCGQ11LM)|online}"];
  "0x00158d00029c08a6" -> "0x00124b00120234a3" [label="43"]
  "0x00158d0001b19b09" [label="{0x00158d0001b19b09|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];
  "0x00158d0001b19b09" -> "0x00124b00120234a3" [label="20"]
  "0x90fd9ffffedd7c9e" [label="{0x90fd9ffffedd7c9e|Router|IKEA TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white (LED1545G12)|offline}"];
  "0x00158d00022c3627" [label="{0x00158d00022c3627|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];
  "0x00158d00022c3627" -> "0x00124b00120234a3" [label="54"]
  "0x00124b0014d9dd9b" [label="{0x00124b0014d9dd9b|Router|Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (CC2530.ROUTER)|offline}"];
  "0x00124b0014d9dd9b" -> "0x00124b00120234a3" [label="1"]
  "0x00158d0001e80850" [label="{0x00158d0001e80850|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];
  "0x00158d0001e80850" -> "0x00124b00120234a3" [label="79"]
  "0x00158d00027cefec" [label="{0x00158d00027cefec|EndDevice|Xiaomi Mi smart home cube (MFKZQ01LM)|online}"];
  "0x00124b001b7b25ff" [label="{0x00124b001b7b25ff|Router|Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (CC2530.ROUTER)|offline}"];
  "0x00124b001b7b25ff" -> "0x00124b00120234a3" [label="19"]
  "0x00158d0002b74d76" [label="{0x00158d0002b74d76|EndDevice|Xiaomi MiJia door & window contact sensor (MCCGQ01LM)|online}"];
  "0x00158d0002b74d76" -> "0x00124b00120234a3" [label="42"]
  "0x00158d0002b74df6" [label="{0x00158d0002b74df6|EndDevice|Xiaomi MiJia door & window contact sensor (MCCGQ01LM)|online}"];
  "0x00158d0002b74df6" -> "0x00124b00120234a3" [label="70"]
  "0x00158d0002b23b0c" [label="{0x00158d0002b23b0c|EndDevice|Xiaomi Aqara vibration sensor (DJT11LM)|online}"];
  "0x00158d0002b23b0c" -> "0x00124b00120234a3" [label="64"]
}
     2018-12-25 15:24:57   log             {"type":"devices","message":[{"ieeeAddr":"0xd0cf5efffe16d8c7","type":"EndDevice","model":"TRADFRI remote control","friendly_name":"0xd0cf5efffe16d8c7"},{"ieeeAddr":"0x90fd9ffffed889f3","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffed889f3"},{"ieeeAddr":"0x90fd9ffffed3ec52","type":"EndDevice","model":"TRADFRI remote control","friendly_name":"0x90fd9ffffed3ec52"},{"ieeeAddr":"0x00158d00029c08a6","type":"EndDevice","model":"RTCGQ11LM","friendly_name":"0x00158d00029c08a6"},{"ieeeAddr":"0x00158d0001b19b09","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d0001b19b09"},{"ieeeAddr":"0x90fd9ffffedd7c9e","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffedd7c9e"},{"ieeeAddr":"0x00158d00022c3627","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d00022c3627"},{"ieeeAddr":"0x00124b0014d9dd9b","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0014d9dd9b"},{"ieeeAddr":"0x00158d0001e80850","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d0001e80850"},{"ieeeAddr":"0x00158d00027cefec","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"0x00158d00027cefec"},{"ieeeAddr":"0x00124b001b7b25ff","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b001b7b25ff"},{"ieeeAddr":"0x00158d0002b74d76","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74d76"},{"ieeeAddr":"0x00158d0002b74df6","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74df6"},{"ieeeAddr":"0x00158d0002b23b0c","type":"EndDevice","model":"DJT11LM","friendly_name":"0x00158d0002b23b0c"}]}
     2018-12-25 14:40:40   raw             [{"ieeeAddr":"0xffffffffffffffff","nwkAddr":49946,"lqi":0,"parent":"0x00124b00120234a3","status":"offline"},{"ieeeAddr":"0x00158d0001b19b09","nwkAddr":48550,"lqi":95,"parent":"0x00124b00120234a3","status":"online"},{"ieeeAddr":"0x00158d0001e80850","nwkAddr":47933,"lqi":170,"parent":"0x00124b00120234a3","status":"online"},{"ieeeAddr":"0x00158d00029c08a6","nwkAddr":42429,"lqi":51,"parent":"0x00124b00120234a3","status":"online"},{"ieeeAddr":"0x00158d00010fce70","nwkAddr":1487,"lqi":170,"parent":"0x00124b00120234a3","status":"offline"},{"ieeeAddr":"0x00158d0002b937a9","nwkAddr":36594,"lqi":1,"parent":"0x00124b00120234a3","status":"offline"},{"ieeeAddr":"0x00158d00022c3627","nwkAddr":58052,"lqi":170,"parent":"0x00124b00120234a3","status":"online"},{"ieeeAddr":"0x00158d0002b74df6","nwkAddr":55948,"lqi":170,"parent":"0x00124b00120234a3","status":"online"},{"ieeeAddr":"0x00124b001b7b25ff","nwkAddr":24992,"lqi":20,"parent":"0x00124b00120234a3","status":"offline"},{"ieeeAddr":"0x00158d0002b23b0c","nwkAddr":883,"lqi":94,"parent":"0x00124b00120234a3","status":"online"},{"ieeeAddr":"0x00158d0002b74d76","nwkAddr":8221,"lqi":170,"parent":"0x00124b00120234a3","status":"online"},{"ieeeAddr":"0x00124b0014d9dd9b","nwkAddr":14087,"lqi":1,"parent":"0x00124b00120234a3","status":"offline"},{"ieeeAddr":"0x00124b0014d9d589","nwkAddr":0,"lqi":1,"parent":"0x00124b00120234a3","status":"offline"}]
Attributes:
   IODev      mosquitto
   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
   imageLink  1
   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
   room       MQTT,MQTT2_DEVICE
   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
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}


Muss außer graphviz noch etwas anderes installiert werden?

Gruß rippi
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 25 Dezember 2018, 19:24:09
In meinem letzten Beitrag hatte ich dieses Problem bereits geschildert
Zitat
Timeout bei get reicht nicht (mehr), da ich auf die graphviz-MQTT-Antwort ca. 11 Sekunden warten muss

Dies führt jedoch nur dazu, dass die reine graphviz-MQTT-Antwort nicht als Dialog angezeigt wird, nachdem man ein networkmap_graphviz ausgelöst hat.
Das für die graphische Darstellung notwendige Reading graphviz wird trotzdem angelegt, sobald die MQTT-Antwort eintrifft - ist ja auch bei Dir so geschehen.

Für die graphische Darstellung ist die Installation vom Paket graphviz nicht erforderlich, da die Darstellung auf anderem Wege erfolgt.

Es reicht normalerweise, den Link Show neighbor map zu drücken und die Geräte-Icons in gewünschter Weise anzuordnen und - ganz wichtig - am Ende oder auch zwischendurch mal mit Send layout to FHEM im FHEM-Gerät festzuhalten ...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 26 Dezember 2018, 10:40:21
Zitat
Es reicht normalerweise, den Link Show neighbor map zu drücken

Sorry für die Frage, aber genau DEN habe ich bisher nicht gefunden.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 26 Dezember 2018, 11:01:58
Der Link ist ganz oben, über dem ZigBee-"Haupt"-Device ( UZB, RaspBee ).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 26 Dezember 2018, 11:20:13
Zitat
Sorry für die Frage, aber genau DEN habe ich bisher nicht gefunden.
Da es mir nicht klar ist, ob es jetzt klappt: Wenn ein graphviz Reading gibt, dann wird in der Detailansicht oben "Show neighbor map" eingeblendet. Damit man auch Bilder sieht, ist zusaetzlich das devices Reading notwendig. Die Erstellung von graphviz dauert wohl laenger als 4 Sekunden, und MQTT2_DEVICE gibt bei jedem get Befehl nach 4 Sekunden das Warten auf. Das Ergebnis trudelt aber irgendwann ein, es wird gespeichet, und man kann es danach verwenden.

Zitat
Click auf Label-Bereich erlaubt auch das Verschieben, beim Loslassen wird aber dann weitergeleitet. Ist es möglich, das Verschieben oder das Weiterleiten in diesem Fall zu unterbinden bzw. das Weiterleiten generell in einem neuen Tab zu öffnen?
Habs implementiert.

Zitat
Timeout bei get reicht nicht (mehr), da ich auf die graphviz-MQTT-Antwort ca. 11 Sekunden warten muss ... bei einem zigbee-Router klappte es gerade noch; nach Hinzufügen eines weiteren zigbee-Routers hat sich die Antwortzeit mehr als verdoppelt.
Da mir solch lange Wartezeiten unsympatisch sind, bleibt es zunaechst bei der aktuellen Implementierung.

Zitat
Bei halbwegs sprechenden FHEM-Gerätenamen und einer größeren Anzahl von zigbee-Geräten ist der Darstellungsbereich der neighbor_map zu klein - kann die Größe irgendwo vorgegeben werden?
Die Hoehe ist 480 oder 35*AnzahlGeraete, was auch immer groesser ist. Wenn das bei dir nicht passt, dann schick mir eine Konfiguration, damit ich es verbessern kann.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 26 Dezember 2018, 11:32:09
Der Link taucht bei mir (noch) nicht auf.
Get Devices liefert zwar ein Popup mit Inhalt, es wird aber kein Reading automatisch generiert.
Hier ein List meines Bridge-Devices:
Internals:
   CID        zigbee_fhem
   DEF        zigbee_fhem
   DEVICETOPIC MQTT2_zigbee_fhem
   IODev      MQTT2_mosquito
   LASTInputDev MQTT2_mosquito
   MQTT2_mosquito_MSGCNT 15
   MQTT2_mosquito_TIME 2018-12-26 11:26:54
   MSGCNT     15
   NAME       MQTT2_zigbee_fhem
   NR         629
   STATE      online
   TYPE       MQTT2_DEVICE
   Helper:
     DBLOG:
       log:
         myDbLog:
           TIME       1545819989.08639
           VALUE      {"type":"devices","message":[{"ieeeAddr":"0x0017880100111162","type":"Router","model":"7199960PH","friendly_name":"0x0017880100111162"},{"ieeeAddr":"0x84182600000679de","type":"Router","model":"4052899926158","friendly_name":"0x84182600000679de"},{"ieeeAddr":"0x00124b0018e1a068","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0018e1a068"},{"ieeeAddr":"0x00158d000222de8c","type":"EndDevice","model":"RTCGQ11LM","friendly_name":"0x00158d000222de8c"},{"ieeeAddr":"0x00158d00021331c9","type":"EndDevice","model":"WXKG11LM","friendly_name":"0x00158d00021331c9"},{"ieeeAddr":"0x00158d0002a9222c","type":"EndDevice","model":"DJT11LM","friendly_name":"0x00158d0002a9222c"}]}
       networkmap_result:
         myDbLog:
           TIME       1545819618.17178
           VALUE      [{"ieeeAddr":"0xffffffffffffffff","nwkAddr":15360,"lqi":0,"parent":"0x0017880100111162","status":"offline"},{"ieeeAddr":"0x84182600000679de","nwkAddr":15360,"lqi":1,"parent":"0x00124b0018e1a068","status":"offline"},{"ieeeAddr":"0x00124b0018e1a068","nwkAddr":34528,"lqi":5,"parent":"0x0017880100111162","status":"online"},{"ieeeAddr":"0x00158d00021331c9","nwkAddr":8940,"lqi":255,"parent":"0x84182600000679de","status":"online"},{"ieeeAddr":"0x00158d000230e400","nwkAddr":59119,"lqi":170,"parent":"0x00124b0018e1ab54","status":"offline"},{"ieeeAddr":"0x00124b0018e1ab54","nwkAddr":0,"lqi":0,"parent":"0x00124b0018e1a068","status":"online"},{"ieeeAddr":"0x00158d0002a9222c","nwkAddr":6790,"lqi":34,"parent":"0x84182600000679de","status":"online"},{"ieeeAddr":"0x00158d000222de8c","nwkAddr":49083,"lqi":75,"parent":"0x00124b0018e1a068","status":"online"},{"ieeeAddr":"0x0017880100111162","nwkAddr":25683,"lqi":15,"parent":"0x00124b0018e1a068","status":"offline"}]
       state:
         myDbLog:
           TIME       1545738020.96447
           VALUE      online
   READINGS:
     2018-12-26 11:26:29   log             {"type":"devices","message":[{"ieeeAddr":"0x0017880100111162","type":"Router","model":"7199960PH","friendly_name":"0x0017880100111162"},{"ieeeAddr":"0x84182600000679de","type":"Router","model":"4052899926158","friendly_name":"0x84182600000679de"},{"ieeeAddr":"0x00124b0018e1a068","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0018e1a068"},{"ieeeAddr":"0x00158d000222de8c","type":"EndDevice","model":"RTCGQ11LM","friendly_name":"0x00158d000222de8c"},{"ieeeAddr":"0x00158d00021331c9","type":"EndDevice","model":"WXKG11LM","friendly_name":"0x00158d00021331c9"},{"ieeeAddr":"0x00158d0002a9222c","type":"EndDevice","model":"DJT11LM","friendly_name":"0x00158d0002a9222c"}]}
     2018-12-26 11:20:18   networkmap_result [{"ieeeAddr":"0xffffffffffffffff","nwkAddr":15360,"lqi":0,"parent":"0x0017880100111162","status":"offline"},{"ieeeAddr":"0x84182600000679de","nwkAddr":15360,"lqi":1,"parent":"0x00124b0018e1a068","status":"offline"},{"ieeeAddr":"0x00124b0018e1a068","nwkAddr":34528,"lqi":5,"parent":"0x0017880100111162","status":"online"},{"ieeeAddr":"0x00158d00021331c9","nwkAddr":8940,"lqi":255,"parent":"0x84182600000679de","status":"online"},{"ieeeAddr":"0x00158d000230e400","nwkAddr":59119,"lqi":170,"parent":"0x00124b0018e1ab54","status":"offline"},{"ieeeAddr":"0x00124b0018e1ab54","nwkAddr":0,"lqi":0,"parent":"0x00124b0018e1a068","status":"online"},{"ieeeAddr":"0x00158d0002a9222c","nwkAddr":6790,"lqi":34,"parent":"0x84182600000679de","status":"online"},{"ieeeAddr":"0x00158d000222de8c","nwkAddr":49083,"lqi":75,"parent":"0x00124b0018e1a068","status":"online"},{"ieeeAddr":"0x0017880100111162","nwkAddr":25683,"lqi":15,"parent":"0x00124b0018e1a068","status":"offline"}]
     2018-12-26 11:26:54   networkmap_result_g digraph G {
node[shape=record];
  "0x00124b0018e1ab54" [label="{0x00124b0018e1ab54|Coordinator|No model information available|online}"];
  "0x00124b0018e1ab54" -> "0x00124b0018e1a068" [label="0"]
  "0x0017880100111162" [label="{0x0017880100111162|Router|Philips Hue Iris (7199960PH)|offline}"];
  "0x0017880100111162" -> "0x00124b0018e1a068" [label="15"]
  "0x84182600000679de" [label="{0x84182600000679de|Router|OSRAM LIGHTIFY Surface Light TW (4052899926158)|offline}"];
  "0x84182600000679de" -> "0x00124b0018e1a068" [label="1"]
  "0x00124b0018e1a068" [label="{0x00124b0018e1a068|Router|Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (CC2530.ROUTER)|online}"];
  "0x00124b0018e1a068" -> "0x0017880100111162" [label="6"]
  "0x00158d000222de8c" [label="{0x00158d000222de8c|EndDevice|Xiaomi Aqara human body movement and illuminance sensor (RTCGQ11LM)|online}"];
  "0x00158d000222de8c" -> "0x00124b0018e1a068" [label="76"]
  "0x00158d00021331c9" [label="{0x00158d00021331c9|EndDevice|Xiaomi Aqara wireless switch (WXKG11LM)|online}"];
  "0x00158d00021331c9" -> "0x84182600000679de" [label="255"]
  "0x00158d0002a9222c" [label="{0x00158d0002a9222c|EndDevice|Xiaomi Aqara vibration sensor (DJT11LM)|online}"];
  "0x00158d0002a9222c" -> "0x84182600000679de" [label="34"]
}
     2018-12-25 12:40:20   state           online
Attributes:
   IODev      MQTT2_mosquito
   alias      ZigBee_MQTT2_Bridge
   autocreate 1
   bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
   comment    0x0017880100111162 (0x0017880100111162): 7199960PH - Philips Hue Iris (Router)
0x84182600000679de (0x84182600000679de): 4052899926158 - OSRAM LIGHTIFY Surface Light TW (Router)
0x00158d00021331c9 (0x00158d00021331c9): WXKG11LM - Xiaomi Aqara wireless switch (EndDevice)
0x00158d0002a9222c (0x00158d0002a9222c): DJT11LM - Xiaomi Aqara vibration sensor (EndDevice)
0x00124b0018e1a068 (0x00124b0018e1a068): CC2530.ROUTER - Custom devices (DiY) [CC2530 roter] (Router)
0x00158d000222de8c {0x00158d000222de8c): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
   devStateIcon online:10px-kreis-gruen offline:10px-kreis-rot
   getList    devicelist:noArg log zigbee2mqtt/bridge/config/devices
  networkmap:raw networkmap_result zigbee2mqtt/bridge/networkmap $EVTPART1
  networkmap_graphviz networkmap_result_g zigbee2mqtt/bridge/networkmap graphviz
   icon       mqtt_device
   imageLink  1
   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:.* log
  zigbee2mqtt/bridge/networkmap:.* {}
  zigbee2mqtt/bridge/networkmap/graphviz:.* networkmap_result_g
  zigbee2mqtt/bridge/networkmap/raw:.* networkmap_result
  zigbee2mqtt/bridge/config/remove:.* remove
   room       MQTT2_DEVICE
   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
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
   stateFormat {lc ReadingsVal("$name","state","none")}
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 26 Dezember 2018, 11:50:52
Zitat
Der Link taucht bei mir (noch) nicht auf.
Ich sehe auch kein graphviz Reading, von devices ganz zu schweigen.

Btw: wenn ich was nachstellen soll, bitte die "list -r" / "Raw definition" Ausgabe anhaengen, da ich keine Energie habe, die list Ausgabe in define/attr/setstate Befehle umzubauen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 26 Dezember 2018, 11:55:37
Natürlich gerne:
defmod MQTT2_zigbee_fhem MQTT2_DEVICE zigbee_fhem
attr MQTT2_zigbee_fhem IODev MQTT2_mosquito
attr MQTT2_zigbee_fhem alias ZigBee_MQTT2_Bridge
attr MQTT2_zigbee_fhem autocreate 1
attr MQTT2_zigbee_fhem bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee_fhem comment 0x0017880100111162 (0x0017880100111162): 7199960PH - Philips Hue Iris (Router)\
0x84182600000679de (0x84182600000679de): 4052899926158 - OSRAM LIGHTIFY Surface Light TW (Router)\
0x00158d00021331c9 (0x00158d00021331c9): WXKG11LM - Xiaomi Aqara wireless switch (EndDevice)\
0x00158d0002a9222c (0x00158d0002a9222c): DJT11LM - Xiaomi Aqara vibration sensor (EndDevice)\
0x00124b0018e1a068 (0x00124b0018e1a068): CC2530.ROUTER - Custom devices (DiY) [CC2530 roter] (Router)\
0x00158d000222de8c {0x00158d000222de8c): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
attr MQTT2_zigbee_fhem devStateIcon online:10px-kreis-gruen offline:10px-kreis-rot
attr MQTT2_zigbee_fhem getList devicelist:noArg log zigbee2mqtt/bridge/config/devices\
  networkmap:raw networkmap_result zigbee2mqtt/bridge/networkmap $EVTPART1\
  networkmap_graphviz networkmap_result_g zigbee2mqtt/bridge/networkmap graphviz
attr MQTT2_zigbee_fhem icon mqtt_device
attr MQTT2_zigbee_fhem imageLink 1
attr MQTT2_zigbee_fhem model L_01_zigbee2mqtt_bridge
attr MQTT2_zigbee_fhem 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:.* log\
  zigbee2mqtt/bridge/networkmap:.* {}\
  zigbee2mqtt/bridge/networkmap/graphviz:.* networkmap_result_g\
  zigbee2mqtt/bridge/networkmap/raw:.* networkmap_result\
  zigbee2mqtt/bridge/config/remove:.* remove
attr MQTT2_zigbee_fhem room MQTT2_DEVICE
attr MQTT2_zigbee_fhem 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\
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
attr MQTT2_zigbee_fhem stateFormat {lc ReadingsVal("$name","state","none")}

setstate MQTT2_zigbee_fhem online
setstate MQTT2_zigbee_fhem 2018-12-26 11:26:29 log {"type":"devices","message":[{"ieeeAddr":"0x0017880100111162","type":"Router","model":"7199960PH","friendly_name":"0x0017880100111162"},{"ieeeAddr":"0x84182600000679de","type":"Router","model":"4052899926158","friendly_name":"0x84182600000679de"},{"ieeeAddr":"0x00124b0018e1a068","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0018e1a068"},{"ieeeAddr":"0x00158d000222de8c","type":"EndDevice","model":"RTCGQ11LM","friendly_name":"0x00158d000222de8c"},{"ieeeAddr":"0x00158d00021331c9","type":"EndDevice","model":"WXKG11LM","friendly_name":"0x00158d00021331c9"},{"ieeeAddr":"0x00158d0002a9222c","type":"EndDevice","model":"DJT11LM","friendly_name":"0x00158d0002a9222c"}]}
setstate MQTT2_zigbee_fhem 2018-12-26 11:20:18 networkmap_result [{"ieeeAddr":"0xffffffffffffffff","nwkAddr":15360,"lqi":0,"parent":"0x0017880100111162","status":"offline"},{"ieeeAddr":"0x84182600000679de","nwkAddr":15360,"lqi":1,"parent":"0x00124b0018e1a068","status":"offline"},{"ieeeAddr":"0x00124b0018e1a068","nwkAddr":34528,"lqi":5,"parent":"0x0017880100111162","status":"online"},{"ieeeAddr":"0x00158d00021331c9","nwkAddr":8940,"lqi":255,"parent":"0x84182600000679de","status":"online"},{"ieeeAddr":"0x00158d000230e400","nwkAddr":59119,"lqi":170,"parent":"0x00124b0018e1ab54","status":"offline"},{"ieeeAddr":"0x00124b0018e1ab54","nwkAddr":0,"lqi":0,"parent":"0x00124b0018e1a068","status":"online"},{"ieeeAddr":"0x00158d0002a9222c","nwkAddr":6790,"lqi":34,"parent":"0x84182600000679de","status":"online"},{"ieeeAddr":"0x00158d000222de8c","nwkAddr":49083,"lqi":75,"parent":"0x00124b0018e1a068","status":"online"},{"ieeeAddr":"0x0017880100111162","nwkAddr":25683,"lqi":15,"parent":"0x00124b0018e1a068","status":"offline"}]
setstate MQTT2_zigbee_fhem 2018-12-26 11:26:54 networkmap_result_g digraph G {\
node[shape=record];;\
  "0x00124b0018e1ab54" [label="{0x00124b0018e1ab54|Coordinator|No model information available|online}"];;\
  "0x00124b0018e1ab54" -> "0x00124b0018e1a068" [label="0"]\
  "0x0017880100111162" [label="{0x0017880100111162|Router|Philips Hue Iris (7199960PH)|offline}"];;\
  "0x0017880100111162" -> "0x00124b0018e1a068" [label="15"]\
  "0x84182600000679de" [label="{0x84182600000679de|Router|OSRAM LIGHTIFY Surface Light TW (4052899926158)|offline}"];;\
  "0x84182600000679de" -> "0x00124b0018e1a068" [label="1"]\
  "0x00124b0018e1a068" [label="{0x00124b0018e1a068|Router|Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (CC2530.ROUTER)|online}"];;\
  "0x00124b0018e1a068" -> "0x0017880100111162" [label="6"]\
  "0x00158d000222de8c" [label="{0x00158d000222de8c|EndDevice|Xiaomi Aqara human body movement and illuminance sensor (RTCGQ11LM)|online}"];;\
  "0x00158d000222de8c" -> "0x00124b0018e1a068" [label="76"]\
  "0x00158d00021331c9" [label="{0x00158d00021331c9|EndDevice|Xiaomi Aqara wireless switch (WXKG11LM)|online}"];;\
  "0x00158d00021331c9" -> "0x84182600000679de" [label="255"]\
  "0x00158d0002a9222c" [label="{0x00158d0002a9222c|EndDevice|Xiaomi Aqara vibration sensor (DJT11LM)|online}"];;\
  "0x00158d0002a9222c" -> "0x84182600000679de" [label="34"]\
}
setstate MQTT2_zigbee_fhem 2018-12-25 12:40:20 state online

Vielleicht hängt es damit zusammen, dass das IODevice vom Typ MQTT2_CLIENT ist und ich einen Moquito-Broker einsetze?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 26 Dezember 2018, 11:59:07
und noch das IODevice:
defmod MQTT2_mosquito MQTT2_CLIENT localhost:1883
attr MQTT2_mosquito autocreate 1
attr MQTT2_mosquito devStateIcon opened:10px-kreis-gruen closed:10px-kreis-rot
attr MQTT2_mosquito icon mqtt
attr MQTT2_mosquito keepaliveTimeout 60
attr MQTT2_mosquito room MQTT2_DEVICE

setstate MQTT2_mosquito opened
setstate MQTT2_mosquito 2018-12-25 12:40:13 state opened
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 26 Dezember 2018, 12:04:48
Zitat
Vielleicht hängt es damit zusammen, dass das IODevice vom Typ MQTT2_CLIENT ist und ich einen Moquito-Broker einsetze?
Nein, eher damit, dass dein Reading statt graphviz networkmap_result_g heisst.
Warum das so ist, muss man die Template Gurus fragen :)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 26 Dezember 2018, 12:10:41
Danke, das wars.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 26 Dezember 2018, 12:38:36
Warum das so ist, muss man die Template Gurus fragen :)
...würde mal behaupten, dass das aus der Zeit stammt, als noch nicht abschließend klar war, was die Herren Perl-Gurus da auskochen :) ;D ::) .
Die aktuelle Fassung im svn macht das "as expected"...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 29 Dezember 2018, 09:21:41
Hallo,

nachdem jetzt alles so schön funktioniert und ich jetzt auch grafisch sehe was wo verbunden ist, habe ich doch noch ein paar Fragen.

Wie schafft man es einen Sensor mit einem Router zu verbinden , wenn der Koordinator zu weit weg ist und ich der Annahme bin, dass man mit dem Router die Reichweite vergrössern kann. Obwohl der nächste Router ganz in der Nähe ist und dieser auch mit dem Koordinator verbunden ist bekomme ich keine Rückmeldung vom Fenstersensor.

hier meine Konfiguration:
defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi IODev mosquitto
attr MQTT2_zigbee_pi autocreate 1
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee_pi devPos 0x00124b00120234a3 482,383 0x00124b0014d9dd9b 473.88,13.62 0x00124b001b7b25ff 472.99,214.79 0x00158d0001b19b09 10.8,108.93 0x00158d0001e80850 781.63,158.17 0x00158d00022c3627 11.03,202.06 0x00158d00027cefec 14.12,17.2 0x00158d00029c08a6 554.83,381.27 0x00158d0002b23b0c 17.2,14.63 0x00158d0002b74d76 13.14,291.6 0x00158d0002b74df6 15.48,383.94 0x90fd9ffffed3ec52 818.97,379.2 0x90fd9ffffed889f3 809.89,120.16 0x90fd9ffffedd7c9e 804.46,177.76 0xd0cf5efffe16d8c7 815.85,430.37
attr MQTT2_zigbee_pi getList devicelist:noArg log zigbee2mqtt/bridge/config/devices\
  networkmap_raw:noArg raw zigbee2mqtt/bridge/networkmap raw\
  networkmap_graphviz:noArg graphviz zigbee2mqtt/bridge/networkmap graphviz
attr MQTT2_zigbee_pi model L_01_zigbee2mqtt_bridge
attr MQTT2_zigbee_pi 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
attr MQTT2_zigbee_pi room MQTT,MQTT2_DEVICE
attr MQTT2_zigbee_pi 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\
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}

setstate MQTT2_zigbee_pi online
setstate MQTT2_zigbee_pi 2018-12-29 01:21:50 devices {"type":"devices","message":[{"ieeeAddr":"0x00124b0014d9dd9b","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0014d9dd9b"},{"ieeeAddr":"0x00158d0002b74d76","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74d76"},{"ieeeAddr":"0x00158d00022c3627","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d00022c3627"},{"ieeeAddr":"0x00158d0001b19b09","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d0001b19b09"},{"ieeeAddr":"0x00158d00027cefec","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"0x00158d00027cefec"},{"ieeeAddr":"0x90fd9ffffedd7c9e","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffedd7c9e"},{"ieeeAddr":"0x00158d0002b74df6","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74df6"},{"ieeeAddr":"0x00124b00120234a3","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b00120234a3"}]}
setstate MQTT2_zigbee_pi 2018-12-29 01:21:56 graphviz digraph G {\
node[shape=record];;\
  "0x00124b001b7b25ff" [label="{0x00124b001b7b25ff|Coordinator|No model information available|online}"];;\
  "0x00124b001b7b25ff" -> "0x90fd9ffffedd7c9e" [label="49"]\
  "0x00124b0014d9dd9b" [label="{0x00124b0014d9dd9b|Router|Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (CC2530.ROUTER)|online}"];;\
  "0x00124b0014d9dd9b" -> "0x90fd9ffffedd7c9e" [label="116"]\
  "0x00158d0002b74d76" [label="{0x00158d0002b74d76|EndDevice|Xiaomi MiJia door & window contact sensor (MCCGQ01LM)|online}"];;\
  "0x00158d0002b74d76" -> "0x00124b001b7b25ff" [label="170"]\
  "0x00158d00022c3627" [label="{0x00158d00022c3627|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];;\
  "0x00158d00022c3627" -> "0x00124b001b7b25ff" [label="56"]\
  "0x00158d0001b19b09" [label="{0x00158d0001b19b09|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];;\
  "0x00158d0001b19b09" -> "0x00124b001b7b25ff" [label="31"]\
  "0x00158d00027cefec" [label="{0x00158d00027cefec|EndDevice|Xiaomi Mi/Aqara smart home cube (MFKZQ01LM)|online}"];;\
  "0x00158d00027cefec" -> "0x00124b001b7b25ff" [label="10"]\
  "0x00124b001b7b25ff" [label="{0x00124b001b7b25ff|Coordinator|No model information available|online}"];;\
  "0x00124b001b7b25ff" -> "0x90fd9ffffedd7c9e" [label="49"]\
  "0x90fd9ffffedd7c9e" [label="{0x90fd9ffffedd7c9e|Router|IKEA TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white (LED1545G12)|offline}"];;\
  "0x90fd9ffffedd7c9e" -> "0x00124b00120234a3" [label="1"]\
  "0x00158d0002b74df6" [label="{0x00158d0002b74df6|EndDevice|Xiaomi MiJia door & window contact sensor (MCCGQ01LM)|online}"];;\
  "0x00158d0002b74df6" -> "0x00124b001b7b25ff" [label="170"]\
  "0x00124b00120234a3" [label="{0x00124b00120234a3|Router|Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (CC2530.ROUTER)|online}"];;\
  "0x00124b00120234a3" -> "0x90fd9ffffedd7c9e" [label="41"]\
}
setstate MQTT2_zigbee_pi 2018-12-29 01:21:50 log {"type":"devices","message":[{"ieeeAddr":"0x00124b0014d9dd9b","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0014d9dd9b"},{"ieeeAddr":"0x00158d0002b74d76","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74d76"},{"ieeeAddr":"0x00158d00022c3627","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d00022c3627"},{"ieeeAddr":"0x00158d0001b19b09","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d0001b19b09"},{"ieeeAddr":"0x00158d00027cefec","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"0x00158d00027cefec"},{"ieeeAddr":"0x90fd9ffffedd7c9e","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffedd7c9e"},{"ieeeAddr":"0x00158d0002b74df6","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74df6"},{"ieeeAddr":"0x00124b00120234a3","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b00120234a3"}]}
setstate MQTT2_zigbee_pi 2018-12-25 22:19:37 log_level debug
setstate MQTT2_zigbee_pi 2018-12-28 20:54:54 permit_join false
setstate MQTT2_zigbee_pi 2018-12-29 01:22:04 raw [{"ieeeAddr":"0x00158d00027cefec","nwkAddr":17219,"lqi":10,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x00158d0002b74d76","nwkAddr":43801,"lqi":170,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x00158d00022c3627","nwkAddr":4961,"lqi":56,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x00158d0001b19b09","nwkAddr":9284,"lqi":31,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x00158d0002b74df6","nwkAddr":52224,"lqi":170,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x00124b0014d9dd9b","nwkAddr":53756,"lqi":116,"parent":"0x90fd9ffffedd7c9e","status":"online"},{"ieeeAddr":"0x00158d0002b23b0c","nwkAddr":60449,"lqi":50,"parent":"0x00124b001b7b25ff","status":"offline"},{"ieeeAddr":"0x00124b00120234a3","nwkAddr":60469,"lqi":41,"parent":"0x90fd9ffffedd7c9e","status":"online"},{"ieeeAddr":"0x90fd9ffffedd7c9e","nwkAddr":36972,"lqi":1,"parent":"0x00124b00120234a3","status":"offline"},{"ieeeAddr":"0x00124b001b7b25ff","nwkAddr":0,"lqi":50,"parent":"0x90fd9ffffedd7c9e","status":"online"}]
setstate MQTT2_zigbee_pi 2018-12-28 20:52:19 state online


Sobald ich den Fenstersensor näher an den Koordinator bringe, bekomme ich wieder eine Verbindung.

Muss ich noch irgend etwas beachten oder muss der Sensor mit dem Router gepairt werden. Wenn ja, wie soll das funktionieren oder verbindet er sich automatisch mit dem Router?

Gruß rippi
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 30 Dezember 2018, 11:51:27
Hallo rippi46,

auch wenn das jetzt nicht in diesen Thread passt, möchte ich meine Erfahrungen zum ZigBee mit dir mitteilen.
Ich habe bei mir festgestellt, dass die Reichweite eher gering ist und es immer an Empfangsproblemen lag, wenn etwas nicht funktioniert hat.
Anlernen, d.h. auch bei ZigBee "pairen", musst du immer möglichst direkt am Coordinator (wenige cm meine ich). Das gilt auch für die späteren Router!
Die einzelne Devices in den Pairing-Modus zu bekommen ist manchmal auch etwas problematisch.
Entweder weil man nicht genau weiß wie, oder auch bei den sog. Enddevices, weil sie sich während des Pairing-Prozesses schon wieder schlafen legen.
Danach verbindet sich der Router bei mir automatisch und für die Sensoren gilt dasselbe.
Man kann das bisher nicht beeinflussen, bzw. ist mir das nicht bekannt.

Zur Kontrolle beobachte ich immer live die Console des zigbee2mqtt Dienstes und schalte diesen vorher in den debug-Modus.

Viel Erfolg.

Gruß
Thomas
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 30 Dezember 2018, 12:01:07
Habe eine Smart+ Steckdose mitten in der Wohnung angestöpselt.
Diese macht hier den "Router" und verstärkt das Netz bischen.
Ist nicht optimal, aber seither keine Auffälligkeiten wegen fehlender Verbindung mehr.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 30 Dezember 2018, 12:07:50
Als zusätzlichen Router kann man auch den normalen CC2531 USB stick mit der Router Firmware von hier flashen.
https://github.com/Koenkk/Z-Stack-firmware/tree/master/router (https://github.com/Koenkk/Z-Stack-firmware/tree/master/router)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Neuhier am 30 Dezember 2018, 12:37:02
Der Stick ist in dem Sinne ein "passives" Element, die Dose kann noch nebenbei schalten.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 30 Dezember 2018, 13:59:58
Hallo,

d.h. aber ich kann einen Sensor nicht explizit mit dem Router pairen. Das Pairing mit dem Koordinator funktioniert eigentlich immer problemlos.
Nur wenn ich dann den Sensor an seine Endposition bringe, habe ich keine Verbindung mehr, obwohl ein Router in der Nähe ist und dieser mit dem Koordinator verbunden ist.

Als Koordinator habe ich einen CC2530 und als Router habe ich 2 x eine CC2531 und eine Tradfri Lampe LED1545G12.

Gruß rippi
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Papaloewe am 30 Dezember 2018, 15:02:27
Zitat
Nur wenn ich dann den Sensor an seine Endposition bringe, habe ich keine Verbindung mehr, obwohl ein Router in der Nähe ist und dieser mit dem Koordinator verbunden ist.

Wie sieht denn in diesem Fall deine neighbor-map im FHEM aus?
Natürlich vorher die aktuellen Informationen per "get xxx networkmap_graphwiz" holen.

Haben die Router wirklich Verbindung zum Koordinator? Manchmal reichen schon ein paar cm und schon funktioniert es wie von selbst..

Und ich habe festgestellt, dass man ein wenig Geduld haben muss bis sich die Routen gefunden haben.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 01 Januar 2019, 16:10:09
Hallo,

war leider etwas beschäftigt.
hier meine neighbor-map:
https://www.dropbox.com/s/1y9117yxhwhi68v/2019-01-01%2016_08_32-Home%2C%20Sweet%20Home.png?dl=0 (https://www.dropbox.com/s/1y9117yxhwhi68v/2019-01-01%2016_08_32-Home%2C%20Sweet%20Home.png?dl=0)

Also beide Router stehen auf true, aber der Fenstersensor verbindet sich nicht mit dem Router.

Gruß rippi
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 01 Januar 2019, 18:48:57
@rippi46
Die neighbor-map verschafft eine ungefähre Übersicht, sagt aber nicht unbedingt etwas darüber aus, ob ein Gerät "verbunden" ist.

Bei mir sind laut neighbor-map derzeit 6 Geräte ohne jede Verbindung zum Coordinator bzw. Router.; trotzdem funktionieren all diese Geräte einwandfrei. Anfangs waren bei mir alle Geräte laut neighbor-map verbunden - Experimente mit dem Einfügen bzw. Entfernen von Routern (bei mir Osram Smart+ Plugs) führten dann zur momentan lückenhaften Darstellung; das ZigBee-Netzwerk ist aber voll funktionsfähig.

Da ZigBee-Geräte regelmäßig (bei mir mindestens 1x pro Stunde - auch die Tiefschläfer) u.a. Daten über ihre Verbindungsqualität austauschen, habe ich mir eine readingsgroup über alle ZigBee-Geräte und deren linkquality erstellt. Dort kann man dann am ReadingsTimestamp leicht erkennen, ob ein Gerät nicht mehr verbunden ist bzw. am eigentlichen Wert, ob eine schlechte Verbindung besteht.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 01 Januar 2019, 21:46:02
Hallo,

irgendwie bin ich mit dieser Situation etwas unglücklich, da sich mein Fenstersensor trotz mehrerer Router nicht aktualisiert.
Ohne Router reichen schon 30 cm näher am Koordinator und ich bekomme den Status aktualisiert. Wenn ich davon ausgehe, dass ich einen Router irgendwo auf der Strecke , wo ich noch guten Empfang habe platziere, dann sollte sich der Fenstersensor doch über den Router aktualisieren.
Der Router hat auf jeden Fall Verbindung zum Koordinator, da sich seine Werte ständig aktualisieren.

Hat sonst noch jemand ähnliche Probleme, oder liegt es vielleicht an der Firmwareversion des Routers oder Koordinators?

Gruß rippi
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 03 Januar 2019, 22:55:31
Hallo,

bin seit heute neu dabei mit zigbee2mqtt...

Ich finde eure ARBEIT HAMMER!!! DANKE dafür!!!

Könnt ihr bei der Map vielleicht noch die linkquality mit einbauen?

die Reichweite ist bei Zigbee ja wirklich unterirdisch... ich dachte mit CC2530 mit Antenne ist sie schon besser.. aber ist echt noch schlecht...
Ich habe den CC2530 in der zweiten Etage auf meinen Serverschrank neben der FritzBox stehen
Eine Etage darunter bzw. wir haben eine Gallerie zum Wohnzimmer hat der OSRAM Smart+ in der einen Ecke nur noch linkquality 5
in der anderen (direkt unter dem Arbeitszimmer) linkquality ca. 30
Ich muss aber noch bis in den Keller, denn da sollen die Aqara Wassermelder hin..... (sind noch unterwegs)…
Ist der Empfang so normal oder sollte ich einen Standort für den CC2530 wählen z.B. nicht direkt neben der Fritzbox

DANKE und Gruß
Marcel
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: netbus am 03 Januar 2019, 23:00:37
das ist normal. aber jede zigbee Steckdose/Lampe fungiert als "Router" und erhöht somit die Reichweite

Gesendet von meinem CLT-L29 mit Tapatalk

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 03 Januar 2019, 23:13:29
soooo eine schlechte Reichweite ist wirklich normal... also eine Etage tiefer mit einer teiloffenen Decke?

Muss wohl morgen nochmal rumprobieren mit dem Standort des CC2530

ach ja das mit der Linkquality würde mich in der MAP sehr freuen :-)
könnte man das vielleicht in der Art machen wie wenn man die Grafik hier erstellen lässt?

http://www.webgraphviz.com/

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 03 Januar 2019, 23:25:14
das ist normal. aber jede zigbee Steckdose/Lampe fungiert als "Router" und erhöht somit die Reichweite

Gesendet von meinem CLT-L29 mit Tapatalk

aber die Geräte/Sensoren melde ich trotzdem am Stick bzw. CC2530 an oder? Also gibt es dann auch die 20 Geräte/Sensoren Grenze...

ich dachte durch die "Router" erweitert man auch die Anzahl... oder bin ich da jetzt voll falsch?... ist vielleicht der falsche Threat hier oder?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 04 Januar 2019, 00:09:14
Zitat
ach ja das mit der Linkquality würde mich in der MAP sehr freuen :-)
Ich habe zwar kein zigbee2mqtt, aber aus den Daten, die man mir zur Verfuegung gestellt hat, wird lqi extrahiert, und im MouseOver-Title angezeigt.
Sieht man auf meinem Screenshot, wenn auch etwas undeutlich.

Zitat
könnte man das vielleicht in der Art machen wie wenn man die Grafik hier erstellen lässt?
Vermutlich, aber mir reicht es eine Art zu implementieren, eine Zweite waere nichts Neues mehr.
Aber wenn Du dich austoben willst, bitte, FHEM ist sehr modular :)

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 04 Januar 2019, 15:13:17
danke, das mit dem Mouse-Over hab ich gesehen ABER schau dir das mal mit dem Edge-Browser an... dann siehst warum ich meinte ob man das anders machen kann...hab es gerade mit Chrome angeschaut und da sieht das Mouse-Over gut aus!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 06 Januar 2019, 13:20:47
Hallo,

hat jemand schon einen Ikea Dimmer eingebunden? Das Dingens wird anstandslos von Zigbee2MQTT erkann und taucht auch brav in FHEM auf.
Es gibt aber noch kein Template dafür, oder?

Die Bedienung ist folgend:
Langsam nach links oder rechts drehen ->  brightness 0-255 -> dimmen.
Schnell nach links -> brightness 0 -> aus
Schnell nach rechts-> brightness 255 -> an

Internals:
   CID        zigbee_0xd0cf5efffe7b80bc
   DEF        zigbee_0xd0cf5efffe7b80bc
   DEVICETOPIC MQTT2_zigbee_0xd0cf5efffe7b80bc
   IODev      MQTT2_SERVER
   LASTInputDev MQTT2_SERVER
   MQTT2_SERVER_MSGCNT 14
   MQTT2_SERVER_TIME 2019-01-06 13:20:05
   MSGCNT     14
   NAME       MQTT2_zigbee_0xd0cf5efffe7b80bc
   NR         95
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-01-05 21:08:02   associatedWith  MQTT2_zigbee_bridge
     2019-01-06 13:20:05   brightness      0
     2019-01-06 13:20:05   linkquality     65
Attributes:
   IODev      MQTT2_SERVER
   readingList zigbee2mqtt/0xd0cf5efffe7b80bc:.* { json2nameValue($EVENT, '', $JSONMAP) }
   room       MQTT2_DEVICE
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 06 Januar 2019, 15:59:20
Wenn das Teil brightness liefert, müßte eigentlich das normale Bulb-template passen.
Allerdings ist das ein reines input-Device, schalten kann man das nicht, sondern muß die Events dann irgendwie weitergeben (damit wären wir evtl. dann hier: https://forum.fhem.de/index.php/topic,95341.0.html).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 06 Januar 2019, 16:20:07
Ich sehe, du hast dir schon gedanken darüber gemacht, hab dir Verlinkung zu spät gesehen...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 07 Januar 2019, 13:52:17
ich habe mal wieder eine Frage an Euch Experten
Ich nutze ja den CC2530 und alles funktioniert... BIS ich fhem einmal neustarte… dann läuft es nicht mehr... ich muss dann den USB abstecken und neu anstecken damit es wieder geht

wenn ich Fhem neustarte und dann den zigbee2mqtt dienst beende und neustarte bekomme ich folgenden Fehler


zigbee2mqtt@1.0.1 start /opt/zigbee2mqtt
> node index.js

  zigbee2mqtt:info 2019-1-7 13:49:48 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-01-07.13-49-48'
  zigbee2mqtt:debug 2019-1-7 13:49:48 Removing old log directory '/opt/zigbee2mqtt/data/log/2019-01-07.12-23-46'
  serialport:binding:auto-detect loading LinuxBinding +0ms
  zigbee2mqtt:debug 2019-1-7 13:49:49 Using zigbee-shepherd with settings: '{"net":{"panId":6754,"channelList":[11]},"dbPath":"/opt/zigbee2mqtt/data/database.db","sp":{"baudRate":115200,"rtscts":false}}'
  zigbee2mqtt:debug 2019-1-7 13:49:49 Loaded state from file /opt/zigbee2mqtt/data/state.json
  zigbee2mqtt:info 2019-1-7 13:49:49 Starting zigbee2mqtt version 1.0.1 (commit #9380bbc)
  zigbee2mqtt:info 2019-1-7 13:49:49 Starting zigbee-shepherd
  zigbee-shepherd:init zigbee-shepherd booting... +0ms
  serialport:main opening path: /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 +0ms
  serialport:bindings open +0ms
  serialport:main _read queueing _read for after open +12ms
  serialport:poller Creating poller +0ms
  serialport:main opened path: /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 +18ms
  cc-znp The serialport /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 is opened. +54ms
  serialport:main _read reading +9ms
  serialport:bindings read +38ms
  serialport:unixRead Starting read +0ms
  zigbee-shepherd:request REQ --> SYS:osalNvRead +16ms
  cc-znp:SREQ --> SYS:osalNvRead, { id: 3840, offset: 0, len: 1, value: [ 85 ] } +8ms
  serialport:main _write 8 bytes of data +49ms
  serialport:bindings write 8 bytes +49ms
  serialport:unixWrite Starting write 8 bytes offset 0 bytesToWrite 8 +0ms
  serialport:unixRead waiting for readable because of code: EAGAIN +58ms
  serialport:poller Polling for "readable" +74ms
  serialport:unixWrite write returned null 8 +10ms
  serialport:unixWrite wrote 8 bytes +0ms
  serialport:unixWrite Finished writing 8 bytes +0ms
  serialport:main binding.write write finished +18ms
  cc-znp:SRSP <-- SYS:osalNvRead, __timeout__ +3s
  zigbee-shepherd:request RSP <-- SYS:osalNvRead +2ms
  zigbee-shepherd:init Coordinator initialize had an error: Error: request timeout
    at CcZnp.<anonymous> (/opt/zigbee2mqtt/node_modules/cc-znp/lib/ccznp.js:255:22)
    at Object.onceWrapper (events.js:273:13)
    at CcZnp.emit (events.js:182:13)
    at Timeout.<anonymous> (/opt/zigbee2mqtt/node_modules/cc-znp/lib/ccznp.js:234:18)
    at ontimeout (timers.js:436:11)
    at tryOnTimeout (timers.js:300:5)
    at listOnTimeout (timers.js:263:5)
    at Timer.processTimers (timers.js:223:10) +9ms
  zigbee2mqtt:info 2019-1-7 13:49:52 Error while starting zigbee-shepherd, attemping to fix... (takes 60 seconds)
  serialport:main #flush +3s
  serialport:bindings flush +3s
  serialport:main binding.flush finished +6ms
  serialport:main #close +1ms
  serialport:bindings close +6ms
  serialport:poller Stopping poller +3s
  serialport:poller Destroying poller +1ms
  serialport:main binding.read error { Error: Canceled
    at Poller.emitCanceled (/opt/zigbee2mqtt/node_modules/serialport/lib/bindings/poller.js:102:17)
    at Poller.stop (/opt/zigbee2mqtt/node_modules/serialport/lib/bindings/poller.js:92:10)
    at close.then (/opt/zigbee2mqtt/node_modules/serialport/lib/bindings/linux.js:49:21) canceled: true } +6ms
  serialport:main _read queueing _read for after open +2ms
  serialport:main binding.close finished +56ms
  cc-znp The serialport /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 is closed. +83ms


zigbee2mqtt:error 2019-1-7 13:50:55 Error while starting zigbee-shepherd!
  zigbee2mqtt:error 2019-1-7 13:50:55 Press the reset button on the stick (the one closest to the USB) and start again
  zigbee2mqtt:error 2019-1-7 13:50:55 Failed to start
{"message":"request timeout","stack":"Error: request timeout\n    at CcZnp.<anonymous> (/opt/zigbee2mqtt/node_modules/cc-znp/lib/ccznp.js:255:22)\n    at Object.onceWrapper (events.js:273:13)\n    at CcZnp.emit (events.js:182:13)\n    at Timeout.<anonymous> (/opt/zigbee2mqtt/node_modules/cc-znp/lib/ccznp.js:234:18)\n    at ontimeout (timers.js:436:11)\n    at tryOnTimeout (timers.js:300:5)\n    at listOnTimeout (timers.js:263:5)\n    at Timer.processTimers (timers.js:223:10)"}




ich habe es auch schon mit dem usb-reset-script (https://www.computerhilfen.de/info/usb-reset-am-raspberry-pi-usb-ports-zuruecksetzen.html (https://www.computerhilfen.de/info/usb-reset-am-raspberry-pi-usb-ports-zuruecksetzen.html)) versucht ABER trotzdem kein Erfolg

Hat jemand von euch eine Idee? ist nämlich so bescheiden...immer das kabel abzuziehen und neu anstecken
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 07 Januar 2019, 19:08:15
Allerdings ist das ein reines input-Device, schalten kann man das nicht, sondern muß die Events dann irgendwie weitergeben.

Wie ist die Überlegung den Dimmer mit der Lampe direkt zu pairen?
Habe festgestellt das die Dimmer eine sehr schlechte Reichweite haben (bei mir ca. 3 Meter), mit der Lampe gepairt funktioniert alles einwandfrei, da diese dann als Repeater fungiert, nehme ich an.

Nachtrag:
Wenn ich die Lampe mit dem Dimmer bediene, wird der Status der Birne im FHEM nicht aktualisiert.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 08 Januar 2019, 07:21:29
konnte mein Problem lösen... lag nicht am Modul oder so... sondern ich hatte initialUsbCheck noch aktiv
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 08 Januar 2019, 08:35:58
Wie ist die Überlegung den Dimmer mit der Lampe direkt zu pairen?
Habe festgestellt das die Dimmer eine sehr schlechte Reichweite haben (bei mir ca. 3 Meter), mit der Lampe gepairt funktioniert alles einwandfrei, da diese dann als Repeater fungiert, nehme ich an.

Nachtrag:
Wenn ich die Lampe mit dem Dimmer bediene, wird der Status der Birne im FHEM nicht aktualisiert.
Habe auch den Dimmer direkt mit meinen Bulbs gepairt und dann dasselbe Problem, das keine Aktualisierung kommt. Ist wohl eine Beschränkung des zigbee2mqtt-Dienstes? Wenn man das Netzwerk abfragt, bekommt man Statusmeldungen, wie detailliert die sind, weiß ich aber grade nicht.
 Ohne Pairing hatte ich es nie versucht und finde es sehr interessant, dass man dann (wenigstens) direkt Aktualisierungen bekommt! Bleibt dann die Frage, wie man es sinnvoll weitergeben kann...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Intruder1956 am 20 Januar 2019, 12:30:42
guten morgen,
ich hoffe das ich hier richtig bin mit meinem Vorschlag.
Ist habe zwei IKEA TRADFRI LED bulb E12/E14/E17 400 lumen erfolgreich in Fhem mit MQTT2 eingebunden.

Diese beiden Leuchtmittel lassen sich über Fhem und Lichtschalter schalten.
Jetzt meine Frage ist es möglich eine Abfrage in dem Leuchtmittel-Device zu starten, ob die Birne=Leuchtmittel ;) online oder offline ist.
z.b. state "online, off, on" oder state " offline, off" und das mit einem grünen-=online oder roten- Punkt=offline versehen.

Damit man gleich in Fhem sehen kann, ob der Lichtschalter betätigt wurde oder nicht.

Gruß Werner
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: skyline am 30 Januar 2019, 07:49:49
Meine Bridge bekommt kein STATE angezeigt, woran könnte das liegen?

MQTT2-Device (MQTT2_zigbee_stick):
Internals:
   CID        zigbee_stick
   DEF        zigbee_stick
   DEVICETOPIC MQTT2_zigbee_stick
   FUUID      5c513a58-f33f-0c42-fb24-e13763771756afbf
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_zigbee_stick
   NR         613
   STATE      ???
   TYPE       MQTT2_DEVICE
Attributes:
   IODev      MQTT2_FHEM_Server
   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
   room       MQTT2_DEVICE
   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
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
   setStateList on off

MQTT2_FHEM_Server:
Internals:
   DEF        1883 global
   FD         33
   FUUID      5c513683-f33f-0c42-afae-97237d038352912e
   NAME       MQTT2_FHEM_Server
   NR         612
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2019-01-30 07:38:14   nrclients       0
     2019-01-30 07:38:14   state           Initialized
   clients:
   retain:
Attributes:
   autocreate 1

configuration.yaml:
# Home Assistant integration (MQTT discovery)
homeassistant: false

# allow new devices to join
permit_join: false

# MQTT settings
  # Required: MQTT base topic for zigbee2mqtt MQTT messages
  base_topic: zigbee2mqtt
  # Required: MQTT server URL
  server: 'mqtt://localhost:1883'
  # Optional: MQTT server authentication user
   user: #########
  # Optional: MQTT server authentication password
  password: #########
  # Optional: MQTT client ID
  client_id: 'zigbee_stick'

# Required: serial settings
serial:
  # Required: location of CC2531 USB sniffer
  port: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001$
  # Optional: disable LED of CC2531 USB sniffer
  disable_led: true

User sind natürlich zu allowed identisch.

Keine Ahnung woran es noch liegen könnte :-[ :-[ :-[
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 30 Januar 2019, 07:56:19
Meine Bridge bekommt kein STATE angezeigt, woran könnte das liegen?
Sicher, dass der zigbee2mqtt-Dienst überhaupt (noch) läuft? Wird der bei einem reboot automatisch mit gestartet?

Der Server zeigt 0 clients. Wenn es nicht ein Systemstartproblem ist, solltest du mal die logs durchforsten, angefangen bei zigbee2mqtt.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: skyline am 30 Januar 2019, 09:14:14
Benötigt das Mqtt2_device eigentlich das Passwort und den User für den mqtt2_server nicht?

Autostart ist eingerichtet.
Überprüfe ich aber noch mal.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 30 Januar 2019, 09:25:43
Benötigt das Mqtt2_device eigentlich das Passwort und den User für den mqtt2_server nicht?
? Wieso sollte es???? Ist doch innerhalb von FHEM (MQTT2_SERVER <=> MQTT2_DEVICE).

Geh' das systematisch an und fange erst mal an dem einen Ende an. Also mit der Antwort auf diese Frage(n):
Sicher, dass der zigbee2mqtt-Dienst überhaupt (noch) läuft? Wird der bei einem reboot automatisch mit gestartet?
(Ich bin davon ausgegangen, dass das eine MQTT2-Device mal automatisch erstellt worden war, der Dienst also irgendwann in der Vergangenheit auch mal was geliefert hat.)
Und ob deine allowed-Instanz die Verbindung unterbindet, müßte sich aus dem (fhem-) log ergeben...

M.E. hat das aber wenig mit den anderen Themen hier zu tun, das sind eigentlich Grundlagenthemen; evtl. solltest du einen eigenen Thread dazu aufmachen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: skyline am 30 Januar 2019, 21:48:26

Hab alles noch mal runtergeschmissen und neu aufgesetzt, jetzt klappt es.

Das Device hatte er mir erst angelegt, als ich auch über mqtt versucht habe zu verbinden.

Autostart war vorher aber auch aktiv.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Nighthawk am 31 Januar 2019, 13:17:39
Hallo zusammen,

ich habe folgendes Problem mit der Konstellation MQTT2_Server + MQTT2_DEVICE + zigbee2mqtt, irgendwo gehen Informationen verloren.
Das problemgerät ist ein Xiaomi Taster.
Betätige ich den Taster ein mal kurz, kommt das event durch, betätige ich den taster nochmals kurz, so kommt nur das Reading "linkquality" durch, nicht aber das Reading "click". Erst wenn ich den Taster lang, oder doppelt betätige (alles ausser "single"), kommt auch der kurze klick einmalig wieder durch.


Der Server sieht folgendermaßen aus:

Internals:
   CONNECTS   10
   DEF        1883 global
   FD         12
   FUUID      5c43f150-f33f-69d4-9256-c7c7b6258f7560cf
   NAME       MQTT2_FHEM_Server
   NR         65
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   Helper:
     DBLOG:
       nrclients:
         logdb:
           TIME       1548935890.43922
           VALUE      3
   READINGS:
     2019-01-31 19:58:10   RETAIN          {"domoticz/out/LWT":"Connected","zigbee2mqtt/bridge/state":"online"}
     2019-01-31 19:58:10   nrclients       3
     2019-01-31 19:54:00   state           Initialized
   clients:
     MQTT2_FHEM_Server_127.0.0.1_52580 1
     MQTT2_FHEM_Server_192.168.190.106_49283 1
     MQTT2_FHEM_Server_192.168.190.106_49284 1
   retain:
     domoticz/out/LWT:
       ts         1548935890.52426
       val        Connected
     zigbee2mqtt/bridge/state:
       ts         1548935649.48741
       val        online
Attributes:
   autocreate 1
   room       Technik
   verbose    5

Das MQTT_Device welches als Bridge fungiert sieht so aus:

Internals:
   CID        zigbee_bridge
   DEF        zigbee_bridge
   DEVICETOPIC MQTT2_zigbee_bridge
   FUUID      5c43f150-f33f-69d4-9314-b95cad113e95a07e
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 2
   MQTT2_FHEM_Server_TIME 2019-01-31 19:54:09
   MSGCNT     2
   NAME       MQTT2_zigbee_bridge
   NR         66
   STATE      online
   TYPE       MQTT2_DEVICE
   Helper:
     DBLOG:
       message:
         logdb:
           TIME       1548935710.10028
           VALUE      device incoming
       state:
         logdb:
           TIME       1548935649.4901
           VALUE      online
       type:
         logdb:
           TIME       1548935710.10028
           VALUE      pairing
   READINGS:
     2019-01-31 19:55:10   associatedWith  MQTT2_zigbee_bridge
     2019-01-31 19:55:10   message         device incoming
     2019-01-31 19:48:43   permit_join     set false
     2019-01-31 19:54:09   state           online
     2019-01-31 19:55:10   type            pairing
Attributes:
   IODev      MQTT2_FHEM_Server
   autocreate 1
   bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
   getList    devicelist:noArg log BASE_TOPIC/bridge/config/devices
  networkmap_raw:noArg raw BASE_TOPIC/bridge/networkmap raw
  networkmap_graphviz:noArg graphviz BASE_TOPIC/bridge/networkmap graphviz
   group      Funkmodule
   model      L_01_zigbee2mqtt_bridge
   readingList zigbee2mqtt/bridge/state:.* state
zigbee2mqtt/bridge/log:.* { json2nameValue($EVENT) }
   room       Technik
   setList    log_level:debug,info,warn,error BASE_TOPIC/bridge/config/log_level $EVTPART1
  permit_join:true,false BASE_TOPIC/bridge/config/permit_join $EVTPART1
  remove:textField BASE_TOPIC/bridge/config/remove $EVTPART1
  rename:textField BASE_TOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
   setStateList on off
   verbose    5


Die Definition des Problemgeräts, ein Xiaomi Taster, sieht so aus:

Internals:
   CHANGED   
   CID        zigbee_0x00158d00027c9041
   DEF        zigbee_0x00158d00027c9041
   DEVICETOPIC Taster_1
   FUUID      5c4430cf-f33f-69d4-8e1c-250b778bd5471099
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 26
   MQTT2_FHEM_Server_TIME 2019-01-31 19:59:23
   MSGCNT     26
   NAME       Taster_1
   NR         73
   STATE      single
   TYPE       MQTT2_DEVICE
   Helper:
     DBLOG:
       click:
         logdb:
           TIME       1548935948.4654
           VALUE      single
       duration:
         logdb:
           TIME       1548935940.67241
           VALUE      565
       linkquality:
         logdb:
           TIME       1548935958.15857
           VALUE      13
   READINGS:
     2019-01-31 19:43:20   associatedWith  MQTT2_zigbee_pi
     2019-01-31 19:59:23   battery         100
     2019-01-31 19:59:23   click           single
     2019-01-31 19:59:00   duration        565
     2019-01-31 19:59:23   linkquality     13
     2019-01-31 19:59:23   voltage         3072
Attributes:
   IODev      MQTT2_FHEM_Server
   event-on-change-reading .*
   model      L_06_zigbee2mqtt_ContactSensor
   readingList zigbee2mqtt/0x00158d00027c9041:.* { json2nameValue($EVENT) }
   stateFormat click
   verbose    5


Hier ein Auszug aus dem Logfile:

2019.01.31 19:59:00 5: PUBLISH: (0)(30)zigbee2mqtt/0x00158d00027c9041{"battery":100,"voltage":3072,"linkquality":13,"click":"long"}
2019.01.31 19:59:00 4: MQTT2_FHEM_Server_127.0.0.1_52580 mqttjs_18951ddb PUBLISH zigbee2mqtt/0x00158d00027c9041:{"battery":100,"voltage":3072,"linkquality":13,"click":"long"}
2019.01.31 19:59:00 5: MQTT2_FHEM_Server: dispatch autocreate\000mqttjs_18951ddb\000zigbee2mqtt/0x00158d00027c9041\000{"battery":100,"voltage":3072,"linkquality":13,"click":"long"}
2019.01.31 19:59:00 4: MQTT2_DEVICE_Parse: Taster_1 zigbee2mqtt/0x00158d00027c9041 => { json2nameValue($EVENT) }

2019.01.31 19:59:00 5: PUBLISH: (0)(30)zigbee2mqtt/0x00158d00027c9041{"battery":100,"voltage":3072,"linkquality":23,"click":"long_release","duration":565}
2019.01.31 19:59:00 4: MQTT2_FHEM_Server_127.0.0.1_52580 mqttjs_18951ddb PUBLISH zigbee2mqtt/0x00158d00027c9041:{"battery":100,"voltage":3072,"linkquality":23,"click":"long_release","duration":565}
2019.01.31 19:59:00 5: MQTT2_FHEM_Server: dispatch autocreate\000mqttjs_18951ddb\000zigbee2mqtt/0x00158d00027c9041\000{"battery":100,"voltage":3072,"linkquality":23,"click":"long_release","duration":565}
2019.01.31 19:59:00 4: MQTT2_DEVICE_Parse: Taster_1 zigbee2mqtt/0x00158d00027c9041 => { json2nameValue($EVENT) }
2019.01.31 19:59:01 4: MQTT2_FHEM_Server_192.168.190.106_49284 ESPClient_80:7D:3A:6E:98:10_5 PINGREQ

2019.01.31 19:59:08 5: PUBLISH: (0)(30)zigbee2mqtt/0x00158d00027c9041{"battery":100,"voltage":3072,"linkquality":15,"click":"single"}
2019.01.31 19:59:08 4: MQTT2_FHEM_Server_127.0.0.1_52580 mqttjs_18951ddb PUBLISH zigbee2mqtt/0x00158d00027c9041:{"battery":100,"voltage":3072,"linkquality":15,"click":"single"}
2019.01.31 19:59:08 5: MQTT2_FHEM_Server: dispatch autocreate\000mqttjs_18951ddb\000zigbee2mqtt/0x00158d00027c9041\000{"battery":100,"voltage":3072,"linkquality":15,"click":"single"}
2019.01.31 19:59:08 4: MQTT2_DEVICE_Parse: Taster_1 zigbee2mqtt/0x00158d00027c9041 => { json2nameValue($EVENT) }

2019.01.31 19:59:13 5: PUBLISH: (0)(30)zigbee2mqtt/0x00158d00027c9041{"battery":100,"voltage":3072,"linkquality":13,"click":"single"}
2019.01.31 19:59:13 4: MQTT2_FHEM_Server_127.0.0.1_52580 mqttjs_18951ddb PUBLISH zigbee2mqtt/0x00158d00027c9041:{"battery":100,"voltage":3072,"linkquality":13,"click":"single"}
2019.01.31 19:59:13 5: MQTT2_FHEM_Server: dispatch autocreate\000mqttjs_18951ddb\000zigbee2mqtt/0x00158d00027c9041\000{"battery":100,"voltage":3072,"linkquality":13,"click":"single"}
2019.01.31 19:59:13 4: MQTT2_DEVICE_Parse: Taster_1 zigbee2mqtt/0x00158d00027c9041 => { json2nameValue($EVENT) }

2019.01.31 19:59:16 5: PUBLISH: (0)(30)zigbee2mqtt/0x00158d00027c9041{"battery":100,"voltage":3072,"linkquality":21,"click":"single"}
2019.01.31 19:59:16 4: MQTT2_FHEM_Server_127.0.0.1_52580 mqttjs_18951ddb PUBLISH zigbee2mqtt/0x00158d00027c9041:{"battery":100,"voltage":3072,"linkquality":21,"click":"single"}
2019.01.31 19:59:16 5: MQTT2_FHEM_Server: dispatch autocreate\000mqttjs_18951ddb\000zigbee2mqtt/0x00158d00027c9041\000{"battery":100,"voltage":3072,"linkquality":21,"click":"single"}
2019.01.31 19:59:16 4: MQTT2_DEVICE_Parse: Taster_1 zigbee2mqtt/0x00158d00027c9041 => { json2nameValue($EVENT) }

2019.01.31 19:59:18 5: PUBLISH: (0)(30)zigbee2mqtt/0x00158d00027c9041{"battery":100,"voltage":3072,"linkquality":13,"click":"single"}
2019.01.31 19:59:18 4: MQTT2_FHEM_Server_127.0.0.1_52580 mqttjs_18951ddb PUBLISH zigbee2mqtt/0x00158d00027c9041:{"battery":100,"voltage":3072,"linkquality":13,"click":"single"}
2019.01.31 19:59:18 5: MQTT2_FHEM_Server: dispatch autocreate\000mqttjs_18951ddb\000zigbee2mqtt/0x00158d00027c9041\000{"battery":100,"voltage":3072,"linkquality":13,"click":"single"}
2019.01.31 19:59:18 4: MQTT2_DEVICE_Parse: Taster_1 zigbee2mqtt/0x00158d00027c9041 => { json2nameValue($EVENT) }

Und das sind die Events im Eventmonitor:

2019-01-31 19:59:00 MQTT2_DEVICE Taster_1 linkquality: 13
2019-01-31 19:59:00 MQTT2_DEVICE Taster_1 click: long

2019-01-31 19:59:00 MQTT2_DEVICE Taster_1 linkquality: 23
2019-01-31 19:59:00 MQTT2_DEVICE Taster_1 duration: 565
2019-01-31 19:59:00 MQTT2_DEVICE Taster_1 click: long_release

2019-01-31 19:59:08 MQTT2_DEVICE Taster_1 click: single
2019-01-31 19:59:08 MQTT2_DEVICE Taster_1 linkquality: 15

2019-01-31 19:59:13 MQTT2_DEVICE Taster_1 linkquality: 13

2019-01-31 19:59:16 MQTT2_DEVICE Taster_1 linkquality: 21

2019-01-31 19:59:18 MQTT2_DEVICE Taster_1 linkquality: 13
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Januar 2019, 13:27:58
Hmm, vielleicht löschst du als erste Maßnahme event-on-change-reading .*?
Der Zeitstempel des Readings wird ja aktualisiert, auch wenn die Daten nicht so ganz zusammenpassen...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Nighthawk am 31 Januar 2019, 13:41:36
Danke, ich sah den Wald vor lauter Bäumen nicht..
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: skyline am 01 Februar 2019, 09:33:29
Ich habe jetzt mal einen Xiaomi Motion Sensor angelernt, welches auch geklappt hat.
Neben dem eigentliche Sensor wurde mir aber noch ein MQTT2_Device angelegt "MQTT2_zigbee_bridge", welche sich aber auch nicht mit den Server verbindet.

Wo kommt das Device her und wird das gebraucht (im Wiki ist dazu nichts zu finden)?

MQTT2_zigbee_bridge:
Internals:
   CFGFN     
   CID        zigbee_bridge
   DEF        zigbee_bridge
   DEVICETOPIC MQTT2_zigbee_bridge
   FUUID      5c5356cb-f33f-0c42-32a3-ca59b77d79c6f5ad
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 5
   MQTT2_FHEM_Server_TIME 2019-01-31 21:18:26
   MSGCNT     5
   NAME       MQTT2_zigbee_bridge
   NR         1352
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-01-31 21:12:59   associatedWith  MQTT2_zigbee_stick
     2019-01-31 21:18:26   log_level       info
     2019-01-31 21:18:26   permit_join     false
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList zigbee2mqtt/bridge/config:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

MQTT2_zigbee_stick (MQTT2_zigbee_pi):
Internals:
   CID        zigbee_stick
   DEF        zigbee_stick
   DEVICETOPIC MQTT2_zigbee_stick
   FUUID      5c51feca-f33f-0c42-02a0-60c703176e259987
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 3
   MQTT2_FHEM_Server_TIME 2019-01-31 21:13:57
   MSGCNT     3
   NAME       MQTT2_zigbee_stick
   NR         613
   STATE      online
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-01-31 21:13:57   log             {"type":"pairing","message":"device incoming"}
     2019-01-31 21:18:26   permit_join     set false
     2019-01-30 21:41:35   state           online
Attributes:
   IODev      MQTT2_FHEM_Server
   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
   room       MQTT2_DEVICE
   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
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
   setStateList on off

MQTT2_zigbee_bridge: ???
Internals:
   CFGFN     
   CID        zigbee_bridge
   DEF        zigbee_bridge
   DEVICETOPIC MQTT2_zigbee_bridge
   FUUID      5c5356cb-f33f-0c42-32a3-ca59b77d79c6f5ad
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 5
   MQTT2_FHEM_Server_TIME 2019-01-31 21:18:26
   MSGCNT     5
   NAME       MQTT2_zigbee_bridge
   NR         1352
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-01-31 21:12:59   associatedWith  MQTT2_zigbee_stick
     2019-01-31 21:18:26   log_level       info
     2019-01-31 21:18:26   permit_join     false
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList zigbee2mqtt/bridge/config:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

MQTT2_zigbee_0x00158d0002b95f04 (Xiaomi Motion Sensor):
Internals:
   CFGFN     
   CID        zigbee_0x00158d0002b95f04
   DEF        zigbee_0x00158d0002b95f04
   DEVICETOPIC MQTT2_zigbee_0x00158d0002b95f04
   FUUID      5c5357cd-f33f-0c42-b45b-682159de1115f89d
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 205
   MQTT2_FHEM_Server_TIME 2019-02-01 09:28:03
   MSGCNT     205
   NAME       MQTT2_zigbee_0x00158d0002b95f04
   NR         1358
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-01-31 21:17:17   associatedWith  MQTT2_zigbee_stick
     2019-02-01 09:28:03   battery         100
     2019-02-01 09:28:03   illuminance     32
     2019-02-01 09:28:03   linkquality     26
     2019-02-01 09:28:03   occupancy       false
     2019-02-01 09:28:03   voltage         3025
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList zigbee2mqtt/0x00158d0002b95f04:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

Soll man die Bridge nicht unter dem Namen "MQTT2_zigbee_stick" sondern "MQTT2_zigbee_bridge" anlegen?

edit:
Die MQTT2_zigbee_bridge wird wohl automatisch angelegt, liegt wohl mit dem bridgeRegexp zusammen.
Bei einem Mqtt2_Server besser
zigbee2mqtt bridgeRegexp zigbee2mqtt/0x........([^/]+):.* "zigbee_$1"
verwenden.

Könnte man aber vielleicht auch gleich mit ins Wiki schreiben, da es dort noch anders steht.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 04 Februar 2019, 17:06:10
Könnte man aber vielleicht auch gleich mit ins Wiki schreiben, da es dort noch anders steht.
Nachdem wir in diesem Thread lange darüber diskutiert haben, welche bridgeRegexp denn nun sinnvoll ist, bitte ich darum, das im Wiki vorläufig nicht zu ändern.

Es kommt mir so vor, als würde es (wegen Änderungen bei zigbee2mqtt, jetzt wird der Status von permit join scheinbar auch geschickt...) schlicht ein neues Element in der readingList geben, das in das template aufgenommen werden sollte? Vielleicht kann da jemand mal Vorschläge machen, der auf der aktuellen Version ist (komme grad nicht zum updaten...)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 05 Februar 2019, 16:31:56
Folgendes:
In der configuration.yaml kann man u.a. auch den Parameter "availability_timeout" setzen (Abschnitt "advanced", steht bei mir derzeit auf "availability_timeout: '300'" mit einem Leerzeichen). Dann erhält man (hier nach 5 Minuten) ein neues Reading "availability" mit dem Inhalt "online" oder "offline".
Finde ich sehr praktisch, weil meine Zigbee-Leuchten hinter Schaltern sitzen; so sollte man feststellen können, ob die Leuchten an oder aus sind (sicher ist: offline=aus). Da jedenfalls die IKEA-GU10 und tint E27 white+color beim Wiedereinschalten des Stroms auch angeschaltet sind, kann man auch den Wechsel von offline zu online verwenden. So weit, so gut.

Anschlußfragen:
- Die regex zur Ermittlung der DeviceID mußte angepaßt werden, weil nicht mehr alle messages direkt an BASE_TOPIC/DEV_ID: gehen, sondern dann auch an BASE_TOPIC/DEV_ID/availability:. Das habe ich eben als Änderung eingecheckt, bitte um Rückmeldung, wenn das so nicht paßt oder jemand Verbesserungsvorschläge dazu hat.

- Da autocreate ja in der Regel aktiv ist, habe ich in den templates
attr DEVICE readingList\
  BASE_TOPIC/DEV_ID:.* { json2nameValue($EVENT) }
  BASE_TOPIC/DEV_ID/availability:.* { json2nameValue($EVENT) }
_nicht_ eingefügt, bin aber nicht sicher, wie herum das optimal ist. An sich würde es nicht schaden, aber wenn man es reinschreibt, gibt es sicher Fragen, wo das her kommt, aber nicht jeder will ggf. das feature auch nutzen; mir ist z.B. nicht klar, ob das mit den 5 Min. z.B. eine gute Idee wäre bei batteriebetriebenen Sensoren - sowas habe ich nicht...

Es kommt mir so vor, als würde es (wegen Änderungen bei zigbee2mqtt, jetzt wird der Status von permit join scheinbar auch geschickt...) schlicht ein neues Element in der readingList geben, das in das template aufgenommen werden sollte?
So, jetzt war doch Gelegenheit, das selbst auszutesten:

Es genügt, die readingList des bridge-Devices zu ergänzen (letztes Element):
attr DEVICE readingList\
  [...]
  BASE_TOPIC/bridge/config:.* { json2nameValue($EVENT) }
Angepaßtes template ist im svn.

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 06 Februar 2019, 07:37:35
Für den Fall, dass es jemand brauchen kann, noch das notify, um den Gerätestatus bei (nicht-) Verfügbarkeit zu aktualisieren (RAW-Format, meine Devices habe ich nicht umbenannt, sondern mit einem alias versehen):

defmod n_Zigbeedevice_availability notify MQTT2_zigbee.*:availability:.* {\
if (Value($NAME) =~ /ON|on/ and $EVENT =~ /offline/) {fhem "setreading $NAME state off";}\
elsif (Value($NAME) =~ /OFF|off/ and $EVENT =~ /online/){fhem "setreading $NAME state on"}\
}
Dazu dann event-on-change-reading .* setzen.
Das ganze funktioniert bislang (V. 1.1.1) nur mit Geräten, die als Router bekannt sind, batteriebetriebene Geräte kennen das bislang nicht, da ist was vergleichbares wohl erst in Vorbereitung; ob bzw. wie man das ggf. via MQTT konfigurieren kann (es gibt auch eine Blacklist-Option), habe ich bisher nicht in Erfahrung bringen können, ist für mich im Moment auch nicht wichtig. Aber wenn es jemand rausfindet, sollte man es m.E. in das Bridge-template aufnehmen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: JoGu am 06 Februar 2019, 10:25:09
Hilfe ! Ich bekomme nichts in der neighbor map angezeigt :-(
Die readings devices und graphviz werden erzeugt. Alle updates sind gemacht.
devices
{"type":"devices","message":[{"ieeeAddr":"0x00158d0002271dd2","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"XmiTemp_Test"},{"ieeeAddr":"0x00158d000232343d","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"XmiTemp_Igel"},{"ieeeAddr":"0x00158d00022725e5","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"XmiTemp_Waschen"},{"ieeeAddr":"0x00158d0002288766","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"XmiTemp_Keller"},{"ieeeAddr":"0x00158d0002282a7a","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"XmiWin_Test"},{"ieeeAddr":"0x00158d000224f95b","type":"EndDevice","model":"RTCGQ11LM","friendly_name":"XmiMotion_Wohnen"},{"ieeeAddr":"0x00158d000205a542","type":"EndDevice","model":"WXKG01LM","friendly_name":"XmiSwitch_Test"},{"ieeeAddr":"0x00158d00019c91ec","type":"EndDevice","model":"WSDCGQ01LM","friendly_name":"XmiTemp_Bad"},{"ieeeAddr":"0x00158d00019db02e","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"XmiWin_Kueche"}]}

graphviz
digraph G {
node[shape=record];
  "0x00124b0018e33b1c" [style="bold", label="{0x00124b0018e33b1c|Coordinator|No model information available|online}"];
  "0x00158d0002271dd2" [style="rounded, dashed", label="{XmiTemp_Test|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00158d0002271dd2" -> "0x00124b0018e33b1c" [label="119"]
  "0x00158d000232343d" [style="rounded, dashed", label="{XmiTemp_Igel|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00158d000232343d" -> "0x00124b0018e33b1c" [label="54"]
  "0x00158d00022725e5" [style="rounded, dashed", label="{XmiTemp_Waschen|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00158d00022725e5" -> "0x00124b0018e33b1c" [label="39"]
  "0x00158d0002288766" [style="rounded, dashed", label="{XmiTemp_Keller|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00158d0002288766" -> "0x00124b0018e33b1c" [label="35"]
  "0x00158d0002282a7a" [style="rounded, dashed", label="{XmiWin_Test|EndDevice|Xiaomi MiJia door & window contact sensor (MCCGQ01LM)|online}"];
  "0x00158d0002282a7a" -> "0x00124b0018e33b1c" [label="80"]
  "0x00158d000224f95b" [style="rounded, dashed", label="{XmiMotion_Wohnen|EndDevice|Xiaomi Aqara human body movement and illuminance sensor (RTCGQ11LM)|online}"];
  "0x00158d000224f95b" -> "0x00124b0018e33b1c" [label="11"]
  "0x00158d000205a542" [style="rounded, dashed", label="{XmiSwitch_Test|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];
  "0x00158d000205a542" -> "0x00124b0018e33b1c" [label="31"]
  "0x00158d00019c91ec" [style="rounded, dashed", label="{XmiTemp_Bad|EndDevice|Xiaomi MiJia temperature & humidity sensor  (WSDCGQ01LM)|online}"];
  "0x00158d00019c91ec" -> "0x00124b0018e33b1c" [label="44"]
  "0x00158d00019db02e" [style="rounded, dashed", label="{XmiWin_Kueche|EndDevice|Xiaomi MiJia door & window contact sensor (MCCGQ01LM)|online}"];
  "0x00158d00019db02e" -> "0x00124b0018e33b1c" [label="39"]
}
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 06 Februar 2019, 11:00:40
hab das Gleiche Problem... Neighbor map… wird nicht angezeigt

beim Ausführen von "Start Auto layout" kommt folgende Fehlermeldung

zwave_neighborlist.js line 267:
Uncaught TypeError: Cannot set property 'idx' of undefined
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 Februar 2019, 13:38:41
@JoGu: das Attribut style="bold" war fuer mich neu, nachdem update (morgen ab 8) sollte gehen (siehe Anhang). Hast Du eine Idee, woher diese Angaben kommen?
@mkraus81: kannst du bitte die beiden Readings (graphvis, devices) hier anhaengen?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: JoGu am 06 Februar 2019, 16:02:16
Danke. Keine Ahnung. In meiner fhem.cfg taucht "bold" nicht auf und meine Änderungen in floorplanstyle.css & defaultfloorplanstyle.css können es wohl auch nicht verursachen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 Februar 2019, 18:16:17
Diese Daten kommen vom MQTT Geraet, als vom zigbee2mqtt oder vglb.
Da muss irgendwer auf die Idee gekommen sein, style-Information mitzuschicken.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 06 Februar 2019, 19:03:01
@JoGu: das Attribut style="bold" war fuer mich neu, nachdem update (morgen ab 8) sollte gehen (siehe Anhang). Hast Du eine Idee, woher diese Angaben kommen?
@mkraus81: kannst du bitte die beiden Readings (graphvis, devices) hier anhaengen?

graphvis

digraph G {
node[shape=record];
  "0x00124b001b7b301e" [style="bold", label="{0x00124b001b7b301e|Coordinator|No model information available|online}"];
  "0x00124b001b7b301e" -> "0x7cb03eaa0a027782" [label="32"]
  "0x00124b001b7b301e" -> "0x7cb03eaa00ae6dbe" [label="58"]
  "0x7cb03eaa0a027782" [style="rounded", label="{Osram_SMART_Plus_Wohnzimmer|Router|OSRAM Smart+ plug (AB3257001NJ)|offline}"];
  "0x7cb03eaa0a027782" -> "0x00124b001b7b301e" [label="18"]
  "0x7cb03eaa0a027782" -> "0x7cb03eaa00ae6dbe" [label="254"]
  "0x7cb03eaa00ae6dbe" [style="rounded", label="{Osram_SMART_Plus_Wohnzimmer_Tuer|Router|OSRAM Smart+ plug (AB3257001NJ)|offline}"];
  "0x7cb03eaa00ae6dbe" -> "0x00124b001b7b301e" [label="53"]
  "0x7cb03eaa00ae6dbe" -> "0x7cb03eaa0a027782" [label="62"]
  "0x8418260000101531" [style="rounded", label="{Osram_SMART_Plus_Keller_Bar|Router|OSRAM Smart+ plug (AB3257001NJ)|online}"];
  "0x8418260000101531" -> "0x00124b001b7b301e" [style="dashed", label="0"]
  "0x8418260000101531" -> "0x7cb03eaa00ae6dbe" [label="8"]
  "0x84182600000fc2e9" [style="rounded", label="{Osram_SMART_Plus_Keller|Router|OSRAM Smart+ plug (AB3257001NJ)|offline}"];
  "0x84182600000fc2e9" -> "0x00124b001b7b301e" [style="dashed", label="0"]
  "0x84182600000fc2e9" -> "0x7cb03eaa0a027782" [label="12"]
  "0x00158d0002c8ed7a" [style="rounded, dashed", label="{Aqara_Temp_Hum_Keller_Bar|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00158d000249904e" [style="rounded, dashed", label="{Aqara_Water_Leak_Washingmachine|EndDevice|Xiaomi Aqara water leak sensor (SJCGQ11LM)|online}"];
  "0x00158d000249904e" -> "0x7cb03eaa0a027782" [label="14"]
  "0x7cb03eaa00b076a4" [style="rounded", label="{Osram_SMART_Plus_1|Router|OSRAM Smart+ plug (AB3257001NJ)|offline}"];
  "0x7cb03eaa00b076a4" -> "0x00124b001b7b301e" [label="1"]
  "0x7cb03eaa00b076a4" -> "0x7cb03eaa0a027782" [label="26"]
  "0x7cb03eaa00b076a4" -> "0x7cb03eaa00ae6dbe" [label="40"]
  "0x7cb03eaa00ad226c" [style="rounded", label="{Osram_SMART_Plus_2|Router|OSRAM Smart+ plug (AB3257001NJ)|offline}"];
  "0x7cb03eaa00ad226c" -> "0x00124b001b7b301e" [style="dashed", label="0"]
  "0x00158d0002c8f142" [style="rounded, dashed", label="{Aqara_Temp_Hum_Keller_Hobby|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00158d0002ca09c8" [style="rounded, dashed", label="{Aqara_Temp_Hum_Keller_Werkstatt|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00158d0002c9fd08" [style="rounded, dashed", label="{Aqara_Temp_Hum_OG_Bad|EndDevice|Xiaomi Aqara temperature, humidity and pressure sensor (WSDCGQ11LM)|online}"];
  "0x00158d0002c9fd08" -> "0x00124b001b7b301e" [label="115"]
  "0x00158d00023a6ab6" [style="rounded, dashed", label="{Aqara_Water_Leak_Heizungsraum|EndDevice|No model information available|online}"];
  "0x00158d00023a6ab6" -> "0x7cb03eaa0a027782" [label="20"]
}

devices

{"type":"devices","message":[{"ieeeAddr":"0x7cb03eaa0a027782","type":"Router","model":"AB3257001NJ","friendly_name":"Osram_SMART_Plus_Wohnzimmer"},{"ieeeAddr":"0x7cb03eaa00ae6dbe","type":"Router","model":"AB3257001NJ","friendly_name":"Osram_SMART_Plus_Wohnzimmer_Tuer"},{"ieeeAddr":"0x8418260000101531","type":"Router","model":"AB3257001NJ","friendly_name":"Osram_SMART_Plus_Keller_Bar"},{"ieeeAddr":"0x84182600000fc2e9","type":"Router","model":"AB3257001NJ","friendly_name":"Osram_SMART_Plus_Keller"},{"ieeeAddr":"0x00158d0002c8ed7a","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"Aqara_Temp_Hum_Keller_Bar"},{"ieeeAddr":"0x00158d000249904e","type":"EndDevice","model":"SJCGQ11LM","friendly_name":"Aqara_Water_Leak_Washingmachine"},{"ieeeAddr":"0x7cb03eaa00b076a4","type":"Router","model":"AB3257001NJ","friendly_name":"Osram_SMART_Plus_1"},{"ieeeAddr":"0x7cb03eaa00ad226c","type":"Router","model":"AB3257001NJ","friendly_name":"Osram_SMART_Plus_2"},{"ieeeAddr":"0x00158d0002c8f142","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"Aqara_Temp_Hum_Keller_Hobby"},{"ieeeAddr":"0x00158d0002ca09c8","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"Aqara_Temp_Hum_Keller_Werkstatt"},{"ieeeAddr":"0x00158d0002c9fd08","type":"EndDevice","model":"WSDCGQ11LM","friendly_name":"Aqara_Temp_Hum_OG_Bad"},{"ieeeAddr":"0x00158d00023a6ab6","type":"EndDevice","friendly_name":"Aqara_Water_Leak_Heizungsraum"}]}
bei http://www.webgraphviz.com/ funktioniert das erstellen der grafik...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 Februar 2019, 21:51:19
Mit der aktuellen Version habe ich keine Probleme, siehe Anhang.

Zitat
bei http://www.webgraphviz.com/ (http://www.webgraphviz.com/) funktioniert das erstellen der grafik...
Mag sein, hilft mir aber nicht, die Visualisierung hat damit nichts gemein.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 06 Februar 2019, 21:57:12
Hmmm was könnte das Problem sein?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 Februar 2019, 22:31:53
Mit aktuell meinte ich die Version, die morgen ab 8 fuer fhem-update zur Verfuegung steht.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 06 Februar 2019, 22:35:17
Ach so, ok... dann schau ich morgen früh

Danke
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mkraus81 am 07 Februar 2019, 12:12:43
nach dem Update von heute geht es wieder. DANKE!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 08 Februar 2019, 08:39:35
Hallo,

seit dem update verändert sich meine  "neighbor map" überhaupt nicht mehr. Vor dem update war das immer ein relativ dynamischer Prozeß. Es fehlen auch Verbindungen zu den meisten Geräten, obwohl ich diese steuern kann.

Fhem wurde aktualisiert und auch den Raspi habe ich neu gestartet.

Hier die Raw definition meiner Bridge:

defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi IODev mqtt2
attr MQTT2_zigbee_pi autocreate 1
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee_pi devPos 0x00124b00120234a3 216.67,15.72 0x00124b0014d9dd9b 128.87,9.84 0x00124b001b7b25ff 208.99,315.79 0x00158d0001aa8114 4.35,359.88 0x00158d0001b19b09 6.86,267.79 0x00158d0001e80850 805.63,10.17 0x00158d00022c3627 221.73,500.97 0x00158d00024bfd6f 314.72,22.29 0x00158d00027cefec 6.59,7.76 0x00158d00029c08a6 443.68,498.03 0x00158d0002b23b0c 17.2,14.63 0x00158d0002b3188c 832.83,470.96 0x00158d0002b74d76 840.63,286.01 0x00158d0002b74df6 842.63,378.34 0x00158d0002f6a6ab 502,519 0x00158d0003248906 824,50 0x00158d000327ee70 895,10 0x90fd9ffffed3ec52 818.97,379.2 0x90fd9ffffed889f3 825.89,100.16 0x90fd9ffffedd7c9e 558.11,12.26 0x90fd9ffffee0fbc9 827,195 0xd0cf5efffe16d8c7 815.85,430.37 0xd0cf5efffe1ae577 363,501
attr MQTT2_zigbee_pi getList devicelist:noArg log zigbee2mqtt/bridge/config/devices\
  networkmap_raw:noArg raw zigbee2mqtt/bridge/networkmap raw\
  networkmap_graphviz:noArg graphviz zigbee2mqtt/bridge/networkmap graphviz
attr MQTT2_zigbee_pi model L_01_zigbee2mqtt_bridge
attr MQTT2_zigbee_pi 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) }
attr MQTT2_zigbee_pi room MQTT,MQTT2_DEVICE
attr MQTT2_zigbee_pi 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\
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
attr MQTT2_zigbee_pi setStateList on off

setstate MQTT2_zigbee_pi online
setstate MQTT2_zigbee_pi 2019-02-08 08:36:29 devices {"type":"devices","message":[{"ieeeAddr":"0x00158d00022c3627","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d00022c3627"},{"ieeeAddr":"0x00158d0001b19b09","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d0001b19b09"},{"ieeeAddr":"0x00124b00120234a3","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b00120234a3"},{"ieeeAddr":"0x00158d00027cefec","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"0x00158d00027cefec"},{"ieeeAddr":"0x00158d0002b3188c","type":"EndDevice","model":"DJT11LM","friendly_name":"0x00158d0002b3188c"},{"ieeeAddr":"0x00158d0002b74d76","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74d76"},{"ieeeAddr":"0x00124b0014d9dd9b","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0014d9dd9b"},{"ieeeAddr":"0x00158d0002b74df6","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74df6"},{"ieeeAddr":"0x00158d00024bfd6f","type":"EndDevice","model":"SJCGQ11LM","friendly_name":"0x00158d00024bfd6f"},{"ieeeAddr":"0x00158d00029c08a6","type":"EndDevice","model":"RTCGQ11LM","friendly_name":"0x00158d00029c08a6"},{"ieeeAddr":"0x00158d0001aa8114","type":"EndDevice","model":"RTCGQ01LM","friendly_name":"0x00158d0001aa8114"},{"ieeeAddr":"0x90fd9ffffedd7c9e","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffedd7c9e"},{"ieeeAddr":"0xd0cf5efffe1ae577","type":"Router","model":"LED1537R6","friendly_name":"0xd0cf5efffe1ae577"},{"ieeeAddr":"0x90fd9ffffee0fbc9","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffee0fbc9"},{"ieeeAddr":"0x00158d0003248906","type":"Router","model":"404000/404005/404012","friendly_name":"0x00158d0003248906"},{"ieeeAddr":"0x90fd9ffffed889f3","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffed889f3"}]}
setstate MQTT2_zigbee_pi 2019-02-08 08:36:44 graphviz digraph G {\
node[shape=record];;\
  "0x00124b001b7b25ff" [label="{0x00124b001b7b25ff|Coordinator|No model information available|online}"];;\
  "0x00158d00022c3627" [label="{0x00158d00022c3627|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];;\
  "0x00158d00022c3627" -> "0x00124b001b7b25ff" [label="72"]\
  "0x00158d0001b19b09" [label="{0x00158d0001b19b09|EndDevice|Xiaomi MiJia wireless switch (WXKG01LM)|online}"];;\
  "0x00158d0001b19b09" -> "0x00124b001b7b25ff" [label="19"]\
  "0x00124b00120234a3" [label="{0x00124b00120234a3|Router|Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (CC2530.ROUTER)|offline}"];;\
  "0x00124b00120234a3" -> "0x00124b001b7b25ff" [label="22"]\
  "0x00158d00027cefec" [label="{0x00158d00027cefec|EndDevice|Xiaomi Mi/Aqara smart home cube (MFKZQ01LM)|online}"];;\
  "0x00158d00027cefec" -> "0x00124b001b7b25ff" [label="5"]\
  "0x00158d0002b3188c" [label="{0x00158d0002b3188c|EndDevice|Xiaomi Aqara vibration sensor (DJT11LM)|online}"];;\
  "0x00158d0002b3188c" -> "0x00124b001b7b25ff" [label="29"]\
  "0x00158d0002b74d76" [label="{0x00158d0002b74d76|EndDevice|Xiaomi MiJia door & window contact sensor (MCCGQ01LM)|online}"];;\
  "0x00124b0014d9dd9b" [label="{0x00124b0014d9dd9b|Router|Custom devices (DiY) [CC2530 router](http://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/) (CC2530.ROUTER)|offline}"];;\
  "0x00124b0014d9dd9b" -> "0x00124b001b7b25ff" [label="20"]\
  "0x00158d0002b74df6" [label="{0x00158d0002b74df6|EndDevice|Xiaomi MiJia door & window contact sensor (MCCGQ01LM)|online}"];;\
  "0x00124b001b7b25ff" [label="{0x00124b001b7b25ff|Coordinator|No model information available|online}"];;\
  "0x00158d00024bfd6f" [label="{0x00158d00024bfd6f|EndDevice|Xiaomi Aqara water leak sensor (SJCGQ11LM)|online}"];;\
  "0x00158d00029c08a6" [label="{0x00158d00029c08a6|EndDevice|Xiaomi Aqara human body movement and illuminance sensor (RTCGQ11LM)|online}"];;\
  "0x00158d0001aa8114" [label="{0x00158d0001aa8114|EndDevice|Xiaomi MiJia human body movement sensor (RTCGQ01LM)|online}"];;\
  "0x00158d0001aa8114" -> "0x00124b001b7b25ff" [label="33"]\
  "0x90fd9ffffedd7c9e" [label="{0x90fd9ffffedd7c9e|Router|IKEA TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white (LED1545G12)|offline}"];;\
  "0xd0cf5efffe1ae577" [label="{0xd0cf5efffe1ae577|Router|IKEA TRADFRI LED bulb GU10 400 lumen, dimmable, white spectrum (LED1537R6)|offline}"];;\
  "0xd0cf5efffe1ae577" -> "0x00124b001b7b25ff" [label="0"]\
  "0x90fd9ffffee0fbc9" [label="{0x90fd9ffffee0fbc9|Router|IKEA TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white (LED1545G12)|offline}"];;\
  "0x00158d0003248906" [label="{0x00158d0003248906|Router|Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, color, opal white (404000/404005/404012)|offline}"];;\
  "0x00158d0003248906" -> "0x00124b001b7b25ff" [label="0"]\
  "0x90fd9ffffed889f3" [label="{0x90fd9ffffed889f3|Router|IKEA TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white (LED1545G12)|offline}"];;\
}
setstate MQTT2_zigbee_pi 2019-02-08 08:36:29 log {"type":"devices","message":[{"ieeeAddr":"0x00158d00022c3627","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d00022c3627"},{"ieeeAddr":"0x00158d0001b19b09","type":"EndDevice","model":"WXKG01LM","friendly_name":"0x00158d0001b19b09"},{"ieeeAddr":"0x00124b00120234a3","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b00120234a3"},{"ieeeAddr":"0x00158d00027cefec","type":"EndDevice","model":"MFKZQ01LM","friendly_name":"0x00158d00027cefec"},{"ieeeAddr":"0x00158d0002b3188c","type":"EndDevice","model":"DJT11LM","friendly_name":"0x00158d0002b3188c"},{"ieeeAddr":"0x00158d0002b74d76","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74d76"},{"ieeeAddr":"0x00124b0014d9dd9b","type":"Router","model":"CC2530.ROUTER","friendly_name":"0x00124b0014d9dd9b"},{"ieeeAddr":"0x00158d0002b74df6","type":"EndDevice","model":"MCCGQ01LM","friendly_name":"0x00158d0002b74df6"},{"ieeeAddr":"0x00158d00024bfd6f","type":"EndDevice","model":"SJCGQ11LM","friendly_name":"0x00158d00024bfd6f"},{"ieeeAddr":"0x00158d00029c08a6","type":"EndDevice","model":"RTCGQ11LM","friendly_name":"0x00158d00029c08a6"},{"ieeeAddr":"0x00158d0001aa8114","type":"EndDevice","model":"RTCGQ01LM","friendly_name":"0x00158d0001aa8114"},{"ieeeAddr":"0x90fd9ffffedd7c9e","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffedd7c9e"},{"ieeeAddr":"0xd0cf5efffe1ae577","type":"Router","model":"LED1537R6","friendly_name":"0xd0cf5efffe1ae577"},{"ieeeAddr":"0x90fd9ffffee0fbc9","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffee0fbc9"},{"ieeeAddr":"0x00158d0003248906","type":"Router","model":"404000/404005/404012","friendly_name":"0x00158d0003248906"},{"ieeeAddr":"0x90fd9ffffed889f3","type":"Router","model":"LED1545G12","friendly_name":"0x90fd9ffffed889f3"}]}
setstate MQTT2_zigbee_pi 2019-02-08 06:32:16 log_level info
setstate MQTT2_zigbee_pi 2019-02-08 06:32:16 permit_join true
setstate MQTT2_zigbee_pi 2019-02-08 06:31:36 raw [{"ieeeAddr":"0x00158d00022c3627","nwkAddr":15030,"lqi":61,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x00124b00120234a3","nwkAddr":15033,"lqi":25,"parent":"0x00124b001b7b25ff","status":"offline"},{"ieeeAddr":"0xffffffffffffffff","nwkAddr":62104,"lqi":0,"parent":"0x00124b001b7b25ff","status":"offline"},{"ieeeAddr":"0x00158d0001b19b09","nwkAddr":8859,"lqi":23,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x00158d00027cefec","nwkAddr":52304,"lqi":5,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0xd0cf5efffe1ae577","nwkAddr":33498,"lqi":0,"parent":"0x00124b001b7b25ff","status":"offline"},{"ieeeAddr":"0x00124b0014d9dd9b","nwkAddr":20570,"lqi":20,"parent":"0x00124b001b7b25ff","status":"offline"},{"ieeeAddr":"0x00158d0002b3188c","nwkAddr":45531,"lqi":28,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x90fd9ffffed3ec52","nwkAddr":23183,"lqi":170,"parent":"0x00124b001b7b25ff","status":"offline"},{"ieeeAddr":"0x00158d0001aa8114","nwkAddr":43044,"lqi":24,"parent":"0x00124b001b7b25ff","status":"online"},{"ieeeAddr":"0x00158d0003248906","nwkAddr":30408,"lqi":0,"parent":"0x00124b001b7b25ff","status":"offline"}]
setstate MQTT2_zigbee_pi 2019-02-07 22:22:20 state online



Soll das so sein oder gibt es tatsächlich noch ein Problem?

Gruß rippi
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 08 Februar 2019, 10:09:47
Zitat
seit dem update verändert sich meine  "neighbor map" überhaupt nicht mehr. Vor dem update war das immer ein relativ dynamischer Prozeß.
Ich kann darunter nichts vorstellen, sorry.

Zitat
Es fehlen auch Verbindungen zu den meisten Geräten, obwohl ich diese steuern kann.
Fuer den Inhalt der beiden Readings ist das FHEM-Modul nicht verantwortlich.
Wenn Du mir zeigst, dass ein Eintrag aus dem graphvis Reading nicht dargestellt wird, dann werde ich das  fixen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 08 Februar 2019, 10:19:59
Vielleicht habe ich mich falsch ausgedrückt!

Dargestellt wird natürlich nur das, was in den Readings steht. Aber die Readings hatten sich verändert je nachdem wie ich meine Router platziert hatte. Wenn z.B.  die Tradfri-Lampe im Flur an war(nicht stromlos war) hatte ich auch Verbindungen zu dieser Lampe. Seit dem update verändert sich meine neighbor map überhaupt nicht mehr, egal ob die Router online sind oder offline.

Gruß rippi

PS: Sollte die neighbor map nicht das aktuelle Routing darstellen?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 08 Februar 2019, 10:58:27
Zitat
PS: Sollte die neighbor map nicht das aktuelle Routing darstellen?
Das Ding stellt den Inhalt der Readings graphvis und devices dar. Fuer deren Inhalt kann ich nichts. Wenn du mir zeigst, dass Inhalt nicht der Darstellung entspricht, dann kann ich es fixen, sonst muss jemand sonst was tun.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 08 Februar 2019, 12:14:07
Ok!

Dann muss das Problem (wenn es überhaupt eines ist) irgendwo anders liegen. :'(

Gruß rippi
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rippi46 am 08 Februar 2019, 18:31:45
So,

habe einen meiner Router neu gepairt, und siehe da meine neighbor map hat sich wieder verändert.
Warum sich aber meine Map nicht mehr verändert hatte, kann ich mir aber trotzdem nicht erklären.

Gruß rippi
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: essera am 13 Februar 2019, 12:23:09
Hi,
ich habe mal ein Verständnisproblem.
Ich habe zigbee2mqtt schon was länger im Einsatz und es damals schon so eingerichtet wie im Thread von Neumann beschrieben.
MQTT Device als IOdev für MQTT Server angelegt,  Device xBridge mit IODevice MQTT angelegt.
Alles gut.

Bin aber zwischenzeitlich von Mosquitto auf MQTT2_Server gewechselt. Nachdem es dann immer mehr Devices wurden gab es auf einmal ein Problem beim Start von Fhem. Es ist nach einem Update  immer gecrashed (Problem mit Rudi´s Hilfe in einem anderen Thread gelöst - "insuffizient Memory" als Fehler beim Laden von MQTT)
Rudi meinte den gemischt Betrieb MQTT und MQTT2 vermeiden.

Kein Problem, MQTT Device gelöscht und das xBridge Device als IODevice nicht auf MQTT referenziert, sondern auf das MQTT2_Zigbee Device welches als IODevice den MQTT2_Server hat.

HAt gut funktioniert bis ich Fhem einmal neu starten wollte. Danach Crashed FHEM immer mit dem Hinweis, dass das MQTTXiami Modul kein Device mit MQTT finden kann. (Klar, das habe ich doch gerade gelöscht wegen anderer Problem)

Da beißt sich doch die Katze in den SChwanz. Wie habt ihr das gelöst ??
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 13 Februar 2019, 12:31:23
Man braucht kein spezifisches Xiaomi-Modul mehr, alles läßt sich (in deinem setup) mit MQTT2_SEVER+MQTT2_DEVICE(s) abbilden.

Wie: steht in den Praxisbeispielen im Wiki. Also erst eine Bridge-Device (MQTT2_DEVICE! es gibt dafür ein attrTemplate) konfigurieren, und die anderen Geräte dann durch autocreate als MQTT2_DEVICE-Geräte anlegen lassen, darüber dann wieder das jeweils passende template mit attrTemplate anwenden. That's all...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: essera am 13 Februar 2019, 20:39:30
OK ... Dann war ich ja gar nicht soweit weg. ;)
Das Zigbee_Pi Device hatte ich schon und die einzelnen Geräte wurden auch schon als MQTT2_Devices angelegt.

Ich habe nun alle Reste aus der Xiaomi Welt entfernt.

Ich habe gedacht die müssten zusammen laufen und gar nicht mitbekommen, dass durch die "neuen" Device sich das Xiaomi Modul erledigt hat.

Danke BETA fürs "auf die richtige Spur" bringen"!! :)

Kurze Frage zum Schluss: Ich habe über mein altes Zigbee_pi device nun das Template drüber gelegt.
Welches ist denn das Richtige ?

L01 oder L01a ??
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 13 Februar 2019, 21:15:50
Kurze Frage zum Schluss: Ich habe über mein altes Zigbee_pi device nun das Template drüber gelegt.
Welches ist denn das Richtige ?

L01 oder L01a ??
...muß mal die desc anpassen, die "a"-Variante ist eigentlich auch outdated...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 16 Februar 2019, 06:25:01
@rudolfkoenig

Der Link zur zigbee2mqtt-Dokumentation hat sich wohl geändert, so dass imageLink im MQTT2_DEVICE nun ins Nirwana verweist.

Bisher: https://koenkk.github.io/zigbee2mqtt/
https://koenkk.github.io/zigbee2mqtt/images/devices/AB3257001NJ.jpg

Neuerdings: https://www.zigbee2mqtt.io/
https://www.zigbee2mqtt.io/images/devices/AB3257001NJ.jpg
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 16 Februar 2019, 12:25:19
Ich habe das URL geaendert, und ein lokales Caching nach www/deviceimages/mqtt2 eingebaut, analog zu ZWave, um die Abhaengigkeit zu begrenzen.
Leider muessen alle imageLink Attribute entfernt und neu gesetzt werden (z.Bsp. durch ein Aufruf von "Show neighbor map").
Da ich es nur grob getestet habe, bitte um Feedback.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: R1k4rd am 19 Februar 2019, 12:53:04
Guten Tag,

ich habe seit ein paar Tagen Zigbee2MQTT mit MQTT2-Server sowie MQTT2-Device am laufen. Soweit funktioniert es ganz gut allerdings habe ich ein paar Probleme mit den Readings meiner Leuchtmittel. Es wird ausschließlich ON/OFF und die Farbwerte "color_x" sowie "color_y" richtig angezeigt. "brightness" sowie "color_temp" leider aktuell nicht. Ich hatte es im Forum schonmal an anderer Stelle probiert aber so wirklich bin ich mit der Antwort nicht zum gewünschten Ergebnis gekommen. Anhand meiner Aqara Temperatursensoren sehe ich, dass readings schon richtig funktionieren können, allerdings bin ich mir nicht sicher ob ich nicht einfach etwas falsch gemacht habe beim anlegen der Leuchtmittel. Hat zufällig jemand auch Leuchtmittel so eingebunden und bekommt für diese richtige Readings angezeigt? Falls nicht, wäre es möglich das noch zu implementieren an der Stelle? Bzw. hat sich jemand selbst dazu eine Lösung gebastelt weil er das gleiche Problem hat, wenn ja, wie sieht diese aus? Klar würde es so erstmal reichen wenn man nur steuern kann, wenn ich das Ganze allerdings mithilfe des MQTT2-Servers steuere und damit Veränderungen vornehme, sehe ich den aktuellen Stand der Geräte natürlich nicht mehr. Wichtige wäre es mir persönlich nur für die Steuerung mit dem Google-Assistant-Modul, dazu werden richtige readings benötigt, ansonsten wäre es mir sicherlich vorerst nicht so wichtig. Ich hoffe ihr könnt in etwa verstehen was mein Problem ist und mir vielleicht helfen (;

Liebe Grüße Richard

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

@Beta-User: Hier noch etwas für das Anlegen von Zigbee2MQTT-Gruppen in FHEM, wie immer kannst du es gerne ins Wiki MQTT2 Praxisbeispiele übernehmen bzw. abändern/anpassen und verbessern wie du möchstest ;D

Anlegen von Zigbee2MQTT-Gruppen in FHEM
Bevor man eine Gruppe mithilfe von Zigbee2MQTT anlegen kann, sollte man sicherstellen, dass man über die aktuelleste Version von Zigbee2MQTT verfügt (min. vom 15. Februar 2019). Außerdem sollte auch der Koordinator (zumeist CC2531) die aktuellste Firmware besitzen (min. vom 15. Februar 2019). Falls ein flashen des Koordinators mit der neusten Firmware erfolgen soll, ist darauf zu achten, dass nach einem flashen alle Geräte neu angelernt werden müssen! (Hinweise zum flashen ohne erneutem anlernen sind hier zu finden: https://www.zigbee2mqtt.io/information/flashing_without_re-pairing.html)

Erstellen einer Zigbee2MQTT-Gruppe
Bevor das Ganze in FHEM funktioniert, muss eine Gruppe in der "configuration.yaml" angelegt werden, dieser Vorgang ist auf folgender Seite beschrieben: https://www.zigbee2mqtt.io/information/groups.html
Wenn die Geräte anschließend über den FHEM MQTT2-Server der Gruppe hinzugefügen werden sollen, kann dies mit folgendem Befehl erfolgen:
set <MQTT2-Server> publish zigbee2mqtt/bridge/group/<Zigbee2MQTT Friendly-Gruppenname>/add <Zigbee2MQTT Friendly-Gerätename>Beispiel:
set MQTT2_FHEM_Server publish zigbee2mqtt/bridge/group/Wohnzimmer/add StehlampeDieser Befehl kann so oft verwendet werden, wie man Geräte zu einer Gruppe hinzufügen möchte.

Zum Entfernen eines Gerätes aus einer Gruppe kann folgender Befehl verwendet werden:
set <MQTT2-Server> publish zigbee2mqtt/bridge/group/<Zigbee2MQTT Friendly-Gruppenname>/remove <Zigbee2MQTT Friendly-Gerätename>Beispiel:
set MQTT2_FHEM_Server publish zigbee2mqtt/bridge/group/Wohnzimmer/remove Kuechenlampe
Anlegen der Gruppe in FHEM
Da Gruppen in Zigbee2MQTT aktuell keine Rückmeldung über ihren Status geben, wird auch beim einmaligen Schalten kein Gerät automatisch in FHEM angelegt. Aus diesem Grund muss dies mit folgendem Befehl noch manuell erfolgen:
defmod <FHEM NAME> MQTT2_DEVICEBeispiel
defmod lichtWohnzimmer MQTT2_DEVICEAnschließend wird auch für dieses Gerät wieder ein passendes template ausgewählt, wie als wäre es ein normales Zigbee2MQTT-Gerät.
Im anschließenden Dialog-Fenster welches sich nach dem Setzen des templates öffnet, müssen die folgenden Werte durch passendes ersetzt werden:
BASE_TOPIC -> zigbee2mqtt
DEV_ID -> <Zigbee2MQTT Friendly-Gruppenname>
Danach sollte sich die Gruppe wie ein normales Zigbee2MQTT Gerät steuern lassen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 19 Februar 2019, 13:14:45
Zu den Farbwerten: Wenn du die color_x und clor_y readings aktualisiert bekommst, müßte sich daraus auch ein Farbwert errechnen lassen. Ein userreading, das auf eine Änderung eines der beiden Werte triggert und Color::xyY2rgb nutzt, müßte eigentlich helfen, auch wenn ich noch keinen Schimmer habe, wo das große "Y" hernehmen...

@Beta-User: Hier noch etwas für das Anlegen von Zigbee2MQTT-Gruppen in FHEM, wie immer kannst du es gerne ins Wiki MQTT2 Praxisbeispiele übernehmen bzw. abändern/anpassen und verbessern wie du möchstest ;D
COOLE Sache mit den Gruppen!

Schade, dass man nicht auch die Gruppe(n) selbst mit MQTT anlegen kann (?)...

Den Rest schaue ich mir an, das sollte aber eigentlich auch einfacher gehen:
- entweder über das Bridge-Device (ähnlich wie rename), und/oder
- über ein template (anzuwenden auf das Bridge-Gerät, das das aber nicht verändert... - da fällt mir auf: Sowas müßte mit normalen Leuchtmitteln auch gehen...)

Wird aber etwas dauern, den Stick zu flashen wäre mal wieder Neuland...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ranseyer am 21 Februar 2019, 19:49:21
>Wird aber etwas dauern, den Stick zu flashen wäre mal wieder Neuland...

Kannst von mir einen aktuellen haben. Rest PN:...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 21 Februar 2019, 21:12:12
Kannst von mir einen aktuellen haben. Rest PN:...
Nett von dir :) .
Denke, das bekomme ich schon hin, das letzte Mal war nur der Debugger und dieses Adapterchen noch auf'm Schiff 8) . Ansonsten muß ich mich halt hinsetzen und es machen (kann kein Hexenwerk sein, und zigbee2mqtt muß ja auch passen), wird schon werden, bin da optimistisch ;D .
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ranseyer am 21 Februar 2019, 21:22:30
Das ist leicht wenn du weisst was du Flashen willst: Wenn du die HW hast: Den Stick zweifach anschliessen (verstehst du wenn du es vor dir hast) und die V1 und nicht V2 vom TI Flash-Programmer nehmen. (TI-Account erforderlich oder PN)

Dann musst du alle Zigbee-Geräte neu pairen oder: https://www.zigbee2mqtt.io/information/flashing_without_re-pairing.html
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 23 Februar 2019, 23:02:53
Zu den Farbwerten: Wenn du die color_x und clor_y readings aktualisiert bekommst, müßte sich daraus auch ein Farbwert errechnen lassen. Ein userreading, das auf eine Änderung eines der beiden Werte triggert und Color::xyY2rgb nutzt, müßte eigentlich helfen ...
Wer's schon mal testen will (Danke an justme1968 und KernSani für die Vorarbeit):
attr DEVICE userReadings hex:color_y.* {Color::xyY2hex(ReadingsVal($name,"color_x",0),ReadingsVal($name,"color_y",0),ReadingsVal($name,"brightness",254))}
Ist ab morgen im aktualisierten hex-template.
Wer entsprechend was für die rgb-Varianten liefern kann: nur her damit...
@Beta-User: Hier noch etwas für das Anlegen von Zigbee2MQTT-Gruppen in FHEM
Die drei Lampe<=>Gruppe "(de-)assoziierungs"-Befehle sind ab morgen im Bridge-template drin (Im Textfeld: Gruppenname Devicename (beides "friendly" bzw. nur Devicename bei x_rm_from_all_groups). Man braucht aber die entsprechenden Voraussetzungen wie im Beitrag von Richard angemerkt.

Viel Spaß erst mal damit, wer Anregungen hat: Gerne...

Gruß, Beta-User
 
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 25 Februar 2019, 15:26:22
Hallo zusammen,
kurze Frage an die, die das mit den Gruppen schon im Einsatz haben: Jetzt lassen sich zwar die Lampen gruppenweise "wie eine bulb" schalten, aber wenn man das macht, wird der Status der Gruppe nicht sauber akutalisiert, der bleibt im Prinzip auf dem "set_off" usw. stehen, ich sehe auch keine Erfolgsmeldung bei zigbee2mqtt, geschweige denn, dass da was über mqtt käme.
Gibts dafür schon eine Lösung?

Gruß, Beta-User
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: KernSani am 25 Februar 2019, 15:35:11
Hallo zusammen,
kurze Frage an die, die das mit den Gruppen schon im Einsatz haben: Jetzt lassen sich zwar die Lampen gruppenweise "wie eine bulb" schalten, aber wenn man das macht, wird der Status der Gruppe nicht sauber akutalisiert, der bleibt im Prinzip auf dem "set_off" usw. stehen, ich sehe auch keine Erfolgsmeldung bei zigbee2mqtt, geschweige denn, dass da was über mqtt käme.
Gibts dafür schon eine Lösung?

Gruß, Beta-User
Bei mir wird der Status der Gruppe teilweise aktualisiert. State, brightness und color kommen zurück, color_temp und saturation nicht.


Kurz, weil mobil
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: KernSani am 25 Februar 2019, 15:35:51
Hallo zusammen,
kurze Frage an die, die das mit den Gruppen schon im Einsatz haben: Jetzt lassen sich zwar die Lampen gruppenweise "wie eine bulb" schalten, aber wenn man das macht, wird der Status der Gruppe nicht sauber akutalisiert, der bleibt im Prinzip auf dem "set_off" usw. stehen, ich sehe auch keine Erfolgsmeldung bei zigbee2mqtt, geschweige denn, dass da was über mqtt käme.
Gibts dafür schon eine Lösung?

Gruß, Beta-User
Bei mir wird der Status der Gruppe teilweise aktualisiert. State, brightness und color kommen zurück, color_temp und saturation nicht.


Kurz, weil mobil
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 25 Februar 2019, 15:45:12
Bei mir wird der Status der Gruppe teilweise aktualisiert. State, brightness und color kommen zurück, color_temp und saturation nicht.
Hm, Danke für die Info, dann bin ich vielleicht irgendwie doch noch nicht auf dem allerletzten Stand? (sch.. npm) Mal schauen...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: KernSani am 25 Februar 2019, 16:56:59
Hm, Danke für die Info, dann bin ich vielleicht irgendwie doch noch nicht auf dem allerletzten Stand? (sch.. npm) Mal schauen...
Ich habe die FW von Januar am Laufen und zigbee2mqtt aus dem Dev-Branch (vor etwa 2 Wochen oder so...). Ich suche auch noch nach Wegen, die Einzel-Lampen der Gruppe zu aktualisieren  (theoretisch müsste es eigentlich gehen, die Gruppenadresse in die ReadingsList mit aufzunehmen, habe ich aber noch nicht ausprobiert)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 25 Februar 2019, 17:19:01
Na ja, ich dachte eigentlich, dass ich recht aktuell wäre, sonst würde das ja nach der Anleitung von Richard gar nicht gehen. (firmware vorgestern geflasht, und auch via npm ein update gezogen). Dann hat das Anlegen und Schalten der Gruppen ja funktioniert, allerdings habe ich das nur mit einer aus meinen beiden IKEAs (GU10) soweit getestet, dass ich das template für die Bridge ergänzen konnte, dann war das auf für den Tag genug...
Und beim Schalten dieser einen Gruppe kam dann halt weder off noch sonst was zurück. Also habe ich das erst mal mit dem Stand auf die Seite gepackt, für "später mal", und ganz genau analysiert, was jetzt genau wo aktualisiert wird, hatte ich auch nicht mehr, nur den Dienst manuell gestartet und auf der Konsole verfolgt, was rein- und rausgeht... Das war halt erst mal wenig.

Leider blicke ich bei diesem blöden npm-Gedönse nicht durch, was jetzt der dev-Stand sein soll und was der reguläre. Hatte bislang nicht die Muße, mich da einzudenken (eigentlich will ich ganz weg von diesem Java-Gelumpe, das darf derzeit nur auf einem Pi rumwerkeln >:( ), ist vermutlich auch nicht schwer, und "irgendwie" ging's ja schließlich auch...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ranseyer am 25 Februar 2019, 17:57:27
Zum Dev Stand : einfach aus dem Github holen. Z. B. auch per Browser als Zip herunterladen...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 25 Februar 2019, 18:04:46
Ähm, das ist jetzt hier zwar ziemlich OT, aber: (im Kern also) nix npm + Internet-Datenbank, einfach mit git das Repo clonen, auf dev-Zweig wechseln und dann wieder lokal npm irgendwas (install)?

(Muß mich mal einlesen, die config muß ich ja doch irgendwie sichern und so, aber das sind ja nur ein paar files... Trotzdem ist mir das insgesamt ein Dorn im Auge).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ranseyer am 25 Februar 2019, 19:19:37
Hier ist die Anleitung fürs Update. (Nr.6)
https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html

Statt dem hier:
Zitat
git checkout HEAD -- npm-shrinkwrap.json
git pull
Kannst du doch einfach einen beliebigen Stand hinterlegen.

Warum mach ich das so murksig ? Ich habe den Teil nicht verstanden: "-- npm-shrinkwrap.json" und ehrlich gesagt, ...  >:(


Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: R1k4rd am 27 Februar 2019, 13:57:57
Zitat
Zu den Farbwerten: Wenn du die color_x und clor_y readings aktualisiert bekommst, müßte sich daraus auch ein Farbwert errechnen lassen. Ein userreading, das auf eine Änderung eines der beiden Werte triggert und Color::xyY2rgb nutzt, müßte eigentlich helfen, auch wenn ich noch keinen Schimmer habe, wo das große "Y" hernehmen...
Das Y müsste für die Helligkeit stehen oder?

Zitat
Schade, dass man nicht auch die Gruppe(n) selbst mit MQTT anlegen kann (?)...
Öhm genau über das MQTT2 Device ging es erst nicht, dass hast du aber ja implementiert und soweit ich das gestern getestet habe funktioniert es auch, danke dafür (;

Zitat
attr DEVICE userReadings hex:color_y.* {Color::xyY2hex(ReadingsVal($name,"color_x",0),ReadingsVal($name,"color_y",0),ReadingsVal($name,"brightness",254))}Ist ab morgen im aktualisierten hex-template.
Wer entsprechend was für die rgb-Varianten liefern kann: nur her damit...
So ganz ist mir leider nicht klar was das Ganze machen soll :D es wandelt color_y sowie color_x die ich von Zigbee2MQTT bekomme in Hex um oder wie - dann müsste es doch eigentlich auch einfach mit den rgb templates gehen weil ich da ja auch color_y und x zurückbekomme und dann einfach aus den beiden ein neues reading hex angelegt wird oder nicht? Hab heute ein Fhem Update gemacht, ich glaube im hex template ist es noch nicht mit drin gewesen? Also zumindest im light_rgbcct_hex ist es noch nicht oder?

Zitat
Prinzip auf dem "set_off" usw. stehen, ich sehe auch keine Erfolgsmeldung bei zigbee2mqtt, geschweige denn, dass da was über mqtt käme.
Ist vielleicht etwas blöd die Frage aber wo sehe ich was alles am MQTT2-Server ankommt in Fhem? Und soweit ich weiß ist das für Gruppen bei Zigbee2MQTT einfach noch nicht implementiert worden das etwas zurückkommt?
eventuell hilft dir das hier:
attr <devicename> userReadings state {if(ReadingsVal("<devicename>","state","") eq "set_off") {return "off"} else {return "on"}}
@KernSani
Zitat
Bei mir wird der Status der Gruppe teilweise aktualisiert. State, brightness und color kommen zurück, color_temp und saturation nicht.
Hast du da selber noch irgendwas verändert oder wie funktioniert das bei dir? Also ich meine wo kommt es zurück, erhälst du state, brightness und color als reading bei dem device in Fhem oder siehst du einfach das Zigbee2MQTT etwas an den MQTT2-Server schickt? Ich hatte gestern extra nochmal ein Update bei Zigbee2MQTT gemacht um wirklich auf dem aktuellsten Stand zu sein allerdings erhalte ich wie Beta-User auch keine Rückmeldung?

Und an alle, hat es jemand hinbekommen readings wie
READINGS:
     2019-02-14 14:30:50   associatedWith  mqttZigbee
     2019-02-27 13:44:42   brightness      set 160
     2019-02-27 13:44:37   color           set 59ff91
     2019-02-27 13:44:40   color_temp      set 496
     2019-02-27 13:44:42   color_x         0.195
     2019-02-27 13:44:42   color_y         0.55
     2019-02-27 13:44:42   state           ON
Attributes:
   IODev      mqttServer
   devStateIcon {zigbee2mqtt_devStateIcon255($name)}
   gassistantName Licht Schrank
   genericDeviceType light
   group      Beleuchtung
   model      L_02e_zigbee2mqtt_light_rgbcct_rgb
   readingList zigbee2mqtt/rgbcct01:.* { json2nameValue($EVENT) }
   realRoom   Richard
   room       Beleuchtung,Sprachsteuerung
   setList    on:noArg zigbee2mqtt/rgbcct01/set {"state":"ON"}
  off:noArg zigbee2mqtt/rgbcct01/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,5,255 zigbee2mqtt/rgbcct01/set {"state":"on","$EVTPART0":"$EVTPART1"}
  color_temp:colorpicker,CT,154,2,500 zigbee2mqtt/rgbcct01/set {"$EVTPART0":"$EVTPART1"}
  color:colorpicker,RGB {"zigbee2mqtt/rgbcct01/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
   setStateList on off
   stateFormat {lc ReadingsVal("$name","state",0)}
   webCmd     brightness:color_temp:color:color_temp 500:color_temp 346:color_temp 154
als normale Werte ohne dem "set" davor zu bekommen?
Wenn ich halt setStateList on off setze erhalte ich diese readings mit dem "set" davor aber sind das jetzt wirklich Rückmeldungen von Zigbee2MQTT oder einfach nur halt weil ich diese Werte in Fhem setze? Ich habe das Ganze jetzt mit folgenden userReadings zu "normalen" Werten bekommen ohne dem "set", bin mir aber halt unsicher ob das so der richtig Weg ist.
state {if(ReadingsVal($name,"state","") eq "OFF") {return "off"} else {return "on"}},
brightness {(split ' ',ReadingsVal($name,"brightness",0))[1]},
color {(split ' ',ReadingsVal($name,"color",0))[1]},
color_temp {(split ' ',ReadingsVal($name,"color_temp",0))[1]},
damit sieht es dann so bei mir aus:
READINGS:
     2019-02-14 14:30:50   associatedWith  mqttZigbee
     2019-02-27 13:55:40   brightness      255
     2019-02-27 13:55:44   color           ffff5e
     2019-02-27 13:55:42   color_temp      352
     2019-02-27 13:55:46   color_x         0.427
     2019-02-27 13:55:46   color_y         0.49
     2019-02-27 13:55:46   state           on
Attributes:
   IODev      mqttServer
   devStateIcon {zigbee2mqtt_devStateIcon255($name)}
   gassistantName Licht Schrank
   genericDeviceType light
   group      Beleuchtung
   model      L_02e_zigbee2mqtt_light_rgbcct_rgb
   readingList zigbee2mqtt/rgbcct01:.* { json2nameValue($EVENT) }
   realRoom   Richard
   room       Beleuchtung,Sprachsteuerung
   setList    on:noArg zigbee2mqtt/rgbcct01/set {"state":"ON"}
  off:noArg zigbee2mqtt/rgbcct01/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,5,255 zigbee2mqtt/rgbcct01/set {"state":"on","$EVTPART0":"$EVTPART1"}
  color_temp:colorpicker,CT,154,2,500 zigbee2mqtt/rgbcct01/set {"$EVTPART0":"$EVTPART1"}
  color:colorpicker,RGB {"zigbee2mqtt/rgbcct01/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
   setStateList on off
   stateFormat {lc ReadingsVal("$name","state",0)}
   userReadings state {if(ReadingsVal("lichtSchrank","state","") eq "OFF") {return "off"} else {return "on"}},
brightness {(split ' ',ReadingsVal("lichtSchrank","brightness",0))[1]},
color {(split ' ',ReadingsVal("lichtSchrank","color",0))[1]},
color_temp {(split ' ',ReadingsVal("lichtSchrank","color_temp",0))[1]}
   webCmd     brightness:color_temp:color:color_temp 500:color_temp 346:color_temp 154

Beste Grüße Richard
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 27 Februar 2019, 14:13:39
Das Y müsste für die Helligkeit stehen oder?
Yup, korrekt, habe das zwischenzeitlich auch gefunden, deswegen ist auch so schon in dem einen template drin, aber vermutlich noch nicht in allen (insbes. light_rgbcct_hex nicht). Aber da sollte das userreading eigentlich auch gehen, das macht genau das, dass aus x,y und der Brightness hex abgeleitet wird. Paßt ganz gut bei meiner tint, abgesehen von den reinen Weißtönen, das ist m.E. etwas zu farbig, aber akzeptabel.
Ich habe das nur nicht größer ausgerollt, weil ich nur den einen Typ habe. Wenn ihr getestete Ergänzungen zu den anderen habt: wie immer her damit...
Zitat
Ist vielleicht etwas blöd die Frage aber wo sehe ich was alles am MQTT2-Server ankommt in Fhem? Und soweit ich weiß ist das für Gruppen bei Zigbee2MQTT einfach noch nicht implementiert worden das etwas zurückkommt?
Kommt wohl auch auf den Entwicklungsstand an, da ist scheinbar ziemlich Bewegung drin im Moment. Der Server wird gesprächig, wenn man dort das rawEvents-Attribut füllt (.*, z.B.) und den Event-Monitor nutzt.
Zitat
eventuell hilft dir das hier:
attr <devicename> userReadings state {if(ReadingsVal("<devicename>","state","") eq "set_off") {return "off"} else {return "on"}}
Thx, gute Idee, teste ich bei Gelegenheit, allerdings kommt mir der Trigger noch großzügig vor ("state:state.*set_.*").

Ich habe die FW von Januar am Laufen und zigbee2mqtt aus dem Dev-Branch (vor etwa 2 Wochen oder so...). Ich suche auch noch nach Wegen, die Einzel-Lampen der Gruppe zu aktualisieren  (theoretisch müsste es eigentlich gehen, die Gruppenadresse in die ReadingsList mit aufzunehmen, habe ich aber noch nicht ausprobiert)
Das mache ich bei den MiLights so und ist dafür auch in den templates so zu finden. Ohne das hier auch getestet zu haben: Funktioniert ziemlich sicher.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: R1k4rd am 28 Februar 2019, 14:40:02
Zitat
Zitat
Zitat von: KernSani am 25 Februar 2019, 16:56:59
Ich habe die FW von Januar am Laufen und zigbee2mqtt aus dem Dev-Branch (vor etwa 2 Wochen oder so...). Ich suche auch noch nach Wegen, die Einzel-Lampen der Gruppe zu aktualisieren  (theoretisch müsste es eigentlich gehen, die Gruppenadresse in die ReadingsList mit aufzunehmen, habe ich aber noch nicht ausprobiert)
Das mache ich bei den MiLights so und ist dafür auch in den templates so zu finden. Ohne das hier auch getestet zu haben: Funktioniert ziemlich sicher.
Ja funktionieren sollte es, hab es probiert allerdings bekomme ich ja für eine Gruppe keine Rückgabe über MQTT aus dem Grund ändert sich auch nichts, erneut die Frage wie bekommen hier teilweise einige Rückgaben für Gruppen?

Zu xyY2hex das funktioniert bei meinen Lampen auch, wie schon gesagt es müsste überall da funktionieren wo ein Leuchtmittel mit RGB verwendet wird. Allerdings ist mir aufgefallen das die Eingabe ≠ Ausgabe ist, heißt soviel wie ich setze z.B ein Grün (44FF00) und erhalte dann zurückgerechnet mit den Werten aus color_x sowie color_y folgenden Wert: 62FF17. Klar es ist beides ein Grün und eine Änderung der Lichtfarbe ist nicht zu erkennen aber wo liegt da jetzt der Fehler? Rechnet xyY2hex falsch um oder liegt es daran das Zigbee2MQTT nicht alle beliebigen Farben darstellen kann und aus dem Grund irgendwie rundet und einen ähnlichen Farbton darstellt? Und anschließend dann halt die geänderten Werte auch in color_x und color_y zurückgibt und xyY2hex daraus dann richtig den hex Wert berechnet? Ist das auch bei den hex templates der Fall oder klappt es dort ohne Probleme? Bei den rgb-templates die ich verwende wird zumal ja auch nochmal umgerechnet weil er hex Werte zu rgb umwandelt damit die Leuchtmittel steuerbar sind.

Und dann noch vielleicht eine ganz andere Frage und zwar wo kann ich mir etwas über json2nameValue anlesen bzw. wie es funktioniert oder an welcher Stelle kann ich es testweise nach meinen Wünschen anpassen usw? Es kommt ja unter anderem bei readingList vor:
zigbee2mqtt/rgbcct04:.* { json2nameValue($EVENT) }
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 28 Februar 2019, 15:16:38
Ja funktionieren sollte es, hab es probiert allerdings bekomme ich ja für eine Gruppe keine Rückgabe über MQTT aus dem Grund ändert sich auch nichts, erneut die Frage wie bekommen hier teilweise einige Rückgaben für Gruppen?
So wie ich das verstanden habe, sollte man zigbee2mqtt auf den letzten Stand (dev-Version) bringen, aber dazu bin ich auch noch nicht gekommen. Aber selbst dann scheint es ggf. noch das eine oder andere Problem zu geben. Es gibt dazu auch einen Thread im zigbee-Bereich (?).

Zitat
Zu xyY2hex [...]
...kann ich wenig sagen; ich hab's so eingebaut, wie das auf die Schnelle plausibel war. Ggf. bitte auch bei den Codeschnipseln mal nachhaken, da kommt der Ausgangscode von KernSani her, der dann in Color.pm gelandet ist.Ganz allgemein: zigbee2mqtt scheint halt nicht in RGB zu "denken", sondern in xyY. Dabei wird es immer zu Umrechnungsproblemen kommen, weil eben auf jeder Stufe gerechnet wird (erst FHEM, dann zigbee2mqtt, dann die Bulb, dann das ganze zurück...).
Aufgrund der Rundungsdifferenzen, die sich schon bei den normalen brightness-Werten zeigen, gehe ich davon aus, dass zigbee2mqtt z.B. intern mit %-Werten arbeitet, aber nach außen mit 0-255, vermutlich weil OpenHAB oä. das gerne so haben möchte und keine %-Werte.
Zitat
Und dann noch vielleicht eine ganz andere Frage und zwar wo kann ich mir etwas über json2nameValue anlesen bzw. wie es funktioniert oder an welcher Stelle kann ich es testweise nach meinen Wünschen anpassen usw? Es kommt ja unter anderem bei readingList vor:
zigbee2mqtt/rgbcct04:.* { json2nameValue($EVENT) }
Das ist eine allgemeine Funktion aus fhem.pl (?), die in mehreren Formen anzutreffen sein kann. Die lange: json2nameValue(JSON-Input, prefix, JSONMAP).
In der Regel benötigt man die lange Form nur bei sehr komplexen Geräten, im Moment kannst du das ggf. am ehesten nachvollziehen, wenn du die template-Beispiele zum ebus ansiehst (ist ein von user Reinhart gestarteter Thread). Wenn ich supporter dazu finde, werde ich versuchen, auch dazu was in die templates einzubauen.
Ansonsten ist es _immer_ so, dass der JSON-Input eigentlich schon alle Infos enthält, über JSONMAP kannst du die sich aus den JSON-Vorgaben ergebenden Readingnamen dann ggf. anpassen, aber nichts umrechnen oder so. Dazu benötigt man dann eben das userreading.

(Ich hoffe, das einigermaßen verständlich erklärt zu haben...)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: R1k4rd am 28 Februar 2019, 18:09:05
Zitat
So wie ich das verstanden habe, sollte man zigbee2mqtt auf den letzten Stand (dev-Version) bringen, aber dazu bin ich auch noch nicht gekommen. Aber selbst dann scheint es ggf. noch das eine oder andere Problem zu geben. Es gibt dazu auch einen Thread im zigbee-Bereich (?).
Ok dann werde ich erstmal warten und schauen was so kommt (;

Könntest du dir vielleicht noch ein Device parallel anlegen und mit deiner Lampe mal folgendes testen und mir sagen wie es dir gefällt bzw. ob alles funktioniert, dann würde ich vielleicht nochmal alle templates ein wenig danach anpassen:
Attributes:
   IODev      mqttServer
   devStateIcon {zigbee2mqtt_devStateIcon255($name)}
   model      L_02c_zigbee2mqtt_light_rgb_hex
   readingList zigbee2mqtt/testdevice:.* { json2nameValue($EVENT) }
   setList    on:noArg zigbee2mqtt/testdevice/set {"state":"ON"}
  off:noArg zigbee2mqtt/testdevice/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,5,255 zigbee2mqtt/testdevice/set {"state":"on","brightness":"$EVTPART1"}
  color:colorpicker,HEX,0,15,255 zigbee2mqtt/testdevice/set {"state":"on","color":{"hex":"#$EVTPART1"}}
   setStateList on off
   stateFormat {lc ReadingsVal("$name","state",0)}
   userReadings state {if(ReadingsVal($name,"state","") eq "OFF") {return "off"} else {return "on"}},
brightness {(split ' ',ReadingsVal($name,"brightness",0))[1]},
color:color_y.* {Color::xyY2hex(ReadingsVal($name,"color_x",0),ReadingsVal($name,"color_y",0),ReadingsVal($name,"brightness",255))}
   webCmd     toggle:on:off:brightness:color

Und danke für die Informationen zu json2nameValue, ich werde mal schauen was ich da so noch zu herausfinde bzw. hinbekomme um die readings ohne das setzen der userReadings richtig angezeigt zu bekommen  ;D
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Omega am 02 März 2019, 10:11:26
Grundsätzlich läuft zigbee2mqtt recht gut – danke dafür.

Allerdings – zumindest bei mir – übersteht es keinen Reboot des Systems ohne händischen Eingriff.
Der Dienst zigbee2mqtt (aktuell bei mir noch die Version 1.0.1) steht zwar im Status „active (running)“ aber nach dem 2. Startversuch von zigbee-shepherd kommt die Meldung:
Press the reset button on the stick (the one closest to the USB) and start again
Ziehe ich dann den Stick ab, stecke in neu an und starte zigbee2mqtt erneut, funktioniert alles wieder wie zuvor.

Mein System: Debian 8.11 in einer VM, FHEM ist aktuell.

Meine Frage: bin ich der Einzige mit diesem Problem oder haben andere es auch (ggf. mit welcher Lösung)?

LG
Holger
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Tom71 am 03 März 2019, 19:43:53
Ich habe gelesen, dass der Osram Plug (AB3257001NJ ) mit zigbee2mqtt laufen laufen soll. Ich habe bereits 2 Stück probiert, aber leider ohne Erfolg.
Ich habe einen CC2531 und zigbee2mqtt und halte am Plug den Einschalter für ca. 10sec gedrückt. Dann klackt der Schalter. Im log von zigbee2mqtt kann ich aber kein neues Device erkennen.
Andere Geräte (Xiaomi MiJia und Müller Licht Tint LED bulb) konnte ich ohne Probleme anlernen.

Firmware auf dem Stick ist: 20190109

Habt ihr noch einen Tip für mich?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Ralf W. am 03 März 2019, 19:48:05
Nach klacken (Werkseinstellung) stromlos machen, einen Moment warten und einstecken. Dann wird er erkannt.


Gesendet von meinem SM-T585 mit Tapatalk

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Tom71 am 03 März 2019, 19:57:05
Nein, leider nicht. Keine Reaktion im log.
zigbee2mqtt hat auch aktuelle Version 1.1.1

Nach klacken (Werkseinstellung) stromlos machen, einen Moment warten und einstecken. Dann wird er erkannt.
Gesendet von meinem SM-T585 mit Tapatalk
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Tom71 am 03 März 2019, 20:45:18
(https://uploads.tapatalk-cdn.com/20190303/8ca3a815672f1babc5bde4f2eef5de3b.jpg)

Diesen Plug habe ich.

Update: Jetzt hat es geklappt. Ich hatte den Plug vermutlich immer zu kurz vom Netz genommen, nach dem Reset.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 04 März 2019, 18:49:13
Hallo,

ich habe den Stick nach dieser Anleitung auf meinem Intel Nuc Ubuntu 18.04 installiert.
https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html (https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html)

Die Installation wird mit dieser Meldung beendet:
dieter@intelnuc:/opt/zigbee2mqtt$ npm install
audited 1596 packages in 3.298s
found 2 moderate severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details

┌──────────────────────────────────────────────────────────┐
│                 npm update check failed                  │
│           Try running with sudo or get access            │
│           to the local update config store via           │
│ sudo chown -R $USER:$(id -gn $USER) /home/dieter/.config │
└──────────────────────────────────────────────────────────┘

Leider kann ich ihn nicht starten:
dieter@intelnuc:/opt/zigbee2mqtt$ npm start

> zigbee2mqtt@1.1.1 start /opt/zigbee2mqtt
> node index.js

  zigbee2mqtt:info 2019-3-4 18:28:22 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-03-04.18-28-22'
  zigbee2mqtt:info 2019-3-4 18:28:22 Starting zigbee2mqtt version 1.1.1 (commit #92d88b6)
  zigbee2mqtt:info 2019-3-4 18:28:22 Starting zigbee-shepherd
  zigbee2mqtt:info 2019-3-4 18:28:22 Error while starting zigbee-shepherd, attemping to fix... (takes 60 seconds)
  zigbee2mqtt:info 2019-3-4 18:29:22 Starting zigbee-shepherd
  zigbee2mqtt:error 2019-3-4 18:29:22 Error while starting zigbee-shepherd!
  zigbee2mqtt:error 2019-3-4 18:29:22 Press the reset button on the stick (the one closest to the USB) and start again
  zigbee2mqtt:error 2019-3-4 18:29:22 Failed to start
        {"message":"Error: Permission denied, cannot open /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B00193B05E3-if00","stack":"Error: Error: Permission denied, cannot open /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B00193B05E3-if00"}
^C  zigbee2mqtt:error 2019-3-4 18:30:42 Not connected to MQTT server!
  zigbee2mqtt:error 2019-3-4 18:30:42 Cannot send message: topic: 'zigbee2mqtt/bridge/state', payload: 'offline
  zigbee2mqtt:info 2019-3-4 18:30:42 zigbee-shepherd stopped

Reset Button, Server neu gestartet, Rechte (sudo chown -R dieter:dieter /opt/zigbee2mqtt) vergebn, alles mehrfach versucht.

Die configuration.yaml sieht so aus:
# Home Assistant integration (MQTT discovery)
homeassistant: false

# allow new devices to join
permit_join: false

# MQTT settings
mqtt:
  client_id: 'zigbee_stick'
  # MQTT base topic for zigbee2mqtt MQTT messages
  base_topic: zigbee2mqtt
  # MQTT server URL
  server: 'mqtt://localhost'
  # MQTT server authentication, uncomment if required:
  # user:
  # password:

# Serial settings
serial:
  # Location of CC2531 USB sniffer
  port: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B00193B05E3-if00

Ich konnte ihn einmal starten und es wurde das Device angelegt:
defmod MQTT2_zigbee_stick MQTT2_DEVICE zigbee_stick
attr MQTT2_zigbee_stick IODev MQTT2_Server
attr MQTT2_zigbee_stick bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee_stick getList devicelist:noArg log zigbee2mqtt/bridge/config/devices\
  networkmap_raw:noArg raw zigbee2mqtt/bridge/networkmap raw\
  networkmap_graphviz:noArg graphviz zigbee2mqtt/bridge/networkmap graphviz
attr MQTT2_zigbee_stick model L_01_zigbee2mqtt_bridge
attr MQTT2_zigbee_stick 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) }
attr MQTT2_zigbee_stick room MQTT2_DEVICE
attr MQTT2_zigbee_stick 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\
  rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
  x_add_to_group:textField zigbee2mqtt/bridge/group/$EVTPART1/add $EVTPART2\
  x_rm_from_group:textField zigbee2mqtt/bridge/group/$EVTPART1/remove $EVTPART2\
  x_rm_from_all_groups:textField zigbee2mqtt/bridge/group/$EVTPART1/remove_all $EVTPART2
attr MQTT2_zigbee_stick setStateList on off

setstate MQTT2_zigbee_stick offline
setstate MQTT2_zigbee_stick 2019-03-04 18:24:31 state offline

Hier noch das MQTT2_Server Device:
defmod MQTT2_Server MQTT2_SERVER 1883 global
attr MQTT2_Server autocreate 1
attr MQTT2_Server disable 0
attr MQTT2_Server icon mqtt
attr MQTT2_Server room System

setstate MQTT2_Server 2019-03-04 18:24:31 RETAIN {"zigbee2mqtt/bridge/state":"offline"}
setstate MQTT2_Server 2019-03-04 18:24:31 nrclients 0
setstate MQTT2_Server 2019-03-04 18:22:25 state Initialized

Wäre für Hilfe sehr dankbar und liefere auch gerne weitere Infos.
VG Dieter
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Tom71 am 04 März 2019, 19:14:03
Hallo Dieter,

2 Fragen :
- welche Ausgabe hat ls -la /dev/serial/by-id/
- läuft dein MQTT-Server auf dem gleichen host?

Ich starte zigbee2mqtt als root. Also "sudo npm start", bzw. habe es als service eingerichtet.

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 04 März 2019, 19:20:07
Hallo Dieter,

2 Fragen :
- welche Ausgabe hat ls -la /dev/serial/by-id/
- läuft dein MQTT-Server auf dem gleichen host?

Ich starte zigbee2mqtt als root. Also "sudo npm start", bzw. habe es als service eingerichtet.

dieter@intelnuc:~$ ls -la /dev/serial/by-id/
total 0
drwxr-xr-x 2 root root 80 Mär  4 18:22 .
drwxr-xr-x 4 root root 80 Mär  4 18:22 ..
lrwxrwxrwx 1 root root 13 Mär  4 18:22 usb-busware.de_CUL868-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Mär  4 18:22 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B00193B05E3-if00 -> ../../ttyACM1

Ja, läuft alles auf dem Nuc.

Mit sudo hatte ich schon mehrfach versucht, sieht dann so aus:
dieter@intelnuc:/opt/zigbee2mqtt$ sudo npm start

> zigbee2mqtt@1.1.1 start /opt/zigbee2mqtt
> node index.js

  zigbee2mqtt:info 2019-3-4 19:16:28 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-03-04.19-16-28'
  zigbee2mqtt:info 2019-3-4 19:16:28 Starting zigbee2mqtt version 1.1.1 (commit #92d88b6)
  zigbee2mqtt:info 2019-3-4 19:16:28 Starting zigbee-shepherd
  zigbee2mqtt:info 2019-3-4 19:16:29 zigbee-shepherd started
  zigbee2mqtt:info 2019-3-4 19:16:29 Coordinator firmware version: '20181024'
  zigbee2mqtt:info 2019-3-4 19:16:29 Currently 0 devices are joined:
  zigbee2mqtt:info 2019-3-4 19:16:29 Zigbee: disabling joining new devices.
  zigbee2mqtt:info 2019-3-4 19:16:29 Connecting to MQTT server at mqtt://localhost
  zigbee2mqtt:info 2019-3-4 19:16:29 zigbee-shepherd ready
events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: Connection refused: Bad username or password
    at MqttClient._handleConnack (/opt/zigbee2mqtt/node_modules/mqtt/lib/client.js:920:15)
    at MqttClient._handlePacket (/opt/zigbee2mqtt/node_modules/mqtt/lib/client.js:350:12)
    at work (/opt/zigbee2mqtt/node_modules/mqtt/lib/client.js:292:12)
    at Writable.writable._write (/opt/zigbee2mqtt/node_modules/mqtt/lib/client.js:302:5)
    at doWrite (/opt/zigbee2mqtt/node_modules/readable-stream/lib/_stream_writable.js:428:64)
    at writeOrBuffer (/opt/zigbee2mqtt/node_modules/readable-stream/lib/_stream_writable.js:417:5)
    at Writable.write (/opt/zigbee2mqtt/node_modules/readable-stream/lib/_stream_writable.js:334:11)
    at Socket.ondata (_stream_readable.js:667:20)
    at Socket.emit (events.js:189:13)
    at addChunk (_stream_readable.js:284:12)
Emitted 'error' event at:
    at MqttClient._handleConnack (/opt/zigbee2mqtt/node_modules/mqtt/lib/client.js:922:10)
    at MqttClient._handlePacket (/opt/zigbee2mqtt/node_modules/mqtt/lib/client.js:350:12)
    [... lines matching original stack trace ...]
    at addChunk (_stream_readable.js:284:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.1.1 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.1.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/dieter/.npm/_logs/2019-03-04T18_16_29_506Z-debug.log

Service habe ich auch eingerichtet. Startet natürlich auch nicht.

Danke schon mal für deine Unterstützung.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Tom71 am 04 März 2019, 19:58:24
Error: Connection refused: Bad username or password

Hast du auf dem mosquitto server ein passwort eingerichtet? Du kannst auch mal ein
mosquitto_pub -h localhost  -t topic -m 'message'
ausführen, um zu sehen, ob der mosquitto server richtig läuft.
Läuft der mosquitto server innerhalb von fhem oder als eigener service?

Was du auch noch machen kannst, ist mehr debug vom zigbee2mqtt in der configuration.yaml:

..
advanced:
  log_level: debug
serial:
 ...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 04 März 2019, 20:10:34
Error: Connection refused: Bad username or password

Hast du auf dem mosquitto server ein passwort eingerichtet? Du kannst auch mal ein
mosquitto_pub -h localhost  -t topic -m 'message'
ausführen, um zu sehen, ob der mosquitto server richtig läuft.
Läuft der mosquitto server innerhalb von fhem oder als eigener service?

Was du auch noch machen kannst, ist mehr debug vom zigbee2mqtt in der configuration.yaml:

..
advanced:
  log_level: debug
serial:
 ...

mosquitto?
Habe ich nicht. Muss ich den installieren?
Dachte das läuft mit dem MQTT2_Server.
Und auf dem habe ich kein Passwort eingerichtet. Danach habe ich auch schon gesucht, aber nichts gefunden. Wie richte ich das ein?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 04 März 2019, 20:24:41
man kann die mosquitto-client-Dinge auch nutzen mit MQTT2_SERVER. Und nein, man braucht keinen externen Server...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 04 März 2019, 20:30:01
Konnte es jetzt starten.
Ich hatte bei allowed web den MQTT2_Server eingetragen.
Habe ihn jetzt entfernt.
Aber wie richte ich das richtig ein in allowed?

Und was heiß "man braucht keinen externen Server"?

Edit:
Kann es auch nur mit sudo starten.
Wie baue ich sudo hier ein?
[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
StandardError=inherit
Restart=always
User=dieter

[Install]
WantedBy=multi-user.target
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 04 März 2019, 22:29:32
Sorry, aber irgendwie stehe jetzt ich bei den Fragen auf dem Schlauch:

allowed bedeutet: Jeder MQTT-Client (also Geräte von "außerhalb FHEM", die was an den MQTT2_SERVER liefern wollen), müssen sich anmelden (üblicherweise mit user+passwort).

"man braucht keinen externen Server" heißt: In jeder MQTT-Welt gibt es (mindetens) einen Server, der die zentrale Verwaltung der Daten macht, früher mal Broker genannt. Bevor es MQTT2_SERVER gab, mußte das ein separater Dienst sein, jetzt kann das MQTT2_SERVER als FHEM-Modul "intern" übernehmen. Aus Sicht jedes anderen Geräts von "außerhalb" ist es (ziemlich) egal, ob jetzt MQTT2_SERVER die Daten entgegennimmt oder z.B. mosquitto.

Da mosquitto_sub und mosquitto_pub auch nur (software)-Geräte simulieren, kann man die auch mit MQTT2_SERVER nutzen (was aber wenig Sinn macht, da man z.B. rawEvents am MQTT2_SERVER anschalten kann und dann auch den ganzen Verkehr auf der MQTT-Seite sehen kann...).

Steht aber alles im FHEM-Wiki bei den MQTT2-Artikeln; Verbesserungsvorschläge dazu bitte im Wiki-Bereich des Forums ;) .
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 05 März 2019, 05:55:41
Guten Morgen,

danke für die ausführliche Erklärung. Genau so habe ich es auch verstanden, nach dem ich mich durch den Wiki Artikel gearbeitet hatte  ;)
Unverständlich war für mich hier nur deine Aussage "man braucht keinen externen Server".

Meine Fragen waren aber 2 andere.

1. Wie und wo genau trage ich den MQTT2_Server in allowed ein?
    Einfach nur in allowed web den Haken bei MQTT2_Server setzen?
    Ist dann meine basicAuth das Passwort das ich die yaml. eintragen muss?

2. Da ich zigbee2mqtt, warum auch immer, nur mit sudo starten kann, wie trage ich das sudo in die zigbee2mqtt.service Datei ein?

VG Dieter
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 05 März 2019, 09:31:58
Zitat
    Einfach nur in allowed web den Haken bei MQTT2_Server setzen?
Und dafuer sorgen, dass allowed ein "set allowed basicAut username passwort" ausgefuehrt wurde.
Das merkt man daran, das danach ein basicAuth Attribut mit SHA am Anfang erzeugt ist.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 05 März 2019, 09:39:20
Und dafuer sorgen, dass allowed ein "set allowed basicAut username passwort" ausgefuehrt wurde.
Das merkt man daran, das danach ein basicAuth Attribut mit SHA am Anfang erzeugt ist.

Das habe ich ja bereits für web gemacht.
Meine Frage ist ja, muss die basicAut mit dem SHA am Anfang in die yaml. oder das "reale" Passwort?
Ich habe nämlich schon beides versucht, klappt aber nicht.

Und gibt es hierzu auch einen Tipp?  ;)
Da ich zigbee2mqtt, warum auch immer, nur mit sudo starten kann, wie trage ich das sudo in die zigbee2mqtt.service Datei ein?
Wäre sehr nett und hilfreich.

Danke und VG
Dieter
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 05 März 2019, 10:01:52
Und gibt es hierzu auch einen Tipp?  ;)
Da ich zigbee2mqtt, warum auch immer, nur mit sudo starten kann, wie trage ich das sudo in die zigbee2mqtt.service Datei ein?
Tippen würde ich auf ein Rechteproblem.
Also: Welche Rechte sind für /opt/zigbee2mqtt vergeben? Es gibt da eine Anleitung auf zigbee2mqtt.io, wo das abgehandelt ist, wenn du andere user nutzt, mußt du das ggf. anpassen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 05 März 2019, 10:15:24
Tippen würde ich auf ein Rechteproblem.
Also: Welche Rechte sind für /opt/zigbee2mqtt vergeben? Es gibt da eine Anleitung auf zigbee2mqtt.io, wo das abgehandelt ist, wenn du andere user nutzt, mußt du das ggf. anpassen.

Ja, 1:1 an diese Anleitung habe ich mich gehalten. Nur eben anstatt user pi den user dieter verwendet.
Die Rechte habe ich dann so gesetzt:
sudo chown -R dieter:dieter /opt/zigbee2mqtt
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 05 März 2019, 10:31:47
Ja, 1:1 an diese Anleitung habe ich mich gehalten. Nur eben anstatt user pi den user dieter verwendet.
Die Rechte habe ich dann so gesetzt:
sudo chown -R dieter:dieter /opt/zigbee2mqtt
Why? M.E. sollte das der "normale" admin-User sein; du hast vermutlich auch einen user pi (unterstellt, du bist auf einem Pi; sonst wäre das eben der User, der für admin-Zwecke "eigentlich" angelegt wurde; das scheint jedenfalls nicht dieter zu sein)

Im Übrigen ist das hier ziemlich OT. Bitte ggf. einen separaten Thread aufmachen bzw. bei kkoenk nachfragen!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 05 März 2019, 11:13:13
Ok, dann abschließend zur Rechtefrage.
Ich habe auf einem Intel Nuc Ubuntu 18.04 installiert und hierbei den user dieter angelegt.
Unter diesem user habe ich auch alles nach der Anleitung ausgeführt. War das falsch?
Auch wenn ziemlich OT wäre ich für Hilfe dankbar das ich mit dem eigentlichen Thema weiter komme.
Danke.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 05 März 2019, 11:22:30
M.E. ist das für einen Debian-Rechner an sich richtig so; es gibt dann aber root und dieter, wobei root anders als bei raspbian nicht deaktiviert ist.

An sich sollte das dann aber ähnlich einzurichten sein wie bei FHEM: da wird durch das deb-Paket ein spezieller user eingerichtet, und der hat dann auch das Recht, den (FHEM-) Dienst zu starten. Würde daher vorschlagen, das Verzeichnis mit einem neuen user (zigtomqtt) zu berechtigen (zigtomqtt:dialout), diesen user der Gruppe dialout hinzuzufügen (sonst darf er den stick nicht nutzen, was ggf. hier auch das Problem ist) und dann mal zu recherchieren, was sonst noch erforderlich ist, dass systemd das frißt. "sudo" darf dabei m.E. nicht vorkommen, aber ich bin da auch nicht der Spezialist und muß sowas auch erst recherchieren...

Bitte ggf. ein gesondertes Thema aufmachen (gehört m.E. nach zigbee, wenn du unbedingt hier im Forum bleiben willst. Kannst gerne einen Link von hier dahin setzen.)

EDIT: ggf. hilft das hier, was die Angabe der Rechte usw. angeht: https://forum.fhem.de/index.php?topic=54271.0
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 09 März 2019, 17:46:29
Hallo,

muss hier noch mal nachfragen.
Nach Anpassung von Rechten habe ich es mittlerweile zum laufen gebracht. Auch ohne sudo.
Einzig die Aktivierung von ssl funktioniert nicht.
Sobald ich im MQTT2_Server ssl 1 und sslVersion SSLv23:!SSLv3:!SSLv2 oder TLSv12:!SSLv3 setze, erhalte ich im Sekundentakt diese Meldung und der Stick bleibt offline:

MQTT2_SERVER SSL/HTTPS error:  SSL accept attempt failed error:1408F10B:SSL routines:ssl3_get_record:wrong version number (peer: 127.0.0.1)
In global ist die sslVersion SSLv23:!SSLv3:!SSLv2 gesetzt.

Und falls das relevant ist, bei einem Neustart von Fhem erhalte ich diese Meldung:

FHEMWEB SSL/HTTPS error:  SSL accept attempt failed error:1408F09C:SSL routines:ssl3_get_record:http request (peer: 192.xxx.xxx.xx)(IP vom Ubuntu Server auf dem Fhem läuft)

Kann mir hierbei jemand weiterhelfen?

Danke un VG
Dieter
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 10 März 2019, 06:07:51
Ok dann werde ich erstmal warten und schauen was so kommt (;

Könntest du dir vielleicht noch ein Device parallel anlegen und mit deiner Lampe mal folgendes testen und mir sagen wie es dir gefällt bzw. ob alles funktioniert, dann würde ich vielleicht nochmal alle templates ein wenig danach anpassen:
Attributes:
   IODev      mqttServer
   devStateIcon {zigbee2mqtt_devStateIcon255($name)}
   model      L_02c_zigbee2mqtt_light_rgb_hex
   readingList zigbee2mqtt/testdevice:.* { json2nameValue($EVENT) }
   setList    on:noArg zigbee2mqtt/testdevice/set {"state":"ON"}
  off:noArg zigbee2mqtt/testdevice/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,5,255 zigbee2mqtt/testdevice/set {"state":"on","brightness":"$EVTPART1"}
  color:colorpicker,HEX,0,15,255 zigbee2mqtt/testdevice/set {"state":"on","color":{"hex":"#$EVTPART1"}}
   setStateList on off
   stateFormat {lc ReadingsVal("$name","state",0)}
   userReadings state {if(ReadingsVal($name,"state","") eq "OFF") {return "off"} else {return "on"}},
brightness {(split ' ',ReadingsVal($name,"brightness",0))[1]},
color:color_y.* {Color::xyY2hex(ReadingsVal($name,"color_x",0),ReadingsVal($name,"color_y",0),ReadingsVal($name,"brightness",255))}
   webCmd     toggle:on:off:brightness:color

Und danke für die Informationen zu json2nameValue, ich werde mal schauen was ich da so noch zu herausfinde bzw. hinbekomme um die readings ohne das setzen der userReadings richtig angezeigt zu bekommen  ;D
Sorry, bin leider erst jetzt dazu gekommen, mir das mal anzusehen.

Leider kann ich ohne raw-Infos schlecht ein Test-Device anlegen, und meine tint liegt im Moment auch im Keller... Daher nur mal theoretische Rückmeldung:
Ich fand es schon immer nicht gut, mit userreadings den state zu verändern und würde ungern "set on" mit "off" überschrieben wissen. Stimmt zwar noch, aber man sieht ggf. das Verbindungsproblem nicht mehr, das besteht, wenn das Device länger auf "set x" steht. Bei "set off" stimmt die Info dann definitiv nicht.

brightness verstehe ich nicht, da müßte ich das heutige Reading kennen, daher weiß ich auch nicht, welche Auswirkungen das auf die color-Funktion hat.


@Dieter: Das ist m.E. kein wirkliches zigbee2mqtt-Problem. Mach' doch einfach zu diesem speziellen Thema einen eigenen Thread auf. Ich würde annehmen, dass die Absicherung des Servers noch andere interessiert, die nicht zigbee2mqtt machen. Die finden das hier vermutlich nicht...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: essera am 17 März 2019, 22:22:12
Hi,

ich muss mal sagen, dass das Zigbee Modul und die Unterstützung in Fhem inzwischen einen Reifegrad erreicht hat der echt SUPER ist.
Die Autocreate Funktion und die Templates machen es sehr einfach die unterschiedlichtsten Zigbee Geräte zum Laufen zu bekommen. Danke dafür allen Beteiligten!

Inzwischen ist nur noch Feintuning angesagt.

Eine Sache die ich ausprobiert habe ist den Parameter "friendly Name" in der configuration.yaml zu setzen.
'0x00158d000257d9e6':
    friendly_name: 'keller_move'
    retain: false

Die Autocreate Funktion legt dann folgendes Device an:

 Internals:
   CFGFN     
   CID        zigbee_keller
   DEF        zigbee_keller
   DEVICETOPIC MQTT2_zigbee_keller
   FUUID      5c8eb095-f33f-fb0e-f71e-4b9b390e08fe3b1d
   IODev      MOSQUITTO_Client
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 12
   MQTT2_FHEM_Server_TIME 2019-03-17 21:57:26
   MSGCNT     12
   [b]NAME       MQTT2_zigbee_keller[/b]
   NR         14871
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-03-17 21:39:49   associatedWith  MQTT2_zigbee_pi
     2019-03-17 21:57:26   illuminance     287
     2019-03-17 21:57:26   linkquality     7
     2019-03-17 21:57:26   occupancy       true
Attributes:
   IODev      MOSQUITTO_Client
   readingList zigbee2mqtt/keller_move:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

Man sieht also, dass der friendly name in der Benennung des Device nur bis zum "_" übernommen wurde. Ein Versuch den Name mit einem "." zu trennen "keller.bewegung führte zum gleichen Namen- hinter dem Trennzeichen wird abgeschnitten.
Für die readingList wurde der Name komplett und richtig übernommen.

Ist das so gewollt oder kann man das evtl. anpassen ? (wie gesagt - Feintuning - man kann ja in Fhem auch mit Alias oder umbenennen arbeiten.)

Grüße,
Andreas.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 17 März 2019, 23:30:26
Zitat
Man sieht also, dass der friendly name in der Benennung des Device nur bis zum "_" übernommen wurde.
Tut mir leid, ich sehe das nicht.
Ich sehe, dass der Name aus MQTT_<clientId> gebildet wurde.
Dabei wird in clientId alles ausser a-zA-Z0-9._ nach _ gewandelt, aber das ist in diesem Fall wohl nicht relevant.
Welche Auswirkungen friendly_name hat, ist mir aber nicht bekannt, evtl. uebersehe ich etwas.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: essera am 18 März 2019, 01:00:26
Tut mir leid, ich sehe das nicht.
Ich sehe, dass der Name aus MQTT_<clientId> gebildet wurde.
Dabei wird in clientId alles ausser a-zA-Z0-9._ nach _ gewandelt, aber das ist in diesem Fall wohl nicht relevant.
Welche Auswirkungen friendly_name hat, ist mir aber nicht bekannt, evtl. uebersehe ich etwas.

Mit dem Parameter "friendly_name" übermittelt das zigbee2mqtt Modul sozusagen einen Alias für den recht kryptischen Seriennummern Namen des Device.

Das Device wurde ja auch angelegt wie im Listing zu sehen ist. Aber eben nicht der komplette friendly_name (keller_move), sondern "MQTT2_zigbee_keller".
Der Stringteil "_move" aus dem "friendly_name" ist bei der Namensgebung unterm Tisch gefallen.

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 18 März 2019, 06:38:02
@essera
Für die Namensgebung entscheidend ist das Attribut bridgeRegexp in Deinem
associatedWith-Device MQTT2_zigbee_pi.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 18 März 2019, 08:50:52
Zitat
Mit dem Parameter "friendly_name" übermittelt das zigbee2mqtt Modul sozusagen einen Alias für den recht kryptischen Seriennummern Namen des Device.
Wo bzw. wie?
Wie geschrieben: MQTT2_DEVICE nimmt den clientId fuer den Namen.
Bei einem externen MQTT Server (d.h. ueber MQTT2_CLIENT) steht FHEM diese Information nicht zur Verfuegung, und wird deswegen per bridgeRegexp "dazugedichtet".
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 18 März 2019, 09:19:04
@Rudi:
Ist es eigentlich irgendwie möglich, den HASH mit den gesammelten bridgeRegexp-Ausdrücken irgendwie/irgendwo angezeigt zu bekommen?

Wenn nein: wäre es viel Aufwand, das als "get" an den MQTT2-IO's hinzuzufügen?

Zum Hintergrund: Vermutlich ist nicht nur  @essera grade nicht klar, welche bei ihm wirksam sind; ich würde darauf tippen, dass das z.B. auch der Hintergrund dieses Beitrags ist: https://forum.fhem.de/index.php/topic,94494.msg920202.html#msg920202

(Ergänzend: ist es so, dass neue bridgeRegexp-Ausdrücke einfach zusätzlich in den HASH geschrieben werden, man also z.B. 3x diesen Ausdrücke drin stehen hat, wenn man 3x das 00_General...-template anwendet? Das ist m.E. an sich ok, führt aber zu anderen "statistischen Verteilungen" bei der Neuanlage von Devices und eben der irrigen Annahme, dass die bredgeRegepx (komplett) weg sei, wenn man das zugrundeliegende Device löscht.)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 18 März 2019, 10:11:19
Zitat
Ist es eigentlich irgendwie möglich, den HASH mit den gesammelten bridgeRegexp-Ausdrücken irgendwie/irgendwo angezeigt zu bekommen?
Was spricht gegen "list .* bridgeRegexp" ?
Mit folgendem Ausdruck kriegt man die interne Liste zurueck:{ my $b=$modules{MQTT2_DEVICE}{defptr}{bridge};; join("\n", map { "regexp:$_ name:$b->{$_}{name} parent:$b->{$_}{parent}" } keys %{$b}) }bin aber nicht sicher, ob es wirklich hilft.
Wenn doch, dann koennen wir ueber ein get nachdenken.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 18 März 2019, 10:57:47
Was spricht gegen "list .* bridgeRegexp" ?Mit folgendem Ausdruck kriegt man die interne Liste zurueck:{ my $b=$modules{MQTT2_DEVICE}{defptr}{bridge};; join("\n", map { "regexp:$_ name:$b->{$_}{name} parent:$b->{$_}{parent}" } keys %{$b}) }
"An sich" spricht nichts gegen das list, aber: eben habe ich auf einem Testsystem dann mal zwei Devices angelegt mit derselben bridgeRegexp (schon klar, dass das ggf. wenig Sinn macht...). Im List erhalte ich beide Devices, in der internen Liste nur das, was später definiert wurde, also effektiv wirksam ist.
Dann habe ich im einen eine Änderung vorgenommen (ebus-splitter, dort "$1_bai" zu "$1_bai2" geändert).
Ergebnis: es findet sich _nur noch_ das letztere Device in der Liste.

Dann: die bridgeRegepx am 2. Gerät gelöscht.
Das list sieht erwartungsgemäß aus, aber schau mal nach, was dann in der internen Liste steht... (die letzte bridgeRegexp aus der Kopie).

Fazit: "Eigentlich" brauche ich die Liste (bzw. das "get") nicht, was wir benötigen, ist eine korrekte interne Verwaltung der Angabe in so einem Fall, oder? Also eine komplette Neuanlage unter Berücksichtigung aller Devices, wenn irgendwo was passendes an einem relevanten Device geändert wird bzw. dieses Device/dessen bridgeRegexp gelöscht wird.

 
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 18 März 2019, 18:50:21
Zitat
habe ich auf einem Testsystem dann mal zwei Devices angelegt mit derselben bridgeRegexp
Und ich dachte, das waeren exotische Faelle, wo ein Neustart verschmerzbar ist.
Habs gefixt, aendern/loeschen/umbenennen sollte jetzt mit bridgeRegexp funktionieren.

Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 19 März 2019, 09:51:15
Und ich dachte, das waeren exotische Faelle, wo ein Neustart verschmerzbar ist.
Habs gefixt, aendern/loeschen/umbenennen sollte jetzt mit bridgeRegexp funktionieren.
Dachte auch mal, das wäre exotisch...
Aber nachdem dan auch TomLee beim Testen für den ebusd darüber gestolpert war und auch bei dem anderen Thread die Vermutung nahe lag, dass da in einem "falschen" bridgeRegexp-Rest die tiefere Ursache war, wollte ich das halt mal nachstellen.

Wie dem auch sei: (ungetestetes) Danke für's fixen!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 22 März 2019, 23:01:21
[...]sagen wie es dir gefällt bzw. ob alles funktioniert, dann würde ich vielleicht nochmal alle templates ein wenig danach anpassen:...
   userReadings state {if(ReadingsVal($name,"state","") eq "OFF") {return "off"} else {return "on"}},brightness {(split ' ',ReadingsVal($name,"brightness",0))[1]},
color:color_y.* {Color::xyY2hex(ReadingsVal($name,"color_x",0),ReadingsVal($name,"color_y",0),ReadingsVal($name,"brightness",255))}
   webCmd     toggle:on:off:brightness:color
So, nachdem ich zum einen die tint kurz nochmal rausgeholt hatte und etwas mehr "Erfahrung" mit stateFormat, eventMap & Co gesammelt habe, habe ich meine grundsätzliche Skepsis gegenüber userreadings etwas reduziert. ABER: bitte IMMER den trigger besser eingrenzen. Hier ist m.E. nur der color-trigger insoweit "sauber".

Was die zwei Vorschläge zu state und brightness angeht, kommt es mir aber so vor, dass das hier "gelöste" Problem eigentlich darin begründet ist, dass Befehle nicht bei der Lampe ankommen.
Wenn das stimmt, es aber nur ein temporäres Problem ist, ist es m.E. sinnvoll, das bei Eintreten weiterhin sichtbar zu machen.

Ist es was dauerhaftes (z.B. weil die bulb gar nicht am Stromnetz hängt - wie meine übrigens auch, wenn der Schalter aus ist...), sollte man m.E. einen _anderen_ Mechanismus nutzen:
defmod n_Zigbeedevice_availability notify MQTT2_zigbee.*:availability:.* {\
if (Value($NAME) =~ /ON|on/ and $EVENT =~ /offline/) {fhem "setreading $NAME state off";;}\
elsif (Value($NAME) =~ /OFF|off/ and $EVENT =~ /online/){fhem "setreading $NAME state on"}\
}
attr n_Zigbeedevice_availability room Steuerung->Logik
Damit das funktioniert, muß man aber ein recht aktuelles zigbee2mqtt nutzen und irgendeine Option in der yaml setzen (bitte Doku wälzen).

Liege ich da richtig, oder habe ich nur etwas falsch verstanden?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: R1k4rd am 25 März 2019, 12:25:35
Hey, sorry erstmal für die späte Rückmeldung.. Semesterferien sind leider vorbei :D

Zitat
Was die zwei Vorschläge zu state und brightness angeht, kommt es mir aber so vor, dass das hier "gelöste" Problem eigentlich darin begründet ist, dass Befehle nicht bei der Lampe ankommen.
Wenn das stimmt, es aber nur ein temporäres Problem ist, ist es m.E. sinnvoll, das bei Eintreten weiterhin sichtbar zu machen.
Vollkommen richtig, das Ganze war nur temporär, als ich dann mal auf die dev Branch umgestellt hatte, fiel mir auf, dass das Problem nicht an Fhem lag wie ich die ganze Zeit aus Unwissenheit der genaueren Zusammenhänge dachte, sondern an Zigbee2MQTT selbst. Nach dem Umstellen bzw. später dann auch Updaten des master branch bekam ich für meine Geräte brightness sowie color_temp zurückgeliefert, damit entfallen natürlich jetzt userReadings die ich damals angestrebt hatte. Wäre auch mal nett gewesen wenn jemand anderes hier einfach mal geschrieben hätte das er normale Werte für color_temp und brightness zurück bekommt  ::)

Zitat
Ist es was dauerhaftes (z.B. weil die bulb gar nicht am Stromnetz hängt - wie meine übrigens auch, wenn der Schalter aus ist...), sollte man m.E. einen _anderen_ Mechanismus nutzen:
Code: [Auswählen]
defmod n_Zigbeedevice_availability notify MQTT2_zigbee.*:availability:.* {\
if (Value($NAME) =~ /ON|on/ and $EVENT =~ /offline/) {fhem "setreading $NAME state off";;}\
elsif (Value($NAME) =~ /OFF|off/ and $EVENT =~ /online/){fhem "setreading $NAME state on"}\
}
attr n_Zigbeedevice_availability room Steuerung->Logik
Damit das funktioniert, muß man aber ein recht aktuelles zigbee2mqtt nutzen und irgendeine Option in der yaml setzen (bitte Doku wälzen).
Öhm ja, ich muss mir das selbst erstmal alles wieder genau anschauen, danach würde ich dann wahrscheinlich nochmal die templates ein wenig an den aktuellen Stand anpassen und nochmal ein wenig vereinheitlichen soweit das möglich ist.

Das ganze mit den Gruppen funktioniert jetzt auch super und wie ihr schon gesagt habt mit
zigbee2mqtt/Gruppenname:.* { json2nameValue($EVENT) }
lässt sich der Status auch einfach in den einzelnen Geräten aktualisieren.
Was mir außerdem nun aufgefallen ist: Ich hatte die Templates auf die unterschiedlichen Farbsysteme angespasst und unterschieden, allerdings lassen sich meine Controller mit dem Update von Zigbee2MQTT nun auch mit dem Hex Eintrag steuern. Aus dem Grund würde ich die Templates eventuell erneut auch dahingehend anpassen und die Unterteilung in "rgb" und "hex" wieder entfernen da dies scheinbar auch nur bei mir der Fall war. Außerdem denke ich, dass mit voranschreitender Entwicklung jedes Geräte mit allen Farbsystemen steuerbar gemacht wird. Zusätzlich würde ich bei den Templates mit Farbsteuerung auch überall das userReading für die Umrechnung von color_x u y zu hex einfügen und damit das zuvor gesetzte color überschreiben damit der Wert immer aktuell ist.
Das userReading mit on/off würde ich fasst auch so mit reinnehmen wollen, dadurch unterscheidet es sich dann nicht mehr zwischen state ON/OFF und dem setzen von on/off, das macht es z.B. bei der Verwendung mit TabletUi einfacher. Ich denke ich würde dann auch ein Template für Gruppen definiert in das ich alle bis jetzt möglichen Befehle reinpacke damit jeder den passenden Code für sich dort finden könnte, sind aber nur alles Ideen ich würde mal auf deine Antwort warten und je nachdem mich dann an die Umsetzung machen. ;D

LG Richard
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 25 März 2019, 13:08:32
Zunächst mal Danke für die Rückmeldung, dass du noch bzw. wieder da bist!

Ich habe leider nicht den Überblick, was jetzt welches Gerät an Anweisungen braucht. Meine Tendenz wäre die, es möglichst übersichtlich zu halten, also wieder rauszustreichen, was nicht (mehr) benötigt wird.

Den Farbstatus rückwärts wieder sauber zusammenzubasteln finde ich gut, aber das mit userreadings zu ON/OFF würde ich für meine Devices bitte nicht haben wollen, Gründe hatte ich erläutert, oder? Allerdings fände ich direkte Infos in Kleinschreibung auch klasse, vielleicht kann man den zigbee2mqtt-Dienst entsprechend konfigurieren oder kkoenk bitten, sowas einzubauen? (Ich habe noch nicht danach gesucht, vielleicht gibt' das schon).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: R1k4rd am 25 März 2019, 15:15:50
Zitat
Zunächst mal Danke für die Rückmeldung, dass du noch bzw. wieder da bist!
Ich bleibe auch da, nur ab und zu fehlt mir leider die Zeit :-[

So wirklich klar steht es ja auch nirgends welche Anweisungen genau von welchem Gerät unterstützt werden, aus dem Grund würde ich schon gerne ein Template anlegen welches halt irgendwie alle bis jetzt dokumentierten bzw. erstellten Befehle für Leuchtmittel vereint, damit jeder die Möglichkeit hat sich das passende raus zu suchen ohne an unterschiedlichen Stellen im Forum zu schauen. Dementsprechend würde ich dann wahrscheinlich auch nochmal die Texte etwas anpassen und Beschreibungen ändern die jetzt so im MQTT2 Praxisbeispiele Teil stehen.

Zitat
Den Farbstatus rückwärts wieder sauber zusammenzubasteln finde ich gut
Was sagst du dazu, auch zum Beispiel, aus dem Reading "hex" einfach "color" zu machen, es ist nunmal der Parameter der auch von Zigbee2MQTT geliefert wird aus dem Grund würde ich es so auch vereinheitlichen wollen? Zu ON/OFF: ja das hatten wir schonmal kurz und ich kann es auch verstehen, darum Frage ich ja lieber, ich will und kann es nicht alleine entscheiden :)
Da müsste ich mich auch drüber informieren, soweit ich das mal getestet hatte ging aber z.B. set {"state":"ON"} als auch set {"state":"on"}, nur zurück bekommt man halt immer ON/OFF, was ist den der Standard für Fhem, on/off oder ON/OFF?

LG Richard
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 25 März 2019, 15:26:06
Ich bleibe auch da, nur ab und zu fehlt mir leider die Zeit :-[
Ist schon ok, war halt etwas sehr still... Ansonsten: wie du dazu kommst, mache ich bei manchen Dingen ja auch nicht anders...

Zitat
So wirklich klar steht es ja auch nirgends welche Anweisungen genau von welchem Gerät unterstützt werden, aus dem Grund würde ich schon gerne ein Template anlegen welches halt irgendwie alle bis jetzt dokumentierten bzw. erstellten Befehle für Leuchtmittel vereint, damit jeder die Möglichkeit hat sich das passende raus zu suchen ohne an unterschiedlichen Stellen im Forum zu schauen. Dementsprechend würde ich dann wahrscheinlich auch nochmal die Texte etwas anpassen und Beschreibungen ändern die jetzt so im MQTT2 Praxisbeispiele Teil stehen.
Ich würde vorschlagen, das ggf. nicht gleich komplett auszubauen, aber ggf. "nach hinten" zu schieben, in der angezeigten template-Liste und dann ggf. erst später tatsächlich zu löschen.

Zitat
Was sagst du dazu, auch zum Beispiel, aus dem Reading "hex" einfach "color" zu machen, es ist nunmal der Parameter der auch von Zigbee2MQTT geliefert wird aus dem Grund würde ich es so auch vereinheitlichen wollen?
Sehr gut. hex ist für die meisten "seltsam", unter color kann man sich was vorstellen.

Zitat
Zu ON/OFF: ja das hatten wir schonmal kurz und ich kann es auch verstehen, darum Frage ich ja lieber, ich will und kann es nicht alleine entscheiden :) Da müsste ich mich auch drüber informieren, soweit ich das mal getestet hatte ging aber z.B. set {"state":"ON"} als auch set {"state":"on"}, nur zurück bekommt man halt immer ON/OFF, was ist den der Standard für Fhem, on/off oder ON/OFF?
Aus einem kleinen "on" sendeseitig ein großes zu machen, ist kein Problem, da benötigen wir in der Regel sowieso separate Befehle und können nicht mit "EVTPARTx" arbeiten.

In FHEM ist Kleinschreibung viel einfacher zu handhaben, von daher sollte man dafür sorgen, dass (optional) eben von zigbee2mqtt auch Kleinschriebung zurückkommt. (Hast du einen ESP8266 ungenutzt rumliegen? Mach mal tasmota drauf und analysiere das basis-template dazu bzw. die direkten IO-publishes darin. Dann wird das ggf. klarer).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: R1k4rd am 26 März 2019, 14:44:48
Zitat
Ich würde vorschlagen, das ggf. nicht gleich komplett auszubauen, aber ggf. "nach hinten" zu schieben, in der angezeigten template-Liste und dann ggf. erst später tatsächlich zu löschen.
Werde ich versuchen so umzusetzen.
Zitat
Sehr gut. hex ist für die meisten "seltsam", unter color kann man sich was vorstellen.

Sehr gut, dann hätte ich zusätzlich noch folgenden Vorschlag:
color:colorpicker,HEX,0,5,255 zigbee2mqtt/rgbcct01/set {"color":{"hex":"#$EVTPART1"},"transition": 1}Neu wäre dabei nur "transition":1, bewirkt einfach das der Übergang von einer in die andere Farbe etwas sanfter vonstatten geht, bei meinem Controller ist dies von Haus aus nämlich nicht firmwareseitig umgesetzt worden. Wie es sich allerdings bei Leuchtmitteln auswirkt, bei denen schon in der Firmware des Gerätes ein sanfter Übergang implementiert ist, weiß ich nicht so recht (eventuell stört es dann auch garnicht). Falls noch jemand außer Beta-User hier mitliest würde ich mich um ein kurzes Testen freuen und natürlich Feedback ;D

Zitat
In FHEM ist Kleinschreibung viel einfacher zu handhaben, von daher sollte man dafür sorgen, dass (optional) eben von zigbee2mqtt auch Kleinschriebung zurückkommt. (Hast du einen ESP8266 ungenutzt rumliegen? Mach mal tasmota drauf und analysiere das basis-template dazu bzw. die direkten IO-publishes darin. Dann wird das ggf. klarer).
Gut da war ich zumindest mit dem on/off alles klein zu machen schonmal auf dem richtigen Weg ;) Einen ESP8266 habe ich leider nicht rumliegen, muss mich demnächst eh mal mehr mit aller möglicher Hardware beschäftigen, da werde ich mir den defintiv auch mal anschaffen.

Ich hätte jetzt beim stöbern auf der Zigbee2MQTT Seite noch folgendes gefunden bzw mal eingebaut:
statusRequest:noArg zigbee2mqtt/rgbcct01/getBewirkt einfach, dass das Gerät nach allen Werte abgefragt wird, bei mir funktioniert es, auch hier bitte mal alle die vielleicht noch mitlesen ausprobieren und Bescheid sagen, wäre super! Ansonsten wie ist deine Meinung dazu, als "statusRequest" könnte dies in jedes Template übernommen werden oder?

Und zu guter letzt bräuchte ich vielleicht einen Tipp/Hinweis/Link/Gedankenanstoß:
Und zwar schickt Zigbee2MQTT ja immer alles zurück, also gehen wir davon aus ich verändere die RGB Farbe eines Leuchtmittels, dann erhalte ich z.B.
{"state":"ON","color":{"x":0.17,"y":0.162},"brightness":185,"linkquality":34,"color_temp":272}Daraus kann ich nicht entnehmen was ich zuletzt geändert habe, also ob nun zum Beispiel gerade eine Farbe aktiv ist oder aber eine Lichtfarbe (Warmweiß/Kaltweiß). Stellt sich sicher die Frage warum ich das gerne wissen möchte oder was der Plan ist. Zum Beispiel wäre sowas nötig beim Google Assistent Modul um zu wissen ob gerade eine Farbe aktiv ist oder halt einer der Weißtöne (Beispiel: "damit eine Frage nach, wie leuchtet meine Lampe gerade entweder mit z.B. warmweiß oder rot beantwortet werden kann.") Aus dem Grund war jetzt die Entstehung eines neuen userReadings mit den Namen "colormode" geplant, der dann halt die Werte "color" oder "color_temp" annehmen kann. Je nachdem was zuletzt gesetzt wurde soll dann halt in dem Reading stehen, fällt dazu jemanden spontan eine einfache Umsetzungsmöglichkeit oder Idee ein?

LG Richard
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: dk3572 am 28 März 2019, 17:03:58
Hallo,

ich habe nach dieser Anleitung https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html (https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html) zigbee2mqtt auf einem Intel Nuc unter Ubuntu Server installiert.

Darf ich an dieser Stelle mal nachfragen wie ich das ganze wieder restlos deinstallieren kann?

Wäre für Hilfe dankbar.

VG Dieter
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 11 April 2019, 11:44:10
Nachdem es ja bei zigbee2mqtt wieder einige Neuerungen gegeben zu haben scheint, anbei mal ein fortgeschriebenes bridge-template mdB. um feedback. (Ich bin selbst leider noch nicht auf dem letzten Stand und kann vermutlich auch erst mal nicht so viel testen).

name:L_01_zigbee2mqtt_bridge
desc:The zigbee2mqtt bridge device
filter:TYPE=MQTT2_DEVICE
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[^:]+:([^/]+)[/].*:, ? $1 : undef }
attr DEVICE bridgeRegexp\
 BASE_TOPIC/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
attr DEVICE getList\
  devicelist:noArg log BASE_TOPIC/bridge/config/devices\
  networkmap_raw:noArg raw BASE_TOPIC/bridge/networkmap raw\
  networkmap_graphviz:noArg graphviz BASE_TOPIC/bridge/networkmap graphviz
attr DEVICE readingList\
  BASE_TOPIC/bridge/state:.* state\
  BASE_TOPIC/bridge/config/devices:.* {}\
  BASE_TOPIC/bridge/config/log_level:.* log_level\
  BASE_TOPIC/bridge/config/permit_join:.* permit_join\
  BASE_TOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
  BASE_TOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices\
  BASE_TOPIC/bridge/log:.* log\
  BASE_TOPIC/bridge/networkmap:.* {}\
  BASE_TOPIC/bridge/networkmap/graphviz:.* graphviz\
  BASE_TOPIC/bridge/networkmap/raw:.* raw\
  BASE_TOPIC/bridge/config:.* { json2nameValue($EVENT) }
attr DEVICE setList\
  log_level:debug,info,warn,error BASE_TOPIC/bridge/config/log_level $EVTPART1\
  permit_join:true,false BASE_TOPIC/bridge/config/permit_join $EVTPART1\
  remove:textField BASE_TOPIC/bridge/config/remove $EVTPART1\
  y_device_setting:textField zigbee2mqtt/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}}
  x_bind:textField BASE_TOPIC/bridge/bind/$EVTPART1 $EVTPART2\
  x_bind_unbind:textField BASE_TOPIC/bridge/unbind/$EVTPART1 $EVTPART2\
  x_device_options:textField BASE_TOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1",""options": {"$EVTPART2": "$EVTPART3"}}\
  x_group_add_to:textField BASE_TOPIC/bridge/group/$EVTPART1/add $EVTPART2\
  x_group_rm_from:textField BASE_TOPIC/bridge/group/$EVTPART1/remove $EVTPART2\
  x_group_rm_from_all:textField BASE_TOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2\
  x_group_add_group:textField BASE_TOPIC/bridge/config/add_group $EVTPART1\
  x_group_rm_group:textField BASE_TOPIC/bridge/config/remove_group $EVTPART1\
  z_elapsed:textField BASE_TOPIC/bridge/config/elapsed $EVTPART1\
  z_last_seen:textField BASE_TOPIC/bridge/config/last_seen $EVTPART1\
  z_ban:textField BASE_TOPIC/bridge/config/ban $EVTPART1\
  z_rename:textField BASE_TOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
  z_reset_CC:noArg BASE_TOPIC/bridge/config/reset
attr DEVICE setStateList on off
attr DEVICE model L_01_zigbee2mqtt_bridge
Neu wäre dabei nur "transition":1, [...]
Können wir gerne aufnehmen, scheint ja bisher niemand dagegen gewesen zu sein...
Zitat
Ich hätte jetzt beim stöbern auf der Zigbee2MQTT Seite noch folgendes gefunden bzw mal eingebaut:
statusRequest:noArg zigbee2mqtt/rgbcct01/get[...] als "statusRequest" könnte dies in jedes Template übernommen werden oder?
Von mir aus gerne!
Zitat
Und zu guter letzt bräuchte ich vielleicht einen Tipp/Hinweis/Link/Gedankenanstoß:
Und zwar schickt Zigbee2MQTT ja immer alles zurück, also gehen wir davon aus ich verändere die RGB Farbe eines Leuchtmittels, dann erhalte ich z.B.[...] Je nachdem was zuletzt gesetzt wurde soll dann halt in dem Reading stehen, fällt dazu jemanden spontan eine einfache Umsetzungsmöglichkeit oder Idee ein?
Hmm, kann das nicht abschließend beurteilen. Wäre vermutlich einfacher, wenn man z.B. regulär immer nur einen "changed"-Datensatz bekommen würde, und nur bei einem "get" (statusRequest) die vollständige Liste. Das müßte dann aber von der zigbee2mqtt-Seite her so implementiert sein (was es nicht ist, oder)?


Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: ulli am 18 Mai 2019, 15:36:18
Was nehm ich denn für ein MQTT Template für einen CC2530 Router im Zigbee Netzwerk?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 18 Mai 2019, 15:57:27
Gibt im Moment (noch) keines. Was sollte das den "können"?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: supernova1963 am 18 Mai 2019, 18:39:11
Hallo Dieter,

definiere bitte restlos, mit nodejs + npm, und mit fhem - devices?


Wenn es "nur" um zigbee2mqtt geht:

sudo systemctl stop zigbee2mqtt
sudo systemctl disable zigbee2mqtt.service
sudo rm /etc/systemd/system/zigbee2mqtt.service
sudo rm -r /opt/zigbee2mqtt
# optional:
# sudo reboot

Gernot

P.S.: Ich habe es aufgegeben. 2,4 GHz und Betondecken und Fussbodenheizung passen bei mir nicht zusammen.
Bei meinen Schwierigkeiten mit WLAN (nur mit diversen neuen Kabel, DLAN und mehreren Router flächendeckend) hätte ich mir das denken können. Doch die Verlockung dieser echt günstigen SmartHome Geräte war zu groß. 
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 19 Mai 2019, 09:22:21
P.S.: Ich habe es aufgegeben. 2,4 GHz und Betondecken und Fussbodenheizung passen bei mir nicht zusammen.
Bei meinen Schwierigkeiten mit WLAN (nur mit diversen neuen Kabel, DLAN und mehreren Router flächendeckend) hätte ich mir das denken können. Doch die Verlockung dieser echt günstigen SmartHome Geräte war zu groß.

Wäre dieses denn keine Option?
https://www.ikea.com/de/de/p/tradfri-signalverstaerker-10400408/

Diesen Artikel fand ich auch sehr interessant, habs bei mir umgesetzt.
https://www.metageek.com/training/resources/zigbee-wifi-coexistence.html
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: ulli am 19 Mai 2019, 10:14:48
Gibt im Moment (noch) keines. Was sollte das den "können"?

Ein status online/offline wäre gut
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: ulli am 19 Mai 2019, 10:16:19
Wäre dieses denn keine Option?
https://www.ikea.com/de/de/p/tradfri-signalverstaerker-10400408/

Diesen Artikel fand ich auch sehr interessant, habs bei mir umgesetzt.
https://www.metageek.com/training/resources/zigbee-wifi-coexistence.html

Funktioniert der Verstärker auch mit xiaomi geräten?

Zu 2. Zeigt es eine Verbesserung?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 19 Mai 2019, 12:51:23
Funktioniert der Verstärker auch mit xiaomi geräten?

Keine Ahnung ob es mit Xiaomi funktioniert, aber für 10 Euro könnte man es doch ausprobieren.
Vielleich kann es auch ein anderer Beantworten.

Zu 2. Zeigt es eine Verbesserung?

Ich finde es klingt logisch, also habe ich es für meine Umgebung angepasst.
Ich finde seit dem läuft es besser.

Kann aber auch sein, dass Zigbee2MQTT "erwachsener" wird...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 19 Mai 2019, 13:38:07
Ein status online/offline wäre gut
Gibt es Readings?
Manchmal braucht es entspr. Einstellungen @zigbee2mqtt...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: supernova1963 am 19 Mai 2019, 15:06:49
Wäre dieses denn keine Option?
https://www.ikea.com/de/de/p/tradfri-signalverstaerker-10400408/

Diesen Artikel fand ich auch sehr interessant, habs bei mir umgesetzt.
https://www.metageek.com/training/resources/zigbee-wifi-coexistence.html

Vielen Dank für die Tips.
Ich hatte zunächst die cc2531 usb Controller und Repeater Variante ausprobiert.
Ob und wann ich es mit tradifi, hue, xiaomi etc. probiere, weiß ich noch nicht. Bis dahin bleibe ich erstmal bei 868 MHz.

Danke für die Hilfsbereitschaft,

Gernot
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 22 Mai 2019, 10:37:44
Ein status online/offline wäre gut
Dafür müßte man erst mal zigbee2mqtt überreden, entsprechende Infos zu senden.

Sollte (dann aber für alle netzgebundenen Geräte!) mit dem Parameter "availability_timeout" in der configuration.yaml gehen.
(K.A., ob man auch eine Art Ping senden könnte...)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: FunkOdyssey am 13 August 2019, 09:52:45
Ich hatte an meine Stick testweise einen Osram-Plug angelernt. Diese danach aber wieder entfernt und anderweitig im Haus eingebunden.
Dennoch wird durch autocreate immer wieder ein MQTT2_DEVICE angelegt. Im FileLog sind nur folgende Zeilen enthalten. (Keine ON-Events vorhanden)

2019-08-13_09:41:04 MQTT2_zigbee_0xxxxxx_state: OFF
2019-08-13_09:41:04 MQTT2_zigbee_0xxxxxx_linkquality: 28

Kann mir jemand sagen, wie ich das nun dauerhaft loswerde?

Es steht im MQTT2-Zigbee-Device auch noch im Reading "devices".
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: TomLee am 13 August 2019, 18:03:49
Eventuell weil das Gerät noch in der configuration.yaml steht ?

nano /opt/zigbee2mqtt/data/configuration.yaml
Gruß

Thomas
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: FunkOdyssey am 13 August 2019, 19:30:54
Da ist devices leer. Aber in der database.db steht das Gerät noch.
Nur wie werde ich das los?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: mark79 am 13 August 2019, 20:43:39
Da ist devices leer. Aber in der database.db steht das Gerät noch.
Nur wie werde ich das los?
Einfach gehts mit Fhem mit remove, über das MQTT2_zigbee_pi Device.
Ansonsten per Hand via: MQTT zigbee2mqtt/bridge/config/remove https://www.zigbee2mqtt.io/information/mqtt_topics_and_message_structure.html

Man sollte die Devices auch löschen, wenn man diese nicht mehr benötigt. Weil die Informationen auch auf dem Coordinator gespeichert werden und platz verbrauchen, welcher eh schon gering ist.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: maclovlin am 18 September 2019, 05:45:47
Morgen,

ist vielleicht etwas offtopic, kann mich aber entsinnen das irgendjemand hier im Beitrag Probleme mit der Reichweite seiner CC2531 Sticks hatte.

Bin die Tage auf einen interessanten Mod gestoßen, wollte diesen euch nicht vorenthalten.

der Mod:
https://hackaday.io/project/163505-cc2531-usb-adapter-antenna-mod (https://hackaday.io/project/163505-cc2531-usb-adapter-antenna-mod)

und das passende Gehäuse dazu:
https://www.thingiverse.com/thing:3646828 (https://www.thingiverse.com/thing:3646828)

Ich habe den Mod selber noch nicht ausprobiert, aber das Gehäuse ausgedruckt und für sehr gut befunden.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: essera am 06 Oktober 2019, 15:43:26
Hi,

ich bin auf ein Phänomen gestoßen welches Rudi oder Beta evtl erklären können.
Ich habe ein Raspi System mit Fhem und Mosquitto für MQTT Devices und ein neues Docker System mit Fhem und MQTT2_Server in Fhem integriert.

Damit ich im Docker Fhem auch die MQTT Devices die sich auf Mosquitto angemeldet haben schalten kann, habe ich im Docker System auch ein MQTT Device für die Kommunikation mit dem Mosquitto Server angelegt.


 
Internals:
   BUF       
   DEF        192.168.178.26:1883
   DeviceName 192.168.178.26:1883
   FD         41
   FUUID      5c8991c1-f33f-fb0e-c276-00b79c0eaf90ff2a
   NAME       MOSQUITTO_Client
   NR         54
   PARTIAL   
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   MOSQUITTO_Client
   lastMsgTime 1570368570.07312
   nextOpenDelay 5
   READINGS:
     2019-10-05 19:52:51   state           opened
Attributes:
   alias      MOSQUITTO_Client
   room       mosquitto


Wenn nun per Autocreate ein neues MQTT2 Device vom internen MQTT2_Server erstellt wird zieht er als IO Device immer das Kommunikationsdevice Richtung Mosquitto Server an:

Internals:
   DEVICETOPIC waschkueche
   FUUID      5c996480-f33f-fb0e-d045-942d2e430c92e5d8
   IODev      MOSQUITTO_Client
   LASTInputDev MQTT2_FHEM_Server
   MOSQUITTO_Client_MSGCNT 123
   MOSQUITTO_Client_TIME 2019-10-06 15:13:59
   MQTT2_FHEM_Server_MSGCNT 4
   MQTT2_FHEM_Server_TIME 2019-10-06 15:16:21
   MSGCNT     127
   NAME       waschkueche
   NR         65
   STATE      off
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-10-06 15:15:56   LoadAvg         24
     2019-10-06 15:15:56   POWER           OFF
     2019-10-06 15:15:56   Sleep           50
     2019-10-06 15:15:56   SleepMode       Dynamic
     2019-10-06 15:15:56   Time            2019-10-06T15:16:02
     2019-10-06 15:15:56   Uptime          0T00:00:17
     2019-10-06 15:15:56   Vcc             3.226
     2019-10-06 15:15:56   Wifi_AP         1
     2019-10-06 15:15:56   Wifi_BSSId      34:81:C4:E1:99:7A
     2019-10-06 15:15:56   Wifi_Channel    2
     2019-10-06 15:15:56   Wifi_Downtime   0T00:00:07
     2019-10-06 15:15:56   Wifi_LinkCount  1
     2019-10-06 15:15:56   Wifi_RSSI       100
     2019-10-06 15:15:56   Wifi_SSId       Turbonet
     2019-10-06 15:18:06   state           off
Attributes:
   IODev      MOSQUITTO_Client
   alias      Waschkueche.Licht
   autocreate 0
   readingList /SmartHome/Keller/Waschkueche/stat/POWER:.* state
/SmartHome/Keller/Waschkueche/tele/STATE:.* { json2nameValue($EVENT) }
   room       Licht,MQTT2_DEVICE
   setList    off:noArg  /SmartHome/Keller/Waschkueche/cmnd/power off
on:noArg  /SmartHome/Keller/Waschkueche/cmnd/power on
toggle:noArg  /SmartHome/Keller/Waschkueche/cmnd/power toggle


Ich muss in den Atributen dann das IO Device von Hand auf MQTT2_FHEM_Server setzen und danach ist alles gut.

Ich kann nicht nachvollziehen warum er das so macht , zumal er als LASTInputDev auch den MQTT2_FHEM_Server drin stehen hat. (siehe Listing)

Gibt es Erklärungen oder muss was anders gemacht werden oder Bug/Feature ??

VG,
Andreas.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 Oktober 2019, 19:38:03
Falls es nicht explizit/manuell definiert wird, wird als IODev aus den Moeglichen die zuletzt Definierte genommen.
Wieso meinst Du, dass es nicht so gehoert?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: essera am 06 Oktober 2019, 21:37:36
Weil das Mosquitto Device zu dem MQTT Broker mit der IP 192.168.178.26 zeigt (alte Umgebung 1) und der MQTT2_Server die IP 192.168.178.137 hat.
Somit geht nach dem Autocreate die Kommunikations in die "falsche Richtung"...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 Oktober 2019, 21:58:56
Sorry, habe das Problem vorhin nicht verstanden.
Habe MQTT2_DEVICE erweitert, bitte testen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: essera am 07 Oktober 2019, 21:01:06
Hallo Rudi,

habe das Update eingespielt.
Nach Löschen und erneuter Erstellung über autocreate wurde (hier bei einem Shelly1) das IODev sowie LASTInputDev beide (wie erwartet) auf "MQTT2_FHEM_Server" gesetzt.
Scheint somit zu funktionieren - Vielen Dank dafür !!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 06 November 2019, 15:38:59
@rudolfkoenig

Die model => Bildnamen-Umwandlung habe ich uebernommen.
supported-devices.js waehlt eine interessante Regexp-Alternative zu d.model.replace(/[\/: ]/g,' ').

Bislang hat die Bildanzeige in der neighbor map für mich immer funktioniert. Vor Kurzem habe ich einen SP 120 in mein System integriert; dieser hat für die Bildung einer Bild-URL eine spezielle model-Bezeichnung (SP 120), so dass eine Nachbearbeitung der model-Bezeichnung notwendig wird. Überraschenderweise wird aber für genau diesen eigentlich berücksichtigten Fall kein Bild angezeigt.


Ursache scheint die Verschachtelung der Search and Replace-Operationen zu sein.

In einem solchen Fall kann der eigentlich richtig berechnete Bildname für eine Bild-URL nicht mehr ordnungsgemäß abgelegt werden - $1 entspricht nicht mehr der ieeeAddr und läuft auf folgenden Fehler:
2019.11.06 14:19:07 1: PERL WARNING: Use of uninitialized value $1 in hash element at ./FHEM/10_MQTT2_DEVICE.pm line 600.


Das "Retten" von $1 in einer Variablen und die Verwendung dieser Variablen zur Ablage des berechneten Bildnamens führt zur erfolgreichen Anzeige des Bildes.
  $dv =~ s@ieeeAddr":"([^"]+)"[^}]+model":"([^"]+)"@
+          my $ieeeAddr = $1;
           my $img = $2;
           $img =~ s+[/: ]+-+g; # Forum #91394: supported-devices.js
-          $img{$1} = "$img.jpg";
+          $img{$ieeeAddr} = "$img.jpg";
          @xeg;


Eine mögliche Lösung ... Es wäre schön, wenn die Änderung so oder so ähnlich ins MQTT2_DEVICE-Modul einfliessen würde.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 November 2019, 16:40:32
Kannst Du bitte einen Satz an Inputdaten liefern, damit ich es auch testen kann.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 06 November 2019, 18:04:41
@rudolfkoenig
Ein Satz an Inputdaten zum Testen ...


MQTT-Antwort für zigbee2mqtt/bridge/config/devices
{"type":"devices",
 "message":[{"ieeeAddr":"0x00124b0018321aed","type":"Coordinator"},
 {"ieeeAddr":"0x7cb03eaa00845fad","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug1","nwkAddr":4571,"manufId":48042,"manufName":"OSRAM","powerSource":"Mains (single phase)","modelId":"Plug 01","hwVersion":1,"swBuildId":"V1.04.12","dateCode":"20140331DEOS****"},
 {"ieeeAddr":"0xccccccfffea32ef2","type":"EndDevice","model":"E1743","friendly_name":"onoffSwitch1","nwkAddr":44063,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI on/off switch","hwVersion":1,"swBuildId":"2.2.008","dateCode":"20190410"},
 {"ieeeAddr":"0x0017880104ef74e4","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch5","nwkAddr":62963,"manufId":4107,"manufName":"Philips","powerSource":"Battery","modelId":"RWL021","hwVersion":1,"swBuildId":"5.45.1.17846","dateCode":"20160302"},
 {"ieeeAddr":"0x00158d000319b828","type":"Router","model":"SP 120","friendly_name":"innrPlug2","nwkAddr":35300,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"SP 120","hwVersion":1,"swBuildId":"2.0","dateCode":"20171027-100"},
 {"ieeeAddr":"0x00158d00033e6826","type":"Router","model":"SP 120","friendly_name":"innrPlug1","nwkAddr":18066,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"SP 120","hwVersion":1,"swBuildId":"2.0","dateCode":"20171027-100"},
 {"ieeeAddr":"0x000d6ffffe7ff880","type":"EndDevice","model":"E1524/E1810","friendly_name":"remoteSwitch1","nwkAddr":11909,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.214","dateCode":"20170302"},
 {"ieeeAddr":"0xccccccfffedb242f","type":"EndDevice","model":"E1743","friendly_name":"onoffSwitch2","nwkAddr":33661,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI on/off switch","hwVersion":1,"swBuildId":"2.2.008","dateCode":"20190410"}]}

MQTT-Antwort für zigbee2mqtt/bridge/networkmap graphviz
digraph G {
node[shape=record];
  "0x00124b0018321aed" [style="bold, filled", fillcolor="#e04e5d", fontcolor="#ffffff", label="{0x00124b0018321aed|0x0 |No model information available|online (2019-11-06T11:52:41+00:00)}"];
  "0x00124b0018321aed" -> "0x7cb03eaa00845fad" [penwidth=0.5, weight=0, color="#994444", label="24"]
  "0x00124b0018321aed" -> "0x00158d000319b828" [penwidth=0.5, weight=0, color="#994444", label="59"]
  "0x00124b0018321aed" -> "0x00158d00033e6826" [penwidth=0.5, weight=0, color="#994444", label="42"]
  "0x7cb03eaa00845fad" [style="rounded, filled", fillcolor="#4ea3e0", fontcolor="#ffffff", label="{smartPlug1|0x11db |OSRAM Smart+ plug (AB3257001NJ)|offline (00:16:20s ago)}"];
  "0x7cb03eaa00845fad" -> "0x00124b0018321aed" [penwidth=0.5, weight=0, color="#994444", label="1"]
  "0xccccccfffea32ef2" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{onoffSwitch1|0xac1f |IKEA TRADFRI ON/OFF switch (E1743)|offline (00:50:42s ago)}"];
  "0xccccccfffea32ef2" -> "0x7cb03eaa00845fad" [penwidth=1, weight=0, color="#994444", label="88"]
  "0x0017880104ef74e4" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{dimmerSwitch5|0xf5f3 |Philips Hue dimmer switch (324131092621)|online (00:00:33s ago)}"];
  "0x0017880104ef74e4" -> "0x7cb03eaa00845fad" [penwidth=1, weight=0, color="#994444", label="82"]
  "0x00158d000319b828" [style="rounded, filled", fillcolor="#4ea3e0", fontcolor="#ffffff", label="{innrPlug2|0x89e4 |Innr Smart plug (SP 120)|offline (00:00:40s ago)}"];
  "0x00158d000319b828" -> "0x00124b0018321aed" [penwidth=0.5, weight=0, color="#994444", label="60"]
  "0x00158d000319b828" -> "0x7cb03eaa00845fad" [penwidth=0.5, weight=0, color="#994444", label="48"]
  "0x00158d000319b828" -> "0x00158d00033e6826" [penwidth=0.5, weight=0, color="#994444", label="192"]
  "0x00158d00033e6826" [style="rounded, filled", fillcolor="#4ea3e0", fontcolor="#ffffff", label="{innrPlug1|0x4692 |Innr Smart plug (SP 120)|offline (00:00:00s ago)}"];
  "0x00158d00033e6826" -> "0x00158d000319b828" [penwidth=0.5, weight=0, color="#994444", label="189"]
  "0x00158d00033e6826" -> "0x7cb03eaa00845fad" [penwidth=0.5, weight=0, color="#994444", label="46"]
  "0x00158d00033e6826" -> "0x00124b0018321aed" [penwidth=0.5, weight=0, color="#994444", label="43"]
  "0x000d6ffffe7ff880" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{remoteSwitch1|0x2e85 |IKEA TRADFRI remote control (E1524/E1810)|offline (03:48:18s ago)}"];
  "0x000d6ffffe7ff880" -> "0x7cb03eaa00845fad" [penwidth=1, weight=0, color="#994444", label="84"]
  "0xccccccfffedb242f" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{onoffSwitch2|0x837d |IKEA TRADFRI ON/OFF switch (E1743)|offline (15:44:11s ago)}"];
  "0xccccccfffedb242f" -> "0x7cb03eaa00845fad" [penwidth=1, weight=0, color="#994444", label="48"]
}
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 06 November 2019, 19:26:58
Danke, habs eingecheckt.
Warum ein regexp ohne Klammer $1/$2 zuruecksetzt (aber nur, wenn es matcht), bleibt mir allerdings ein Raetsel.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 07 November 2019, 11:19:52
@rudolfkoenig

Habe nach dem heutigen Update den neuen Stand getestet - funktioniert einwandfrei.

Vielen Dank für die prompte Reaktion.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 08 November 2019, 20:12:39
Zur Info:

Habe grade eben die contact- und water-leak templates angepaßt, dass die das jeweilige Hauptreading direkt in "state" schreiben (via $JSONMAP, siehe dazu rund um diesen Beitrag: https://forum.fhem.de/index.php/topic,99980.msg991166.html#msg991166).

Finde das an diesen Stellen sehr passend und neige dazu, das (mindestens) auch für den einfachen Taster (zigbee2mqtt_Light_Switch) entsprechend anzupassen.

Eine kurze Rückmeldung wäre daher hilfreich, wie die allgemeine Meinung dazu ist (kann im Ergebnis heißen, dass alles bleibt, wie es ist, es auch da und ggf. weiteren vorgeschlagenen geändert wird oder beide Fassungen angeboten werden...).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 11 November 2019, 10:47:39
@rudolfkoenig

--- 1 ---

Bei der Ausführung von z.B. set MQTT2_zigbee3_bridge device_options <param1> <param2> <param3> taucht folgender Logeintrag auf:
2019.11.11 08:20:29 3: Bad line >< for MQTT2_zigbee3_bridge
Nach der weiteren Analyse könnte dieser Logeintrag (vermutlich) bei jedem Versuch auftreten, bei dem ein neues Reading angelegt werden soll ...

zusätzliche Codezeilen in MQTT2_DEVICE_addReading liefern folgende Logeinträge (gekürzte Fassung; readingList ist umfangreicher):
2019.11.11 09:03:14 3: name: MQTT2_zigbee3_bridge
2019.11.11 09:03:14 3: param: zigbee3mqtt/bridge/state:.* state
  zigbee3mqtt/bridge/config/devices:.* {}

zigbee3mqtt/bridge/config/device_options:.* { json2nameValue($EVENT) }
2019.11.11 09:03:14 3: line: zigbee3mqtt/bridge/state:.* state
2019.11.11 09:03:14 3: re: zigbee3mqtt/bridge/state:.*
2019.11.11 09:03:14 3: code: state
2019.11.11 09:03:14 3: line:   zigbee3mqtt/bridge/config/devices:.* {}
2019.11.11 09:03:14 3: re: zigbee3mqtt/bridge/config/devices:.*
2019.11.11 09:03:14 3: code: {}
2019.11.11 09:03:14 3: line:
2019.11.11 09:03:14 1: PERL WARNING: Use of uninitialized value $re in concatenation (.) or string at ./FHEM/10_MQTT2_DEVICE.pm line 535.
2019.11.11 09:03:14 3: re:
2019.11.11 09:03:14 1: PERL WARNING: Use of uninitialized value $code in concatenation (.) or string at ./FHEM/10_MQTT2_DEVICE.pm line 536.
2019.11.11 09:03:14 3: code:
2019.11.11 09:03:14 3: Bad line >< for MQTT2_zigbee3_bridge
Die zwei PERL WARNINGs werden durch meine zusätzlichen Codezeilen verursacht und können eigentlich ignoriert werden. Sie zeigen nur, dass das Attribut readingList wohl eine Leerzeile enthält, die dann zu undefinierten Variablen führt; die Routine wird in diesem Fall fehlerhaft beendet und es werden keine neuen Readings angelegt.

Da die Leerzeile in readingList nicht bewusst erfasst wurde und man es wohl auch nicht verhindern könnte, ist nun die Frage


--- 2 ---

Ein leicht nerviges Verhalten wird beim reload von 10_MQTT2_DEVICE.pm "wachgeküsst". Scheinbar wird ab diesem Zeitpunkt mit jeder eintreffenden MQTT-Nachricht ein Logeintrag nach folgendem Muster erzeugt. In diesem Fall hilft zunächst einmal nur ein FHEM-Neustart. Kann man die Ursache abstellen?
2019.11.11 08:38:30 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:31 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:35 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:43 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:44 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:46 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:52 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:54 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:55 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:58 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:00 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:06 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:07 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:09 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:11 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:12 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:14 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:20 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:21 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:22 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:24 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:25 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:27 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:28 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:35 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:36 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:37 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:45 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:50 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:51 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:54 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:55 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:02 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:03 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:05 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:09 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:10 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:16 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:19 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:20 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:27 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:27 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:46 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:47 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:50 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:51 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:01 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:02 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:05 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:06 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:11 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:13 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:23 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:24 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:28 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:29 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:30 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:34 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:37 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:38 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:42 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:43 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:51 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:56 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:57 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:01 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:01 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:02 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:11 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:12 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:13 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:15 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:16 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:19 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:22 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:23 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:23 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:27 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:28 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:33 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:36 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:37 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:39 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:42 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:43 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:44 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:51 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:55 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:58 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:58 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:04 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:05 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:06 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:07 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:09 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:09 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:11 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient


--- 3 ---

Aktuell benutze ich mehrere ZigBee-Netze. Da für jedes der ZigBee-Netze eine eigene bridge existiert und auch als eigenes FHEM-Device erhalten bleiben muss, musste ich die einzelnen Netze unter Verwendung von unterschiedlichen base_topic eindeutig machen; für die eigentlichen ZigBee-Geräte wäre dies (aus meiner Sicht) nicht unbedingt notwendig gewesen. In FHEM werden die Topics der Netze durch die Verwendung eines vorgelagerten bridgeRegexp korrekt erkannt und abgelegt.  Bei der graphischen Darstellung funktioniert die aktuell verwendete Theorie für Name translation aber leider nicht mehr, so dass die zugehörigen Geräte nicht mehr gefunden/aufgelöst werden.

Meine genutzen ZigBee-Netze habe ich durchnummeriert und heißen: zigbee1mqtt, zigbee2mqtt, zigbee3mqtt; die jeweiligen FHEM-Devices heißen gemäß bridgeRegexp dann zigbee1_<name>, zigbee2_<name>, zigbee3_<name>.

Eine "minimale" Änderung im Code würde für die Normalfälle nichts ändern, aber auch den/meinen Mehrnetzfall abdecken. Ist die folgende Änderung integrierbar?
  # Name translation
  for my $n (devspec2array("TYPE=MQTT2_DEVICE")) {
    my $cid = $defs{$n}{CID};
    if($cid) {
-      $cid =~ s/zigbee_//;
+      $cid =~ s/zigbee[0-9]?_//;
      $n2n{$cid} = $n;
    }
-    if(AttrVal($n, "readingList","") =~ m,zigbee2mqtt/(.*):,) {
+    if(AttrVal($n, "readingList","") =~ m,zigbee[0-9]?mqtt/(.*):,) {
      $n2n{$1} = $n;
    }
  }
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: rudolfkoenig am 11 November 2019, 13:58:54
ad 1)
Zitat
Da die Leerzeile in readingList nicht bewusst erfasst wurde und man es wohl auch nicht verhindern könnte, ist nun die Frage
Dass es nicht bewusst war, mag sein, aber mein Stand ist, dass es manuell gemacht wurde, und kann auch auf diesem Weg einfach entfernt werden.
Wenn die leere Zeile deiner Ansicht nach generiert wird, dann will ich es erst nachstellen koennen (vulgo: haette gerne Anleitung dafuer).

ad 2)
Zitat
Kann man die Ursache abstellen?
Weiss nicht, leider kann ich es auch nicht reproduzieren, habe dazu folgende Konfiguration verwendet:attr global logfile -
attr global modpath .
attr global statefile log/fhem.save.m2s
define ac autocreate
define w FHEMWEB 8083 global
define m2s MQTT2_SERVER 1883 global
=> Bitte beschreiben, wie ich es reproduzieren soll.

ad 3)
ich habe [0-9]? durch \d* ausgetauscht und eingecheckt, ich hoffe das ist auch ok.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: OdfFhem am 11 November 2019, 15:26:11
@rudolfkoenig

zu 1)
Ich glaube nicht unbedingt, dass die Leerzeile automatisch generiert wurde. "Nicht bewusst" sollte eigentlich nur betonen, dass man einer evtl. vorhandenen/eingetippten Leerzeile keine negativen Seiteneffekte unterstellt. Von den Auswirkungen bekommt man ja auch erst einmal nichts mit; erst ein eher zufälliger Blick ins Logfile macht einen stutzig.

Komme aber auf jeden Fall auch mit dem aktuellen Ist-Zustand sehr gut zurecht; die Leerzeile im readingList-Attribut ist ja auch schnell entfernt - wenn man erst mal das Problem erkannt hat.

zu 2)
Bei jedem Reload von 10_MQTT2_DEVICE.pm tritt das besagte Phänomen auf - aktuell bei mir sicher reproduzierbar.

Ich verwende keinen MQTT2_SERVER, sondern den MQTT2_CLIENT; der lästige Logeintrag ist aber nicht direkt für den MQTT2_CLIENT, sondern für das bei der Definition von MQTT2_CLIENT (myMqttClient) automatisch angelegte Verwaltungs-MQTT2_DEVICE (MQTT2_myMqttClient).

Wie man die Ursache noch weiter eingrenzen kann, kann ich leider nicht sagen ...

zu 3)
Habe bei mir vorab jetzt auch [0-9]? durch \d* ausgetauscht und erwartungsgemäß scheint es einwandfrei zu laufen.
Auf jeden Fall schon mal schönen Dank fürs Einchecken.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: ulli am 16 November 2019, 12:26:30
Hallo zusammen,
welches ist denn das richtige Template für die Ikea E1524 Fernbedinung?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 16 November 2019, 12:54:04
Fernbedienungen sind allg. noch ein Thema. Es gibt dazu schon erste Ansätze, siehe hier: https://forum.fhem.de/index.php/topic,103593.0.html.

Wäre nett, wenn das jemand finalisieren könnte, ein Hexenwerk dürfte das nicht sein...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: kabanett am 05 Februar 2021, 18:05:52
Hallo zusammen,
ich hoffe, ich bin hier richtig?!
Ich habe gestern zigbee2mqtt aktualisiert und danach wurde mir eine zweite, neue Bridge angelegt. Nach zweimaligen löschen und automatischen anlegen, habe ich das neue Reading in meiner Bridge/readingList übernommen. Seit dem ist Ruhe ;)
$DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT) }
Gruß
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: 87insane am 25 April 2021, 16:12:57
Hallo zusammen.. Ich habe mich nun hier durch gewühlt und so richtig keine Antwort gefunden.

die Bridge erzeugt innerhalb der Geräte ja auch die Links zu den entsprechenden Bildern. -> Klappt!
Aber innerhalb des graphviz sollten doch für normal auch Bilder zu sehen sein oder?

Ich sehe nur den blanken graphiz und die Namen der Geräte. Diese lassen sich auch Layouten usw.

Ideen? :)

Gruß,
87Insane
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: HansDampfHH am 14 Mai 2021, 10:07:45
Moin, ich hoffe ich bin mit meinem Problem hier richtig.
Der User chdrsto hatte in folgendem Thread https://forum.fhem.de/index.php?topic=120794.0 nach einem Update Probleme, da er das Xiaomi_MQTT_Device nutzt.
Das gleiche Modul nutze ich auch und hatte auch die entsprechenden Probleme. In dem Thread ist allerdings ein Fix, von daher läuft wieder alles.

Ich würde aber gerne den Hinweis von Beta-User umsetzen:
Zitat
Es gibt auch die 'neue' Implementierung, wie unter https://wiki.fhem.de/wiki/Zigbee2mqtt beschrieben.

Leider komme ich da aber nicht vorwärts.

Ich habe zuerst zigbee2mqtt aktualisiert (nun mit Frontend, wow), musste allerdings noch einmal meine Devices pairen.
Der Versionssprung war wohl zu groß. Im zigbee2mqtt-Frontend sind alle Devices nun wieder vorhanden und können geschaltet werden.

Danach habe ich versucht mich an die Anleitung zu halten.
Hier mal Listings vom MQTT2_DEVICE und MQTT2_SERVER:

Internals:
   CID        zigbee
   DEF        zigbee
   DEVICETOPIC zigbee2mqtt
   FUUID      609e170b-f33f-1920-ed25-549232c7f2cd9bc3
   IODev      MQTT2_Server
   NAME       MQTT2_zigbee
   NR         683
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2021-05-14 08:55:25   IODev           MQTT2_Server
     2021-05-14 08:23:03   attrTemplateVersion 20201215
     2021-05-14 09:23:36   permit_join     set true
Attributes:
   DbLogExclude .*
   IODev      MQTT2_Server
   alias      MQTT2 (Zigbee)
   bridgeRegexp zigbee2mqtt/([A-Za-z0-9._]+)[/]?.*:.* "zigbee_$1"
   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.
   devicetopic zigbee2mqtt
   getList    devicelist:noArg log $DEVICETOPIC/bridge/config/devices/get
  networkmap_raw:noArg raw $DEVICETOPIC/bridge/networkmap raw
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/networkmap graphviz
   icon       mqtt
   model      zigbee2mqtt_bridge
   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/log:.*\"type\".\"devices\".\"message\".* devices
  $DEVICETOPIC/bridge/log:.* log
  $DEVICETOPIC/bridge/networkmap:.* {}
  $DEVICETOPIC/bridge/networkmap/graphviz:.* graphviz
  $DEVICETOPIC/bridge/networkmap/raw:.* raw
  $DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }
   room       Steuerung
   setList    log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1
  permit_join:true,false $DEVICETOPIC/bridge/config/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
   setStateList on off

Internals:
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        1884 global
   FD         21
   FUUID      5f4de9f1-f33f-1920-c025-9e3ba70faf8d8a2f
   NAME       MQTT2_Server
   NR         658
   PORT       1884
   STATE      Initialized
   TYPE       MQTT2_SERVER
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2021-05-13 18:53:40   RETAIN          {"co2/status":"offline","tele/tasmota/LWT":"Online","tele/tasmota1/LWT":"Offline","tele/tasmota2/LWT":"Offline","zigbee2mqtt/bridge/state":"offline"}
     2020-09-03 11:29:43   lastPublish     cmnd/tasmota2/Backlog:StateText1 off; StateText2 on; StateText3 toggle; StateText4 hold; SetOption26 1; SaveData 1
     2021-05-14 08:55:25   nrclients       0
     2021-05-14 08:55:25   state           Initialized
   clients:
   retain:
     co2/status:
       ts         1620975325.88595
       val        offline
     tele/tasmota/LWT:
       ts         1620975325.88595
       val        Online
     tele/tasmota1/LWT:
       ts         1620975325.88595
       val        Offline
     tele/tasmota2/LWT:
       ts         1620975325.88595
       val        Offline
     zigbee2mqtt/bridge/state:
       ts         1620975325.88595
       val        offline

Wenn ich die Anleitung richtig verstehe, setze ich set MQTT2_zigbee permit_join true und kann ein Gerät über das Frontend von zigbee2mqtt schalten, um das Device in FHEM damit automatisch anzulegen. Aber hier passiert scheinbar nichts bzw. was soll passieren!?

Auch ein get MQTT2_zigbee devicelist führt zu "Timeout reading answer for zigbee2mqtt/bridge/config/devices/get".

Was mach ich falsch?
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 14 Mai 2021, 10:31:28
LWT sagt, der zigbee2mqtt-Dienst sei Offline.

Bitte zuerst schauen, dass das Online wird.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: HansDampfHH am 14 Mai 2021, 15:10:44
Zitat
LWT sagt, der zigbee2mqtt-Dienst sei Offline.
Bitte zuerst schauen, dass das Online wird.

Könnte mir dabei jemand unter die Arme greifen?
Ich habe nun erst mal alle alten XiaomiMQTTDevice und MQTT_DEVICEs entfernt.
Dann den PORT beim verbleibenden MQTT2_SERVER wieder auf 1883 geändert (gleicher Port eben wie zigbee2mqtt).
Fhem fährt jetzt zumindest mal wieder hoch.

Aber nun bekomme ich im Log leider folgende Meldung und habe noch keine Idee woher das kommt bzw. wie ich es abschalte?

2021.05.14 14:59:02 4: Connection accepted from MQTT2_Server_127.0.0.1_35502
2021.05.14 14:59:02 5: in:  CONNECT: (16)5(0)(4)MQTT(4)&(0)<(0)(6)zigbee(0)(24)zigbee2mqtt/bridge/state(0)(7)offline
2021.05.14 14:59:02 3: Login denied via MQTT2_Server_127.0.0.1_35502
2021.05.14 14:59:02 5: out: CONNACK:  (2)(0)(4)
2021.05.14 14:59:02 5: MQTT2_Server: dispatch autocreate=simple\000zigbee\000zigbee2mqtt/bridge/state\000offline
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 14 Mai 2021, 15:32:41
Hast du ein allowed-Device für den M2-Server definiert? (Würde es erst mal ohne versuchen).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: HansDampfHH am 14 Mai 2021, 15:47:26
War mir nicht bewusst, aber ja...ist vorhanden.
Ich kann das leider erst morgen früh weiter verfolgen, die Familie ist jetzt im Haus, da muss erst mal alles wieder laufen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: HansDampfHH am 14 Mai 2021, 16:32:48
Okay, hat mir doch keine Ruhe gegeben. Device allowed entfernt und Zack, connection established.
Die Devices werden gerade alle bei eingehender Nachricht angelegt. Super. Jetzt muss ich wohl nur noch die ganzen Notifies anpassen.
Besten Dank für den Schubs!
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: MadMax-FHEM am 31 Mai 2021, 11:51:08
Wie in einem anderen Thread schon mitgeteilt, werde ich langsam wohl ein "Fan" von mqtt ;)

Vielen Dank an Beta-User und TomLee! :)

Ich evaluiere ja, ob ich nun WLAN RGB(W) Leuchtmittel (Shelly) nehme oder (doch) Zigbee...
...bislang bereits beides im Einsatz, allerdings "klassisch":

Shelly-Modul
Zigbee-Bridge (deCONZ) und HUEBridge-Modul

Bzgl. Shelly werde ich wohl auf mqtt "umsteigen" :)

Bei Zigbee läuft die "Untersuchung" aktuell.

Ich habe nun doch auch mit dem "alten" Raspbee Aufsteckmodul zigbee2mqtt zum Laufen bekommen! :)
(Installation etwas "abweichend" zur zigbee2mqtt-Anleitung, ich habe versucht und ist geglückt, mit dem nodejs/node/npm was bei Buster mitkommt zu installieren / es kommen zwar ein paar Warnungen mehr bzw. Warnungen beim Starten [bzgl. npm/node Version] als mit der Installation laut Anleitung aber so will ich bzgl. "Updates" etc. auf OS-Ebene bleiben / es steht noch aus, das als Dienst laufen zu lassen)
(leider habe ich parallel schon mal den Conbee II bestellt, weil ich dachte die anfänglichen "Probleme" liegen am Raspbee -> falsch / mal sehen, ob ich nun den Conbee behalte oder weiter mit meinen Raspbees lebe [von denen ich dummerweise auch schon 3 habe: hatte vergessen, dass ich mir bereits einen für Tests gekauft hatte, bevor ich einen [weiteren] für Tests gekauft hab ;)  Naja, vielleicht kann ich ja Verwandte oder Freunde "überreden" und einen oder auch zwei "los werden" ;)  )

Dazu mal ein paar Fragen (bzw. "Bestätigung" der "Vermutungen"):

Ich habe die config.yaml mit einer "Mischung" aus Wiki und zigbee2mqtt Anleitung konfiguriert (kann ich mal nachliefern, falls "notwendig" bzw. "Interesse", aktuell läuft die zigbee2mqtt-Bridge nicht ;)  ). Soweit so gut, läuft ja.

MQTT2Server in fhem (weil simpel :)  )

Mir wurde die "Bridge" dann angelegt (ich denke automatisch [oder täusche ich mich?] und nicht wie im Wiki manuell / hatte ich in einem Versuch zuvor manuell gemacht):
MQTT2_zigbee_pi (der Name wohl wegen der ClientID in der config.yaml)
Dort dann das Template "zigbee2mqttBridge" angewendet -> alles prima! :)

Dann:
set MQTT2_zigbee_pi join true
Und Leuchtmittel angelernt.

Nun gibt es 2 weitere Devices.
Einmal das Leuchtmittel und dann eine weitere "Bridge"...
MQTT2_zigbee_bridge
(ich glaube die kam mit dem "Anlernen" / EDIT: oder eher beim Neustart von zigbee2mqtt!? Egal: die 2te "Bridge" ist [und bleibt] da)
Da dann auch das attrTemplate "zigbee2mqttBridge" angewendet...
(sollte man das?)

In DIESER Bridge stehen dann aber auch alle Infos zum Leuchtmittel und auch aller weiterer Leuchtmittel!?
(Ist das das irgendwo genannte "Sammel-Device"?)

Beim Leuchtmittel dann auch mit versch. attrTemplate "gespielt" -> alles prima! :)

Allerdings werde ich das "Sammel-Device" wohl nicht los?
Habe bei den ersten Versuchen (mit manuellem Anlegen laut Wiki) schon gedacht es kommt eben daher, also vom manuellen Anlegen, ist wohl nicht so...

Habe das Device auch mal gelöscht -> kam wieder... :-\ ;)

Frage:

ist da was "falsch" oder muss das so?
Also "Sammel-Device"...

Gut, ich hab das jetzt "versteckt" aber "schön" isses nicht...

Also bislang begeistert bzgl. MQTT!

(Gut bis auf so "Zeugs" wie: "Geschwätzigkeit" und "Sammel-Device" [sofern das "muss"])

Sorry für den langen Text! ;)

Vielen Dank schon mal, auch an dieser Stelle, Joachim
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Mai 2021, 12:02:08
Also das "zigbee2mqtt"-bridge-Device sollte es nur einmal geben.
Ursache kann ich grade keine ausmachen, dazu müsste man das Device sehen und ggf. auch den MQTT-Verkehr, sonst ist es ggf. schwierig rauszufinden, warum da was "falsch abbiegt".

Und bei M2S ist per default autocreate aktiv, von daher sollte das "bridge" ("Dienst"-) Device (M2D) auch automatisch angelegt werden, sobald irgendwas vom Dienst kommt (und dann via attrTemplate entsprechend fertig konfiguriert werden können).
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: MadMax-FHEM am 31 Mai 2021, 12:33:38
Hm, ok.

Wenn ich das (dann) mal wieder laufen habe werde ich mal (versuchen) Daten liefern...

Hier schon mal die RawDefs von:

dem MQTT2Server-Device (frisch angelegt auf einem "frischen" Testsystem, ohne irgendwelche "Konfigurationen"):

defmod MQTT2Server MQTT2_SERVER 1883 global
attr MQTT2Server room System

setstate MQTT2Server 2021-05-30 00:36:11 RETAIN {"zigbee2mqtt/bridge/config":"{\u0022commit\u0022:\u0022669489fe\u0022,\u0022coordinator\u0022:{\u0022meta\u0022:{\u0022maintrel\u0022:0,\u0022majorrel\u0022:38,\u0022minorrel\u0022:57,\u0022product\u0022:0,\u0022revision\u0022:\u00220x26390500\u0022,\u0022transportrev\u0022:0},\u0022type\u0022:\u0022ConBee/RaspBee\u0022},\u0022log_level\u0022:\u0022info\u0022,\u0022network\u0022:{\u0022channel\u0022:11,\u0022extendedPanID\u0022:\u00220xdddddddddddddddd\u0022,\u0022panID\u0022:6754},\u0022permit_join\u0022:true,\u0022version\u0022:\u00221.18.3\u0022}","zigbee2mqtt/bridge/devices":"[{\u0022definition\u0022:null,\u0022endpoints\u0022:{\u00221\u0022:{\u0022bindings\u0022:[],\u0022clusters\u0022:{\u0022input\u0022:[\u0022genBasic\u0022,\u0022genTime\u0022,\u0022genOta\u0022],\u0022output\u0022:[\u0022genPowerCfg\u0022,\u0022genPollCtrl\u0022,\u0022ssIasZone\u0022]},\u0022configured_reportings\u0022:[]},\u0022242\u0022:{\u0022bindings\u0022:[],\u0022clusters\u0022:{\u0022input\u0022:[],\u0022output\u0022:[\u0022greenPower\u0022]},\u0022configured_reportings\u0022:[]}},\u0022friendly_name\u0022:\u0022Coordinator\u0022,\u0022ieee_address\u0022:\u00220x00212effff00b7d1\u0022,\u0022interview_completed\u0022:true,\u0022interviewing\u0022:false,\u0022network_address\u0022:0,\u0022supported\u0022:false,\u0022type\u0022:\u0022Coordinator\u0022},{\u0022date_code\u0022:\u002220181025-69\u0022,\u0022definition\u0022:{\u0022description\u0022:\u0022Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, color, opal white\u0022,\u0022exposes\u0022:[{\u0022features\u0022:[{\u0022access\u0022:7,\u0022description\u0022:\u0022On/off state of this light\u0022,\u0022name\u0022:\u0022state\u0022,\u0022property\u0022:\u0022state\u0022,\u0022type\u0022:\u0022binary\u0022,\u0022value_off\u0022:\u0022OFF\u0022,\u0022value_on\u0022:\u0022ON\u0022,\u0022value_toggle\u0022:\u0022TOGGLE\u0022},{\u0022access\u0022:7,\u0022description\u0022:\u0022Brightness of this light\u0022,\u0022name\u0022:\u0022brightness\u0022,\u0022property\u0022:\u0022brightness\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_max\u0022:254,\u0022value_min\u0022:0},{\u0022access\u0022:7,\u0022description\u0022:\u0022Color temperature of this light\u0022,\u0022name\u0022:\u0022color_temp\u0022,\u0022presets\u0022:[{\u0022description\u0022:\u0022Coolest temperature supported\u0022,\u0022name\u0022:\u0022coolest\u0022,\u0022value\u0022:153},{\u0022description\u0022:\u0022Cool temperature (250 mireds / 4000 Kelvin)\u0022,\u0022name\u0022:\u0022cool\u0022,\u0022value\u0022:250},{\u0022description\u0022:\u0022Neutral temperature (370 mireds / 2700 Kelvin)\u0022,\u0022name\u0022:\u0022neutral\u0022,\u0022value\u0022:370},{\u0022description\u0022:\u0022Warm temperature (454 mireds / 2200 Kelvin)\u0022,\u0022name\u0022:\u0022warm\u0022,\u0022value\u0022:454},{\u0022description\u0022:\u0022Warmest temperature supported\u0022,\u0022name\u0022:\u0022warmest\u0022,\u0022value\u0022:556}],\u0022property\u0022:\u0022color_temp\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022mired\u0022,\u0022value_max\u0022:556,\u0022value_min\u0022:153},{\u0022access\u0022:7,\u0022description\u0022:\u0022Color temperature after cold power on of this light\u0022,\u0022name\u0022:\u0022color_temp_startup\u0022,\u0022presets\u0022:[{\u0022description\u0022:\u0022Coolest temperature supported\u0022,\u0022name\u0022:\u0022coolest\u0022,\u0022value\u0022:153},{\u0022description\u0022:\u0022Cool temperature (250 mireds / 4000 Kelvin)\u0022,\u0022name\u0022:\u0022cool\u0022,\u0022value\u0022:250},{\u0022description\u0022:\u0022Neutral temperature (370 mireds / 2700 Kelvin)\u0022,\u0022name\u0022:\u0022neutral\u0022,\u0022value\u0022:370},{\u0022description\u0022:\u0022Warm temperature (454 mireds / 2200 Kelvin)\u0022,\u0022name\u0022:\u0022warm\u0022,\u0022value\u0022:454},{\u0022description\u0022:\u0022Warmest temperature supported\u0022,\u0022name\u0022:\u0022warmest\u0022,\u0022value\u0022:556},{\u0022description\u0022:\u0022Restore previous color_temp on cold power on\u0022,\u0022name\u0022:\u0022previous\u0022,\u0022value\u0022:65535}],\u0022property\u0022:\u0022color_temp_startup\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022mired\u0022,\u0022value_max\u0022:556,\u0022value_min\u0022:153},{\u0022description\u0022:\u0022Color of this light in the CIE 1931 color space (x/y)\u0022,\u0022features\u0022:[{\u0022access\u0022:7,\u0022name\u0022:\u0022x\u0022,\u0022property\u0022:\u0022x\u0022,\u0022type\u0022:\u0022numeric\u0022},{\u0022access\u0022:7,\u0022name\u0022:\u0022y\u0022,\u0022property\u0022:\u0022y\u0022,\u0022type\u0022:\u0022numeric\u0022}],\u0022name\u0022:\u0022color_xy\u0022,\u0022property\u0022:\u0022color\u0022,\u0022type\u0022:\u0022composite\u0022},{\u0022description\u0022:\u0022Color of this light expressed as hue/saturation\u0022,\u0022features\u0022:[{\u0022access\u0022:7,\u0022name\u0022:\u0022hue\u0022,\u0022property\u0022:\u0022hue\u0022,\u0022type\u0022:\u0022numeric\u0022},{\u0022access\u0022:7,\u0022name\u0022:\u0022saturation\u0022,\u0022property\u0022:\u0022saturation\u0022,\u0022type\u0022:\u0022numeric\u0022}],\u0022name\u0022:\u0022color_hs\u0022,\u0022property\u0022:\u0022color\u0022,\u0022type\u0022:\u0022composite\u0022}],\u0022type\u0022:\u0022light\u0022},{\u0022access\u0022:2,\u0022description\u0022:\u0022Triggers an effect on the light (e.g. make light blink for a few seconds)\u0022,\u0022name\u0022:\u0022effect\u0022,\u0022property\u0022:\u0022effect\u0022,\u0022type\u0022:\u0022enum\u0022,\u0022values\u0022:[\u0022blink\u0022,\u0022breathe\u0022,\u0022okay\u0022,\u0022channel_change\u0022,\u0022finish_effect\u0022,\u0022stop_effect\u0022]},{\u0022access\u0022:1,\u0022description\u0022:\u0022Link quality (signal strength)\u0022,\u0022name\u0022:\u0022linkquality\u0022,\u0022property\u0022:\u0022linkquality\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022lqi\u0022,\u0022value_max\u0022:255,\u0022value_min\u0022:0}],\u0022model\u0022:\u0022404000/404005/404012\u0022,\u0022supports_ota\u0022:false,\u0022vendor\u0022:\u0022Müller Licht\u0022},\u0022endpoints\u0022:{\u00221\u0022:{\u0022bindings\u0022:[{\u0022cluster\u0022:\u0022genOnOff\u0022,\u0022target\u0022:{\u0022endpoint\u0022:1,\u0022ieee_address\u0022:\u00220x00212effff00b7d1\u0022,\u0022type\u0022:\u0022endpoint\u0022}},{\u0022cluster\u0022:\u0022genLevelCtrl\u0022,\u0022target\u0022:{\u0022endpoint\u0022:1,\u0022ieee_address\u0022:\u00220x00212effff00b7d1\u0022,\u0022type\u0022:\u0022endpoint\u0022}},{\u0022cluster\u0022:\u0022lightingColorCtrl\u0022,\u0022target\u0022:{\u0022endpoint\u0022:1,\u0022ieee_address\u0022:\u00220x00212effff00b7d1\u0022,\u0022type\u0022:\u0022endpoint\u0022}}],\u0022clusters\u0022:{\u0022input\u0022:[\u0022genBasic\u0022,\u0022genIdentify\u0022,\u0022genGroups\u0022,\u0022genScenes\u0022,\u0022genOnOff\u0022,\u0022genLevelCtrl\u0022,\u0022lightingColorCtrl\u0022,\u0022haDiagnostic\u0022,\u0022touchlink\u0022],\u0022output\u0022:[\u0022genTime\u0022,\u0022genOta\u0022]},\u0022configured_reportings\u0022:[{\u0022attribute\u0022:\u0022onOff\u0022,\u0022cluster\u0022:\u0022genOnOff\u0022,\u0022maximum_report_interval\u0022:300,\u0022minimum_report_interval\u0022:0,\u0022reportable_change\u0022:0},{\u0022attribute\u0022:\u0022currentLevel\u0022,\u0022cluster\u0022:\u0022genLevelCtrl\u0022,\u0022maximum_report_interval\u0022:300,\u0022minimum_report_interval\u0022:3,\u0022reportable_change\u0022:1},{\u0022attribute\u0022:\u0022colorTemperature\u0022,\u0022cluster\u0022:\u0022lightingColorCtrl\u0022,\u0022maximum_report_interval\u0022:300,\u0022minimum_report_interval\u0022:3,\u0022reportable_change\u0022:1},{\u0022attribute\u0022:\u0022currentX\u0022,\u0022cluster\u0022:\u0022lightingColorCtrl\u0022,\u0022maximum_report_interval\u0022:300,\u0022minimum_report_interval\u0022:3,\u0022reportable_change\u0022:1},{\u0022attribute\u0022:\u0022currentY\u0022,\u0022cluster\u0022:\u0022lightingColorCtrl\u0022,\u0022maximum_report_interval\u0022:300,\u0022minimum_report_interval\u0022:3,\u0022reportable_change\u0022:1}]},\u0022242\u0022:{\u0022bindings\u0022:[],\u0022clusters\u0022:{\u0022input\u0022:[],\u0022output\u0022:[\u0022greenPower\u0022]},\u0022configured_reportings\u0022:[]}},\u0022friendly_name\u0022:\u00220x000d6ffffe53aff1\u0022,\u0022ieee_address\u0022:\u00220x000d6ffffe53aff1\u0022,\u0022interview_completed\u0022:true,\u0022interviewing\u0022:false,\u0022model_id\u0022:\u0022ZBT-ExtendedColor\u0022,\u0022network_address\u0022:44871,\u0022power_source\u0022:\u0022Mains (single phase)\u0022,\u0022software_build_id\u0022:\u00222.2\u0022,\u0022supported\u0022:true,\u0022type\u0022:\u0022Router\u0022}]","zigbee2mqtt/bridge/extensions":"[]","zigbee2mqtt/bridge/groups":"[]","zigbee2mqtt/bridge/info":"{\u0022commit\u0022:\u0022669489fe\u0022,\u0022config\u0022:{\u0022advanced\u0022:{\u0022adapter_concurrent\u0022:null,\u0022adapter_delay\u0022:null,\u0022availability_blacklist\u0022:[],\u0022availability_blocklist\u0022:[],\u0022availability_passlist\u0022:[],\u0022availability_timeout\u0022:0,\u0022availability_whitelist\u0022:[],\u0022cache_state\u0022:true,\u0022cache_state_persistent\u0022:true,\u0022cache_state_send_on_startup\u0022:true,\u0022channel\u0022:11,\u0022elapsed\u0022:false,\u0022ext_pan_id\u0022:[221,221,221,221,221,221,221,221],\u0022homeassistant_discovery_topic\u0022:\u0022homeassistant\u0022,\u0022homeassistant_legacy_triggers\u0022:true,\u0022homeassistant_status_topic\u0022:\u0022hass/status\u0022,\u0022last_seen\u0022:\u0022disable\u0022,\u0022legacy_api\u0022:true,\u0022log_directory\u0022:\u0022/opt/zigbee2mqtt/data/log/%TIMESTAMP%\u0022,\u0022log_file\u0022:\u0022log.txt\u0022,\u0022log_level\u0022:\u0022info\u0022,\u0022log_output\u0022:[\u0022console\u0022,\u0022file\u0022],\u0022log_rotation\u0022:true,\u0022log_symlink_current\u0022:false,\u0022log_syslog\u0022:{},\u0022pan_id\u0022:6754,\u0022report\u0022:true,\u0022soft_reset_timeout\u0022:0,\u0022timestamp_format\u0022:\u0022YYYY-MM-DD HH:mm:ss\u0022},\u0022ban\u0022:[],\u0022blocklist\u0022:[],\u0022device_options\u0022:{},\u0022devices\u0022:{\u00220x000d6ffffe53aff1\u0022:{\u0022friendly_name\u0022:\u00220x000d6ffffe53aff1\u0022}},\u0022experimental\u0022:{\u0022output\u0022:\u0022json\u0022},\u0022external_converters\u0022:[],\u0022frontend\u0022:{\u0022host\u0022:\u00220.0.0.0\u0022,\u0022port\u0022:8080},\u0022groups\u0022:{},\u0022map_options\u0022:{\u0022graphviz\u0022:{\u0022colors\u0022:{\u0022fill\u0022:{\u0022coordinator\u0022:\u0022#e04e5d\u0022,\u0022enddevice\u0022:\u0022#fff8ce\u0022,\u0022router\u0022:\u0022#4ea3e0\u0022},\u0022font\u0022:{\u0022coordinator\u0022:\u0022#ffffff\u0022,\u0022enddevice\u0022:\u0022#000000\u0022,\u0022router\u0022:\u0022#ffffff\u0022},\u0022line\u0022:{\u0022active\u0022:\u0022#009900\u0022,\u0022inactive\u0022:\u0022#994444\u0022}}}},\u0022mqtt\u0022:{\u0022base_topic\u0022:\u0022zigbee2mqtt\u0022,\u0022client_id\u0022:\u0022zigbee_pi\u0022,\u0022force_disable_retain\u0022:false,\u0022include_device_information\u0022:false,\u0022server\u0022:\u0022mqtt://192.168.1.121\u0022},\u0022ota\u0022:{\u0022disable_automatic_update_check\u0022:false,\u0022update_check_interval\u0022:1440},\u0022passlist\u0022:[],\u0022permit_join\u0022:false,\u0022serial\u0022:{\u0022adapter\u0022:\u0022deconz\u0022,\u0022disable_led\u0022:false,\u0022port\u0022:\u0022/dev/ttyAMA0\u0022},\u0022whitelist\u0022:[]},\u0022config_schema\u0022:{\u0022definitions\u0022:{\u0022device\u0022:{\u0022properties\u0022:{\u0022debounce\u0022:{\u0022description\u0022:\u0022Debounces messages of this device\u0022,\u0022title\u0022:\u0022Debounce\u0022,\u0022type\u0022:\u0022number\u0022},\u0022debounce_ignore\u0022:{\u0022description\u0022:\u0022Protects unique payload values of specified payload properties from overriding within debounce time\u0022,\u0022examples\u0022:[\u0022action\u0022],\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022title\u0022:\u0022Ignore debounce\u0022,\u0022type\u0022:\u0022array\u0022},\u0022filtered_attributes\u0022:{\u0022description\u0022:\u0022Allows to prevent certain attributes from being published\u0022,\u0022examples\u0022:[\u0022temperature\u0022,\u0022battery\u0022,\u0022action\u0022],\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022title\u0022:\u0022Filtered attributes\u0022,\u0022type\u0022:\u0022array\u0022},\u0022friendly_name\u0022:{\u0022description\u0022:\u0022Used in the MQTT topic of a device. By default this is the device ID\u0022,\u0022readOnly\u0022:true,\u0022title\u0022:\u0022Friendly name\u0022,\u0022type\u0022:\u0022string\u0022},\u0022icon\u0022:{\u0022description\u0022:\u0022The user-defined device icon for the frontend. It can be a link to an image (not a path to a file) or base64 encoded data URL like: image/svg+xml;;base64,PHN2ZyB3aW....R0aD\u0022,\u0022title\u0022:\u0022Icon\u0022,\u0022type\u0022:\u0022string\u0022},\u0022optimistic\u0022:{\u0022description\u0022:\u0022Publish optimistic state after set (default true)\u0022,\u0022title\u0022:\u0022Optimistic\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022qos\u0022:{\u0022descritption\u0022:\u0022QoS level for MQTT messages of this device\u0022,\u0022title\u0022:\u0022QoS\u0022,\u0022type\u0022:\u0022number\u0022},\u0022retain\u0022:{\u0022description\u0022:\u0022Retain MQTT messages of this device\u0022,\u0022title\u0022:\u0022Retain\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022retention\u0022:{\u0022description\u0022:\u0022Sets the MQTT Message Expiry in seconds, Make sure to set mqtt.version to 5\u0022,\u0022title\u0022:\u0022Retention\u0022,\u0022type\u0022:\u0022number\u0022}},\u0022required\u0022:[\u0022friendly_name\u0022],\u0022type\u0022:\u0022object\u0022},\u0022group\u0022:{\u0022properties\u0022:{\u0022devices\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022type\u0022:\u0022array\u0022},\u0022filtered_attributes\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022type\u0022:\u0022array\u0022},\u0022friendly_name\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022optimistic\u0022:{\u0022type\u0022:\u0022boolean\u0022},\u0022qos\u0022:{\u0022type\u0022:\u0022number\u0022},\u0022retain\u0022:{\u0022type\u0022:\u0022boolean\u0022}},\u0022required\u0022:[\u0022friendly_name\u0022],\u0022type\u0022:\u0022object\u0022}},\u0022properties\u0022:{\u0022advanced\u0022:{\u0022properties\u0022:{\u0022adapter_concurrent\u0022:{\u0022description\u0022:\u0022Adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value)\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Adapter concurrency\u0022,\u0022type\u0022:[\u0022number\u0022,\u0022null\u0022]},\u0022adapter_delay\u0022:{\u0022description\u0022:\u0022Adapter delay\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Adapter delay\u0022,\u0022type\u0022:[\u0022number\u0022,\u0022null\u0022]},\u0022availability_blacklist\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Availability blacklist (deprecated, use availability_blocklist)\u0022,\u0022type\u0022:\u0022array\u0022},\u0022availability_blocklist\u0022:{\u0022description\u0022:\u0022Prevent devices from being checked for availability\u0022,\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Availability Blocklist\u0022,\u0022type\u0022:\u0022array\u0022},\u0022availability_passlist\u0022:{\u0022description\u0022:\u0022Only enable availability check for certain devices\u0022,\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Availability passlist\u0022,\u0022type\u0022:\u0022array\u0022},\u0022availability_timeout\u0022:{\u0022default\u0022:0,\u0022description\u0022:\u0022Availability timeout in seconds when enabled, devices will be checked if they are still online. Only AC powered routers are checked for availability\u0022,\u0022minimum\u0022:0,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Availability Timeout\u0022,\u0022type\u0022:\u0022number\u0022},\u0022availability_whitelist\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Availability whitelist (deprecated, use passlist)\u0022,\u0022type\u0022:\u0022array\u0022},\u0022baudrate\u0022:{\u0022description\u0022:\u0022Baud rate speed for serial port, this can be anything firmware support but default is 115200 for Z-Stack and EZSP, 38400 for Deconz, however note that some EZSP firmware need 57600\u0022,\u0022examples\u0022:[38400,57600,115200],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Baudrate\u0022,\u0022type\u0022:\u0022number\u0022},\u0022cache_state\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022MQTT message payload will contain all attributes, not only changed ones. Has to be true when integrating via Home Assistant\u0022,\u0022title\u0022:\u0022Cache state\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022cache_state_persistent\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Persist cached state, only used when cache_state: true\u0022,\u0022title\u0022:\u0022Persist cache state\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022cache_state_send_on_startup\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Send cached state on startup, only used when cache_state: true\u0022,\u0022title\u0022:\u0022Send cached state on startup\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022channel\u0022:{\u0022default\u0022:11,\u0022description\u0022:\u0022Zigbee channel, changing requires repairing all devices! (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems)\u0022,\u0022examples\u0022:[11,15,20,25],\u0022maximum\u0022:26,\u0022minimum\u0022:11,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022ZigBee channel\u0022,\u0022type\u0022:\u0022number\u0022},\u0022elapsed\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg\u0022,\u0022title\u0022:\u0022Elapsed\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022ext_pan_id\u0022:{\u0022description\u0022:\u0022Zigbee extended pan ID, changing requires repairing all devices!\u0022,\u0022items\u0022:{\u0022type\u0022:\u0022number\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Ext Pan ID\u0022,\u0022type\u0022:\u0022array\u0022},\u0022homeassistant_discovery_topic\u0022:{\u0022description\u0022:\u0022Home Assistant discovery topic\u0022,\u0022examples\u0022:[\u0022homeassistant\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Homeassistant discovery topic\u0022,\u0022type\u0022:\u0022string\u0022},\u0022homeassistant_legacy_triggers\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Home Assistant legacy triggers, when enabled Zigbee2mqt will send an empty 'action' or 'click' after one has been send. A 'sensor_action' and 'sensor_click' will be discoverd\u0022,\u0022title\u0022:\u0022Home Assistant legacy triggers\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022homeassistant_status_topic\u0022:{\u0022description\u0022:\u0022Home Assistant status topic\u0022,\u0022examples\u0022:[\u0022homeassistant/status\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Home Assistant status topic\u0022,\u0022type\u0022:\u0022string\u0022},\u0022ikea_ota_use_test_url\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Use IKEA TRADFRI OTA test server, see OTA updates documentation\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022IKEA TRADFRI OTA use test url\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022last_seen\u0022:{\u0022default\u0022:\u0022disable\u0022,\u0022description\u0022:\u0022Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message\u0022,\u0022enum\u0022:[\u0022disable\u0022,\u0022ISO_8601\u0022,\u0022ISO_8601_local\u0022,\u0022epoch\u0022],\u0022title\u0022:\u0022Last seen\u0022,\u0022type\u0022:\u0022string\u0022},\u0022legacy_api\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Disables the legacy api (false = disable)\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Legacy API\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022log_directory\u0022:{\u0022description\u0022:\u0022Location of log directory\u0022,\u0022examples\u0022:[\u0022data/log/%TIMESTAMP%\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log directory\u0022,\u0022type\u0022:\u0022string\u0022},\u0022log_file\u0022:{\u0022default\u0022:\u0022log.txt\u0022,\u0022description\u0022:\u0022Log file name, can also contain timestamp\u0022,\u0022examples\u0022:[\u0022zigbee2mqtt_%TIMESTAMP%.log\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log file\u0022,\u0022type\u0022:\u0022string\u0022},\u0022log_level\u0022:{\u0022default\u0022:\u0022info\u0022,\u0022description\u0022:\u0022Logging level\u0022,\u0022enum\u0022:[\u0022info\u0022,\u0022warn\u0022,\u0022error\u0022,\u0022debug\u0022],\u0022title\u0022:\u0022Log level\u0022,\u0022type\u0022:\u0022string\u0022},\u0022log_output\u0022:{\u0022description\u0022:\u0022Output location of the log, leave empty to supress logging\u0022,\u0022items\u0022:{\u0022enum\u0022:[\u0022console\u0022,\u0022file\u0022,\u0022syslog\u0022],\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log output\u0022,\u0022type\u0022:\u0022array\u0022},\u0022log_rotation\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Log rotation\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log rotation\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022log_symlink_current\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Create symlink to current logs in the log directory\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log symlink current\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022log_syslog\u0022:{\u0022properties\u0022:{\u0022app_name\u0022:{\u0022default\u0022:\u0022Zigbee2MQTT\u0022,\u0022description\u0022:\u0022The name of the application (Default: Zigbee2MQTT).\u0022,\u0022title\u0022:\u0022Localhost\u0022,\u0022type\u0022:\u0022string\u0022},\u0022eol\u0022:{\u0022default\u0022:\u0022/n\u0022,\u0022description\u0022:\u0022The end of line character to be added to the end of the message (Default: Message without modifications).\u0022,\u0022title\u0022:\u0022eol\u0022,\u0022type\u0022:\u0022string\u0022},\u0022host\u0022:{\u0022default\u0022:\u0022localhost\u0022,\u0022description\u0022:\u0022The host running syslogd, defaults to localhost.\u0022,\u0022title\u0022:\u0022Host\u0022,\u0022type\u0022:\u0022string\u0022},\u0022localhost\u0022:{\u0022default\u0022:\u0022localhost\u0022,\u0022description\u0022:\u0022Host to indicate that log messages are coming from (Default: localhost).\u0022,\u0022title\u0022:\u0022Localhost\u0022,\u0022type\u0022:\u0022string\u0022},\u0022path\u0022:{\u0022default\u0022:\u0022/dev/log\u0022,\u0022description\u0022:\u0022The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).\u0022,\u0022examples\u0022:[\u0022/dev/log\u0022,\u0022/var/run/syslog\u0022],\u0022title\u0022:\u0022Path\u0022,\u0022type\u0022:\u0022string\u0022},\u0022pid\u0022:{\u0022default\u0022:\u0022process.pid\u0022,\u0022description\u0022:\u0022PID of the process that log messages are coming from (Default process.pid).\u0022,\u0022title\u0022:\u0022PID\u0022,\u0022type\u0022:\u0022string\u0022},\u0022port\u0022:{\u0022default\u0022:123,\u0022description\u0022:\u0022The port on the host that syslog is running on, defaults to syslogd's default port.\u0022,\u0022title\u0022:\u0022Port\u0022,\u0022type\u0022:\u0022number\u0022},\u0022protocol\u0022:{\u0022default\u0022:\u0022tcp4\u0022,\u0022description\u0022:\u0022The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).\u0022,\u0022examples\u0022:[\u0022tcp4\u0022,\u0022udp4\u0022,\u0022tls4\u0022,\u0022unix\u0022,\u0022unix-connect\u0022],\u0022title\u0022:\u0022Protocol\u0022,\u0022type\u0022:\u0022string\u0022},\u0022type\u0022:{\u0022default\u0022:\u00225424\u0022,\u0022description\u0022:\u0022The type of the syslog protocol to use (Default: BSD, also valid: 5424).\u0022,\u0022title\u0022:\u0022Type\u0022,\u0022type\u0022:\u0022string\u0022}},\u0022title\u0022:\u0022syslog\u0022,\u0022type\u0022:\u0022object\u0022},\u0022network_key\u0022:{\u0022description\u0022:\u0022Network encryption key, changing requires repairing all devices!\u0022,\u0022oneOf\u0022:[{\u0022title\u0022:\u0022Network key(string)\u0022,\u0022type\u0022:\u0022string\u0022},{\u0022items\u0022:{\u0022type\u0022:\u0022number\u0022},\u0022title\u0022:\u0022Network key(array)\u0022,\u0022type\u0022:\u0022array\u0022}],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Network key\u0022},\u0022pan_id\u0022:{\u0022description\u0022:\u0022ZigBee pan ID, changing requires repairing all devices!\u0022,\u0022oneOf\u0022:[{\u0022title\u0022:\u0022Pan ID (string)\u0022,\u0022type\u0022:\u0022string\u0022},{\u0022title\u0022:\u0022Pan ID (number)\u0022,\u0022type\u0022:\u0022number\u0022}],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Pan ID\u0022},\u0022report\u0022:{\u0022description\u0022:\u0022Enables report feature (deprecated)\u0022,\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Reporting\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022rtscts\u0022:{\u0022description\u0022:\u0022RTS / CTS Hardware Flow Control for serial port\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022RTS / CTS\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022soft_reset_timeout\u0022:{\u0022description\u0022:\u0022Soft reset ZNP after timeout\u0022,\u0022minimum\u0022:0,\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Soft reset timeout (deprecated)\u0022,\u0022type\u0022:\u0022number\u0022},\u0022timestamp_format\u0022:{\u0022description\u0022:\u0022Log timestamp format\u0022,\u0022examples\u0022:[\u0022YYYY-MM-DD HH:mm:ss\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Timestamp format\u0022,\u0022type\u0022:\u0022string\u0022}},\u0022title\u0022:\u0022Advanced\u0022,\u0022type\u0022:\u0022object\u0022},\u0022ban\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Ban (deprecated, use blocklist)\u0022,\u0022type\u0022:\u0022array\u0022},\u0022blocklist\u0022:{\u0022description\u0022:\u0022Block devices from the network (by ieeeAddr)\u0022,\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Blocklist\u0022,\u0022type\u0022:\u0022array\u0022},\u0022device_options\u0022:{\u0022type\u0022:\u0022object\u0022},\u0022devices\u0022:{\u0022patternProperties\u0022:{\u0022^.*$\u0022:{\u0022$ref\u0022:\u0022#/definitions/device\u0022}},\u0022propertyNames\u0022:{\u0022pattern\u0022:\u0022^0x[\u005c\u005cd\u005c\u005cw]{16}$\u0022},\u0022type\u0022:\u0022object\u0022},\u0022experimental\u0022:{\u0022properties\u0022:{\u0022output\u0022:{\u0022description\u0022:\u0022Examples when 'state' of a device is published json: topic: 'zigbee2mqtt/my_bulb' payload '{\u005c\u0022state\u005c\u0022: \u005c\u0022ON\u005c\u0022}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: both json and attribute (see above)\u0022,\u0022enum\u0022:[\u0022attribute_and_json\u0022,\u0022attribute\u0022,\u0022json\u0022],\u0022title\u0022:\u0022MQTT output type\u0022,\u0022type\u0022:\u0022string\u0022},\u0022transmit_power\u0022:{\u0022description\u0022:\u0022Transmit power of adapter, only available for Z-Stack (CC253*/CC2652/CC1352) adapters, CC2652 = 5dbm, CC1352 max is = 20dbm (5dbm default)\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Transmit power\u0022,\u0022type\u0022:[\u0022number\u0022,\u0022null\u0022]}},\u0022title\u0022:\u0022Experimental\u0022,\u0022type\u0022:\u0022object\u0022},\u0022external_converters\u0022:{\u0022description\u0022:\u0022You can define external converters to e.g. add support for a DiY device\u0022,\u0022examples\u0022:[\u0022DIYRuZ_FreePad.js\u0022],\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022External converters\u0022,\u0022type\u0022:\u0022array\u0022},\u0022frontend\u0022:{\u0022properties\u0022:{\u0022auth_token\u0022:{\u0022description\u0022:\u0022Enables authentication, disabled by default\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Auth token\u0022,\u0022type\u0022:[\u0022string\u0022,\u0022null\u0022]},\u0022host\u0022:{\u0022default\u0022:\u0022 0.0.0.0\u0022,\u0022description\u0022:\u0022Frontend binding host\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Bind host\u0022,\u0022type\u0022:\u0022string\u0022},\u0022port\u0022:{\u0022default\u0022:8080,\u0022description\u0022:\u0022Frontend binding port\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Port\u0022,\u0022type\u0022:\u0022number\u0022}},\u0022title\u0022:\u0022Frontend\u0022,\u0022type\u0022:\u0022object\u0022},\u0022groups\u0022:{\u0022patternProperties\u0022:{\u0022^.*$\u0022:{\u0022$ref\u0022:\u0022#/definitions/group\u0022}},\u0022propertyNames\u0022:{\u0022pattern\u0022:\u0022^[\u005c\u005cw].*$\u0022},\u0022type\u0022:\u0022object\u0022},\u0022homeassistant\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Home Assistant integration (MQTT discovery)\u0022,\u0022title\u0022:\u0022Home Assistant integration\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022map_options\u0022:{\u0022properties\u0022:{\u0022graphviz\u0022:{\u0022properties\u0022:{\u0022colors\u0022:{\u0022properties\u0022:{\u0022fill\u0022:{\u0022properties\u0022:{\u0022coordinator\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022enddevice\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022router\u0022:{\u0022type\u0022:\u0022string\u0022}},\u0022type\u0022:\u0022object\u0022},\u0022font\u0022:{\u0022properties\u0022:{\u0022coordinator\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022enddevice\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022router\u0022:{\u0022type\u0022:\u0022string\u0022}},\u0022type\u0022:\u0022object\u0022},\u0022line\u0022:{\u0022properties\u0022:{\u0022active\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022inactive\u0022:{\u0022type\u0022:\u0022string\u0022}},\u0022type\u0022:\u0022object\u0022}},\u0022type\u0022:\u0022object\u0022}},\u0022type\u0022:\u0022object\u0022}},\u0022title\u0022:\u0022Networkmap\u0022,\u0022type\u0022:\u0022object\u0022},\u0022mqtt\u0022:{\u0022properties\u0022:{\u0022base_topic\u0022:{\u0022description\u0022:\u0022MQTT base topic for Zigbee2MQTT MQTT messages\u0022,\u0022examples\u0022:[\u0022zigbee2mqtt\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Base topic\u0022,\u0022type\u0022:\u0022string\u0022},\u0022ca\u0022:{\u0022description\u0022:\u0022Absolute path to SSL/TLS certificate of CA used to sign server and client certificates\u0022,\u0022examples\u0022:[\u0022/etc/ssl/mqtt-ca.crt\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Certificate authority\u0022,\u0022type\u0022:\u0022string\u0022},\u0022cert\u0022:{\u0022description\u0022:\u0022Absolute path to SSL/TLS certificate for client-authentication\u0022,\u0022examples\u0022:[\u0022/etc/ssl/mqtt-client.crt\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022SSL/TLS certificate\u0022,\u0022type\u0022:\u0022string\u0022},\u0022client_id\u0022:{\u0022description\u0022:\u0022MQTT client ID\u0022,\u0022examples\u0022:[\u0022MY_CLIENT_ID\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Client ID\u0022,\u0022type\u0022:\u0022string\u0022},\u0022force_disable_retain\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Disable retain for all send messages. ONLY enable if you MQTT broker doesn't support retained message (e.g. AWS IoT core, Azure IoT Hub, Google Cloud IoT core, IBM Watson IoT Platform). Enabling will break the Home Assistant integration\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Force disable retain\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022include_device_information\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Include device information to mqtt messages\u0022,\u0022title\u0022:\u0022Include device information\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022keepalive\u0022:{\u0022default\u0022:60,\u0022description\u0022:\u0022MQTT keepalive in second\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Keepalive\u0022,\u0022type\u0022:\u0022number\u0022},\u0022key\u0022:{\u0022description\u0022:\u0022Absolute path to SSL/TLS key for client-authentication\u0022,\u0022examples\u0022:[\u0022/etc/ssl/mqtt-client.key\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022SSL/TLS key\u0022,\u0022type\u0022:\u0022string\u0022},\u0022password\u0022:{\u0022description\u0022:\u0022MQTT server authentication password\u0022,\u0022examples\u0022:[\u0022ILOVEPELMENI\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Password\u0022,\u0022type\u0022:\u0022string\u0022},\u0022reject_unauthorized\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Disable self-signed SSL certificate\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Reject unauthorized\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022server\u0022:{\u0022description\u0022:\u0022MQTT server URL (use mqtts:// for SSL/TLS connection)\u0022,\u0022examples\u0022:[\u0022mqtt://localhost:1883\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022MQTT server\u0022,\u0022type\u0022:\u0022string\u0022},\u0022user\u0022:{\u0022description\u0022:\u0022MQTT server authentication user\u0022,\u0022examples\u0022:[\u0022johnnysilverhand\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022User\u0022,\u0022type\u0022:\u0022string\u0022},\u0022version\u0022:{\u0022default\u0022:4,\u0022description\u0022:\u0022MQTT protocol version\u0022,\u0022examples\u0022:[4,5],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Version\u0022,\u0022type\u0022:[\u0022number\u0022,\u0022null\u0022]}},\u0022required\u0022:[\u0022base_topic\u0022,\u0022server\u0022],\u0022title\u0022:\u0022MQTT\u0022,\u0022type\u0022:\u0022object\u0022},\u0022ota\u0022:{\u0022properties\u0022:{\u0022disable_automatic_update_check\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Zigbee devices may request a firmware update, and do so frequently, causing Zigbee2MQTT to reach out to third party servers. If you disable these device initiated checks, you can still initiate a firmware update check manually.\u0022,\u0022title\u0022:\u0022Disable automatic update check\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022update_check_interval\u0022:{\u0022default\u0022:1440,\u0022description\u0022:\u0022Your device may request a check for a new firmware update. This value determines how frequently third party servers may actually be contacted to look for firmware updates. The value is set in minutes, and the default is 1 day.\u0022,\u0022title\u0022:\u0022Update check interval\u0022,\u0022type\u0022:\u0022number\u0022}},\u0022title\u0022:\u0022OTA updates\u0022,\u0022type\u0022:\u0022object\u0022},\u0022passlist\u0022:{\u0022description\u0022:\u0022Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!\u0022,\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Passlist\u0022,\u0022type\u0022:\u0022array\u0022},\u0022permit_join\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Allow new devices to join (re-applied at restart)\u0022,\u0022title\u0022:\u0022Permit join\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022serial\u0022:{\u0022properties\u0022:{\u0022adapter\u0022:{\u0022description\u0022:\u0022Adapter type, not needed unless you are experiencing problems\u0022,\u0022enum\u0022:[\u0022deconz\u0022,\u0022zstack\u0022,\u0022zigate\u0022,\u0022ezsp\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Adapter\u0022,\u0022type\u0022:[\u0022string\u0022,\u0022null\u0022]},\u0022disable_led\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Disable LED of the adapter if supported\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Disable led\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022port\u0022:{\u0022description\u0022:\u0022Location of the adapter. To autodetect the port, set null\u0022,\u0022examples\u0022:[\u0022/dev/ttyACM0\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Port\u0022,\u0022type\u0022:[\u0022string\u0022,\u0022null\u0022]}},\u0022title\u0022:\u0022Serial\u0022,\u0022type\u0022:\u0022object\u0022},\u0022whitelist\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Whitelist (deprecated, use passlist)\u0022,\u0022type\u0022:\u0022array\u0022}},\u0022required\u0022:[\u0022mqtt\u0022],\u0022type\u0022:\u0022object\u0022},\u0022coordinator\u0022:{\u0022meta\u0022:{\u0022maintrel\u0022:0,\u0022majorrel\u0022:38,\u0022minorrel\u0022:57,\u0022product\u0022:0,\u0022revision\u0022:\u00220x26390500\u0022,\u0022transportrev\u0022:0},\u0022type\u0022:\u0022ConBee/RaspBee\u0022},\u0022log_level\u0022:\u0022info\u0022,\u0022network\u0022:{\u0022channel\u0022:11,\u0022extended_pan_id\u0022:\u00220xdddddddddddddddd\u0022,\u0022pan_id\u0022:6754},\u0022permit_join\u0022:true,\u0022restart_required\u0022:false,\u0022version\u0022:\u00221.18.3\u0022}","zigbee2mqtt/bridge/state":"offline"}
setstate MQTT2Server 2021-05-30 00:36:11 nrclients 0
setstate MQTT2Server 2021-05-30 00:02:56 state Initialized

der automatisch angelegten (und auch schon manuell [früherer Versuch bzw. anderer "Testserver"]) Bridge (die zur clientID "passt"):

defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/([A-Za-z0-9._]+)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee_pi 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_zigbee_pi devicetopic zigbee2mqtt
attr MQTT2_zigbee_pi getList devicelist:noArg log $DEVICETOPIC/bridge/config/devices/get\
  networkmap_raw:noArg raw $DEVICETOPIC/bridge/networkmap raw\
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/networkmap graphviz
attr MQTT2_zigbee_pi icon mqtt
attr MQTT2_zigbee_pi model zigbee2mqtt_bridge
attr MQTT2_zigbee_pi 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/log:.*\"type\".\"devices\".\"message\".* devices\
  $DEVICETOPIC/bridge/log:.* log\
  $DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }\
  $DEVICETOPIC/bridge/networkmap:.* {}\
  $DEVICETOPIC/bridge/networkmap/graphviz:.* graphviz\
  $DEVICETOPIC/bridge/networkmap/raw:.* raw\
  $DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_pi room MQTT2_DEVICE
attr MQTT2_zigbee_pi setList log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1\
  permit_join:true,false $DEVICETOPIC/bridge/config/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_zigbee_pi setStateList on off

setstate MQTT2_zigbee_pi offline
setstate MQTT2_zigbee_pi 2021-05-30 00:15:08 attrTemplateVersion 20210515
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 commit 669489fe
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 coordinator_meta_maintrel 0
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 coordinator_meta_majorrel 38
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 coordinator_meta_minorrel 57
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 coordinator_meta_product 0
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 coordinator_meta_revision 0x26390500
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 coordinator_meta_transportrev 0
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 coordinator_type ConBee/RaspBee
setstate MQTT2_zigbee_pi 2021-05-30 00:31:39 log {"message":[{"dateCode":"0x26390500","friendly_name":"Coordinator","ieeeAddr":"0x00212effff00b7d1","lastSeen":1622327499221,"networkAddress":0,"softwareBuildID":"ConBee/RaspBee","type":"Coordinator"},{"dateCode":"20181025-69","description":"Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, color, opal white","friendly_name":"0x000d6ffffe53aff1","hardwareVersion":1,"ieeeAddr":"0x000d6ffffe53aff1","lastSeen":1622327451734,"manufacturerID":4635,"manufacturerName":"MLI","model":"404000/404005/404012","modelID":"ZBT-ExtendedColor","networkAddress":44871,"powerSource":"Mains (single phase)","softwareBuildID":"2.2","type":"Router","vendor":"Müller Licht"}],"type":"devices"}
setstate MQTT2_zigbee_pi 2021-05-30 00:36:11 log_level info
setstate MQTT2_zigbee_pi 2021-05-30 00:36:11 log_message Disconnecting from MQTT server
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 network_channel 11
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 network_extendedPanID 0xdddddddddddddddd
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 network_panID 6754
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 permit_join true
setstate MQTT2_zigbee_pi 2021-05-30 00:36:11 state offline
setstate MQTT2_zigbee_pi 2021-05-30 00:32:37 subscriptions zigbee2mqtt/#
setstate MQTT2_zigbee_pi 2021-05-30 00:29:32 version 1.18.3

dann noch vom "Sammel-Device":

Mist, das war dann wohl zuviel ;)

Ich versuche es in einem weiteren Post...

Gruß, Joachim
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Mai 2021, 12:42:07
OK, damit ist es schon klarer: das sind (wieder mal) neue Topics, die zum Teil dazu gedacht zu sein scheinen, eine Art "Auto-Erkennung" zu ermöglichen. Die Topics an sich sollten in die Bridge - wenn man sie überhaupt haben will.
Für mich sieht das meiste "informativ", aber unnötig aus... (=> {} als "Ziel").

Wäre gut, es würde sich mal jemand mit aktuellem zigbee2mqtt und etwas "M2D"-Know-How mal wieder mit dem bridge-Template beschäftigen, für mich ist es ziemliches Gerate...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: MadMax-FHEM am 31 Mai 2021, 12:43:43
So hier das "Sammel-Device":

defmod MQTT2_zigbee_bridge MQTT2_DEVICE zigbee_bridge
attr MQTT2_zigbee_bridge readingList zigbee2mqtt/bridge/info:.* info\
zigbee2mqtt/bridge/devices:.* { json2nameValue($EVENT) }\
zigbee2mqtt/bridge/groups:.* groups\
zigbee2mqtt/bridge/extensions:.* extensions\
zigbee2mqtt/bridge/event:.* { json2nameValue($EVENT) }

setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_endpoints_1_clusters_input_1 genBasic
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_endpoints_1_clusters_input_2 genTime
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_endpoints_1_clusters_input_3 genOta
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_endpoints_1_clusters_output_1 genPowerCfg
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_endpoints_1_clusters_output_2 genPollCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_endpoints_1_clusters_output_3 ssIasZone
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_endpoints_242_clusters_output_1 greenPower
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_friendly_name Coordinator
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_ieee_address 0x00212effff00b7d1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_interview_completed true
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_interviewing false
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_network_address 0
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_supported false
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 1_type Coordinator
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_date_code 20181025-69
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_description Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, color, opal white
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_1_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_1_description On/off state of this light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_1_name state
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_1_property state
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_1_type binary
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_1_value_off OFF
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_1_value_on ON
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_1_value_toggle TOGGLE
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_2_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_2_description Brightness of this light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_2_name brightness
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_2_property brightness
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_2_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_2_value_max 254
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_2_value_min 0
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_description Color temperature of this light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_name color_temp
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_1_description Coolest temperature supported
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_1_name coolest
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_1_value 153
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_2_description Cool temperature (250 mireds / 4000 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_2_name cool
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_2_value 250
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_3_description Neutral temperature (370 mireds / 2700 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_3_name neutral
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_3_value 370
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_4_description Warm temperature (454 mireds / 2200 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_4_name warm
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_4_value 454
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_5_description Warmest temperature supported
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_5_name warmest
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_presets_5_value 556
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_property color_temp
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_unit mired
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_value_max 556
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_3_value_min 153
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_description Color temperature after cold power on of this light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_name color_temp_startup
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_1_description Coolest temperature supported
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_1_name coolest
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_1_value 153
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_2_description Cool temperature (250 mireds / 4000 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_2_name cool
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_2_value 250
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_3_description Neutral temperature (370 mireds / 2700 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_3_name neutral
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_3_value 370
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_4_description Warm temperature (454 mireds / 2200 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_4_name warm
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_4_value 454
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_5_description Warmest temperature supported
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_5_name warmest
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_5_value 556
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_6_description Restore previous color_temp on cold power on
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_6_name previous
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_presets_6_value 65535
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_property color_temp_startup
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_unit mired
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_value_max 556
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_4_value_min 153
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_description Color of this light in the CIE 1931 color space (x/y)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_features_1_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_features_1_name x
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_features_1_property x
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_features_1_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_features_2_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_features_2_name y
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_features_2_property y
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_features_2_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_name color_xy
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_property color
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_5_type composite
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_description Color of this light expressed as hue/saturation
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_features_1_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_features_1_name hue
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_features_1_property hue
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_features_1_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_features_2_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_features_2_name saturation
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_features_2_property saturation
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_features_2_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_name color_hs
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_property color
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_features_6_type composite
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_1_type light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_access 2
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_description Triggers an effect on the light (e.g. make light blink for a few seconds)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_name effect
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_property effect
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_type enum
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_values_1 blink
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_values_2 breathe
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_values_3 okay
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_values_4 channel_change
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_values_5 finish_effect
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_2_values_6 stop_effect
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_3_access 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_3_description Link quality (signal strength)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_3_name linkquality
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_3_property linkquality
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_3_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_3_unit lqi
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_3_value_max 255
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_exposes_3_value_min 0
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_model 404000/404005/404012
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_supports_ota false
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_definition_vendor Müller Licht
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_1_cluster genOnOff
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_1_target_endpoint 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_1_target_ieee_address 0x00212effff00b7d1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_1_target_type endpoint
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_2_cluster genLevelCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_2_target_endpoint 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_2_target_ieee_address 0x00212effff00b7d1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_2_target_type endpoint
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_3_cluster lightingColorCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_3_target_endpoint 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_3_target_ieee_address 0x00212effff00b7d1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_bindings_3_target_type endpoint
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_1 genBasic
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_2 genIdentify
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_3 genGroups
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_4 genScenes
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_5 genOnOff
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_6 genLevelCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_7 lightingColorCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_8 haDiagnostic
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_input_9 touchlink
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_output_1 genTime
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_clusters_output_2 genOta
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_1_attribute onOff
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_1_cluster genOnOff
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_1_maximum_report_interval 300
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_1_minimum_report_interval 0
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_1_reportable_change 0
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_2_attribute currentLevel
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_2_cluster genLevelCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_2_maximum_report_interval 300
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_2_minimum_report_interval 3
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_2_reportable_change 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_3_attribute colorTemperature
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_3_cluster lightingColorCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_3_maximum_report_interval 300
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_3_minimum_report_interval 3
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_3_reportable_change 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_4_attribute currentX
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_4_cluster lightingColorCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_4_maximum_report_interval 300
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_4_minimum_report_interval 3
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_4_reportable_change 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_5_attribute currentY
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_5_cluster lightingColorCtrl
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_5_maximum_report_interval 300
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_5_minimum_report_interval 3
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_1_configured_reportings_5_reportable_change 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_endpoints_242_clusters_output_1 greenPower
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_friendly_name 0x000d6ffffe53aff1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_ieee_address 0x000d6ffffe53aff1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_interview_completed true
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_interviewing false
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_model_id ZBT-ExtendedColor
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_network_address 44871
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_power_source Mains (single phase)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_software_build_id 2.2
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_supported true
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:51 2_type Router
setstate MQTT2_zigbee_bridge 2021-05-30 00:16:07 IODev MQTT2Server
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:49 associatedWith MQTT2_zigbee_pi
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_description Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, color, opal white
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_1_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_1_description On/off state of this light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_1_name state
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_1_property state
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_1_type binary
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_1_value_off OFF
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_1_value_on ON
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_1_value_toggle TOGGLE
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_2_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_2_description Brightness of this light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_2_name brightness
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_2_property brightness
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_2_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_2_value_max 254
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_2_value_min 0
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_description Color temperature of this light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_name color_temp
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_1_description Coolest temperature supported
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_1_name coolest
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_1_value 153
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_2_description Cool temperature (250 mireds / 4000 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_2_name cool
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_2_value 250
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_3_description Neutral temperature (370 mireds / 2700 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_3_name neutral
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_3_value 370
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_4_description Warm temperature (454 mireds / 2200 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_4_name warm
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_4_value 454
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_5_description Warmest temperature supported
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_5_name warmest
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_presets_5_value 556
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_property color_temp
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_unit mired
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_value_max 556
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_3_value_min 153
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_description Color temperature after cold power on of this light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_name color_temp_startup
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_1_description Coolest temperature supported
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_1_name coolest
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_1_value 153
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_2_description Cool temperature (250 mireds / 4000 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_2_name cool
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_2_value 250
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_3_description Neutral temperature (370 mireds / 2700 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_3_name neutral
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_3_value 370
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_4_description Warm temperature (454 mireds / 2200 Kelvin)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_4_name warm
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_4_value 454
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_5_description Warmest temperature supported
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_5_name warmest
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_5_value 556
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_6_description Restore previous color_temp on cold power on
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_6_name previous
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_presets_6_value 65535
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_property color_temp_startup
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_unit mired
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_value_max 556
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_4_value_min 153
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_description Color of this light in the CIE 1931 color space (x/y)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_features_1_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_features_1_name x
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_features_1_property x
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_features_1_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_features_2_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_features_2_name y
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_features_2_property y
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_features_2_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_name color_xy
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_property color
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_5_type composite
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_description Color of this light expressed as hue/saturation
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_features_1_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_features_1_name hue
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_features_1_property hue
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_features_1_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_features_2_access 7
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_features_2_name saturation
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_features_2_property saturation
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_features_2_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_name color_hs
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_property color
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_features_6_type composite
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_1_type light
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_access 2
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_description Triggers an effect on the light (e.g. make light blink for a few seconds)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_name effect
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_property effect
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_type enum
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_values_1 blink
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_values_2 breathe
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_values_3 okay
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_values_4 channel_change
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_values_5 finish_effect
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_2_values_6 stop_effect
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_3_access 1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_3_description Link quality (signal strength)
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_3_name linkquality
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_3_property linkquality
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_3_type numeric
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_3_unit lqi
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_3_value_max 255
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_exposes_3_value_min 0
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_model 404000/404005/404012
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_supports_ota false
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_definition_vendor Müller Licht
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_friendly_name 0x000d6ffffe53aff1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_ieee_address 0x000d6ffffe53aff1
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_status successful
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 data_supported true
setstate MQTT2_zigbee_bridge 2021-05-30 00:27:45 extensions []
setstate MQTT2_zigbee_bridge 2021-05-30 00:27:45 groups []
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:52 info {"commit":"669489fe","config":{"advanced":{"adapter_concurrent":null,"adapter_delay":null,"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"availability_timeout":0,"availability_whitelist":[],"cache_state":true,"cache_state_persistent":true,"cache_state_send_on_startup":true,"channel":11,"elapsed":false,"ext_pan_id":[221,221,221,221,221,221,221,221],"homeassistant_discovery_topic":"homeassistant","homeassistant_legacy_triggers":true,"homeassistant_status_topic":"hass/status","last_seen":"disable","legacy_api":true,"log_directory":"/opt/zigbee2mqtt/data/log/%TIMESTAMP%","log_file":"log.txt","log_level":"info","log_output":["console","file"],"log_rotation":true,"log_symlink_current":false,"log_syslog":{},"pan_id":6754,"report":true,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"ban":[],"blocklist":[],"device_options":{},"devices":{"0x000d6ffffe53aff1":{"friendly_name":"0x000d6ffffe53aff1"}},"experimental":{"output":"json"},"external_converters":[],"frontend":{"host":"0.0.0.0","port":8080},"groups":{},"map_options":{"graphviz":{"colors":{"fill":{"coordinator":"#e04e5d","enddevice":"#fff8ce","router":"#4ea3e0"},"font":{"coordinator":"#ffffff","enddevice":"#000000","router":"#ffffff"},"line":{"active":"#009900","inactive":"#994444"}}}},"mqtt":{"base_topic":"zigbee2mqtt","client_id":"zigbee_pi","force_disable_retain":false,"include_device_information":false,"server":"mqtt://192.168.1.121"},"ota":{"disable_automatic_update_check":false,"update_check_interval":1440},"passlist":[],"permit_join":false,"serial":{"adapter":"deconz","disable_led":false,"port":"/dev/ttyAMA0"},"whitelist":[]},"config_schema":{"definitions":{"device":{"properties":{"debounce":{"description":"Debounces messages of this device","title":"Debounce","type":"number"},"debounce_ignore":{"description":"Protects unique payload values of specified payload properties from overriding within debounce time","examples":["action"],"items":{"type":"string"},"title":"Ignore debounce","type":"array"},"filtered_attributes":{"description":"Allows to prevent certain attributes from being published","examples":["temperature","battery","action"],"items":{"type":"string"},"title":"Filtered attributes","type":"array"},"friendly_name":{"description":"Used in the MQTT topic of a device. By default this is the device ID","readOnly":true,"title":"Friendly name","type":"string"},"icon":{"description":"The user-defined device icon for the frontend. It can be a link to an image (not a path to a file) or base64 encoded data URL like: image/svg+xml;;base64,PHN2ZyB3aW....R0aD","title":"Icon","type":"string"},"optimistic":{"description":"Publish optimistic state after set (default true)","title":"Optimistic","type":"boolean"},"qos":{"descritption":"QoS level for MQTT messages of this device","title":"QoS","type":"number"},"retain":{"description":"Retain MQTT messages of this device","title":"Retain","type":"boolean"},"retention":{"description":"Sets the MQTT Message Expiry in seconds, Make sure to set mqtt.version to 5","title":"Retention","type":"number"}},"required":["friendly_name"],"type":"object"},"group":{"properties":{"devices":{"items":{"type":"string"},"type":"array"},"filtered_attributes":{"items":{"type":"string"},"type":"array"},"friendly_name":{"type":"string"},"optimistic":{"type":"boolean"},"qos":{"type":"number"},"retain":{"type":"boolean"}},"required":["friendly_name"],"type":"object"}},"properties":{"advanced":{"properties":{"adapter_concurrent":{"description":"Adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value)","requiresRestart":true,"title":"Adapter concurrency","type":["number","null"]},"adapter_delay":{"description":"Adapter delay","requiresRestart":true,"title":"Adapter delay","type":["number","null"]},"availability_blacklist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Availability blacklist (deprecated, use availability_blocklist)","type":"array"},"availability_blocklist":{"description":"Prevent devices from being checked for availability","items":{"type":"string"},"requiresRestart":true,"title":"Availability Blocklist","type":"array"},"availability_passlist":{"description":"Only enable availability check for certain devices","items":{"type":"string"},"requiresRestart":true,"title":"Availability passlist","type":"array"},"availability_timeout":{"default":0,"description":"Availability timeout in seconds when enabled, devices will be checked if they are still online. Only AC powered routers are checked for availability","minimum":0,"requiresRestart":true,"title":"Availability Timeout","type":"number"},"availability_whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Availability whitelist (deprecated, use passlist)","type":"array"},"baudrate":{"description":"Baud rate speed for serial port, this can be anything firmware support but default is 115200 for Z-Stack and EZSP, 38400 for Deconz, however note that some EZSP firmware need 57600","examples":[38400,57600,115200],"requiresRestart":true,"title":"Baudrate","type":"number"},"cache_state":{"default":true,"description":"MQTT message payload will contain all attributes, not only changed ones. Has to be true when integrating via Home Assistant","title":"Cache state","type":"boolean"},"cache_state_persistent":{"default":true,"description":"Persist cached state, only used when cache_state: true","title":"Persist cache state","type":"boolean"},"cache_state_send_on_startup":{"default":true,"description":"Send cached state on startup, only used when cache_state: true","title":"Send cached state on startup","type":"boolean"},"channel":{"default":11,"description":"Zigbee channel, changing requires repairing all devices! (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems)","examples":[11,15,20,25],"maximum":26,"minimum":11,"requiresRestart":true,"title":"ZigBee channel","type":"number"},"elapsed":{"default":false,"description":"Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg","title":"Elapsed","type":"boolean"},"ext_pan_id":{"description":"Zigbee extended pan ID, changing requires repairing all devices!","items":{"type":"number"},"requiresRestart":true,"title":"Ext Pan ID","type":"array"},"homeassistant_discovery_topic":{"description":"Home Assistant discovery topic","examples":["homeassistant"],"requiresRestart":true,"title":"Homeassistant discovery topic","type":"string"},"homeassistant_legacy_triggers":{"default":true,"description":"Home Assistant legacy triggers, when enabled Zigbee2mqt will send an empty 'action' or 'click' after one has been send. A 'sensor_action' and 'sensor_click' will be discoverd","title":"Home Assistant legacy triggers","type":"boolean"},"homeassistant_status_topic":{"description":"Home Assistant status topic","examples":["homeassistant/status"],"requiresRestart":true,"title":"Home Assistant status topic","type":"string"},"ikea_ota_use_test_url":{"default":false,"description":"Use IKEA TRADFRI OTA test server, see OTA updates documentation","requiresRestart":true,"title":"IKEA TRADFRI OTA use test url","type":"boolean"},"last_seen":{"default":"disable","description":"Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message","enum":["disable","ISO_8601","ISO_8601_local","epoch"],"title":"Last seen","type":"string"},"legacy_api":{"default":true,"description":"Disables the legacy api (false = disable)","requiresRestart":true,"title":"Legacy API","type":"boolean"},"log_directory":{"description":"Location of log directory","examples":["data/log/%TIMESTAMP%"],"requiresRestart":true,"title":"Log directory","type":"string"},"log_file":{"default":"log.txt","description":"Log file name, can also contain timestamp","examples":["zigbee2mqtt_%TIMESTAMP%.log"],"requiresRestart":true,"title":"Log file","type":"string"},"log_level":{"default":"info","description":"Logging level","enum":["info","warn","error","debug"],"title":"Log level","type":"string"},"log_output":{"description":"Output location of the log, leave empty to supress logging","items":{"enum":["console","file","syslog"],"type":"string"},"requiresRestart":true,"title":"Log output","type":"array"},"log_rotation":{"default":true,"description":"Log rotation","requiresRestart":true,"title":"Log rotation","type":"boolean"},"log_symlink_current":{"default":false,"description":"Create symlink to current logs in the log directory","requiresRestart":true,"title":"Log symlink current","type":"boolean"},"log_syslog":{"properties":{"app_name":{"default":"Zigbee2MQTT","description":"The name of the application (Default: Zigbee2MQTT).","title":"Localhost","type":"string"},"eol":{"default":"/n","description":"The end of line character to be added to the end of the message (Default: Message without modifications).","title":"eol","type":"string"},"host":{"default":"localhost","description":"The host running syslogd, defaults to localhost.","title":"Host","type":"string"},"localhost":{"default":"localhost","description":"Host to indicate that log messages are coming from (Default: localhost).","title":"Localhost","type":"string"},"path":{"default":"/dev/log","description":"The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).","examples":["/dev/log","/var/run/syslog"],"title":"Path","type":"string"},"pid":{"default":"process.pid","description":"PID of the process that log messages are coming from (Default process.pid).","title":"PID","type":"string"},"port":{"default":123,"description":"The port on the host that syslog is running on, defaults to syslogd's default port.","title":"Port","type":"number"},"protocol":{"default":"tcp4","description":"The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).","examples":["tcp4","udp4","tls4","unix","unix-connect"],"title":"Protocol","type":"string"},"type":{"default":"5424","description":"The type of the syslog protocol to use (Default: BSD, also valid: 5424).","title":"Type","type":"string"}},"title":"syslog","type":"object"},"network_key":{"description":"Network encryption key, changing requires repairing all devices!","oneOf":[{"title":"Network key(string)","type":"string"},{"items":{"type":"number"},"title":"Network key(array)","type":"array"}],"requiresRestart":true,"title":"Network key"},"pan_id":{"description":"ZigBee pan ID, changing requires repairing all devices!","oneOf":[{"title":"Pan ID (string)","type":"string"},{"title":"Pan ID (number)","type":"number"}],"requiresRestart":true,"title":"Pan ID"},"report":{"description":"Enables report feature (deprecated)","readOnly":true,"requiresRestart":true,"title":"Reporting","type":"boolean"},"rtscts":{"description":"RTS / CTS Hardware Flow Control for serial port","requiresRestart":true,"title":"RTS / CTS","type":"boolean"},"soft_reset_timeout":{"description":"Soft reset ZNP after timeout","minimum":0,"readOnly":true,"requiresRestart":true,"title":"Soft reset timeout (deprecated)","type":"number"},"timestamp_format":{"description":"Log timestamp format","examples":["YYYY-MM-DD HH:mm:ss"],"requiresRestart":true,"title":"Timestamp format","type":"string"}},"title":"Advanced","type":"object"},"ban":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Ban (deprecated, use blocklist)","type":"array"},"blocklist":{"description":"Block devices from the network (by ieeeAddr)","items":{"type":"string"},"requiresRestart":true,"title":"Blocklist","type":"array"},"device_options":{"type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"type":"object"},"experimental":{"properties":{"output":{"description":"Examples when 'state' of a device is published json: topic: 'zigbee2mqtt/my_bulb' payload '{\"state\": \"ON\"}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: both json and attribute (see above)","enum":["attribute_and_json","attribute","json"],"title":"MQTT output type","type":"string"},"transmit_power":{"description":"Transmit power of adapter, only available for Z-Stack (CC253*/CC2652/CC1352) adapters, CC2652 = 5dbm, CC1352 max is = 20dbm (5dbm default)","requiresRestart":true,"title":"Transmit power","type":["number","null"]}},"title":"Experimental","type":"object"},"external_converters":{"description":"You can define external converters to e.g. add support for a DiY device","examples":["DIYRuZ_FreePad.js"],"items":{"type":"string"},"requiresRestart":true,"title":"External converters","type":"array"},"frontend":{"properties":{"auth_token":{"description":"Enables authentication, disabled by default","requiresRestart":true,"title":"Auth token","type":["string","null"]},"host":{"default":" 0.0.0.0","description":"Frontend binding host","requiresRestart":true,"title":"Bind host","type":"string"},"port":{"default":8080,"description":"Frontend binding port","requiresRestart":true,"title":"Port","type":"number"}},"title":"Frontend","type":"object"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant integration (MQTT discovery)","title":"Home Assistant integration","type":"boolean"},"map_options":{"properties":{"graphviz":{"properties":{"colors":{"properties":{"fill":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"font":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"line":{"properties":{"active":{"type":"string"},"inactive":{"type":"string"}},"type":"object"}},"type":"object"}},"type":"object"}},"title":"Networkmap","type":"object"},"mqtt":{"properties":{"base_topic":{"description":"MQTT base topic for Zigbee2MQTT MQTT messages","examples":["zigbee2mqtt"],"requiresRestart":true,"title":"Base topic","type":"string"},"ca":{"description":"Absolute path to SSL/TLS certificate of CA used to sign server and client certificates","examples":["/etc/ssl/mqtt-ca.crt"],"requiresRestart":true,"title":"Certificate authority","type":"string"},"cert":{"description":"Absolute path to SSL/TLS certificate for client-authentication","examples":["/etc/ssl/mqtt-client.crt"],"requiresRestart":true,"title":"SSL/TLS certificate","type":"string"},"client_id":{"description":"MQTT client ID","examples":["MY_CLIENT_ID"],"requiresRestart":true,"title":"Client ID","type":"string"},"force_disable_retain":{"default":false,"description":"Disable retain for all send messages. ONLY enable if you MQTT broker doesn't support retained message (e.g. AWS IoT core, Azure IoT Hub, Google Cloud IoT core, IBM Watson IoT Platform). Enabling will break the Home Assistant integration","requiresRestart":true,"title":"Force disable retain","type":"boolean"},"include_device_information":{"default":false,"description":"Include device information to mqtt messages","title":"Include device information","type":"boolean"},"keepalive":{"default":60,"description":"MQTT keepalive in second","requiresRestart":true,"title":"Keepalive","type":"number"},"key":{"description":"Absolute path to SSL/TLS key for client-authentication","examples":["/etc/ssl/mqtt-client.key"],"requiresRestart":true,"title":"SSL/TLS key","type":"string"},"password":{"description":"MQTT server authentication password","examples":["ILOVEPELMENI"],"requiresRestart":true,"title":"Password","type":"string"},"reject_unauthorized":{"default":true,"description":"Disable self-signed SSL certificate","requiresRestart":true,"title":"Reject unauthorized","type":"boolean"},"server":{"description":"MQTT server URL (use mqtts:// for SSL/TLS connection)","examples":["mqtt://localhost:1883"],"requiresRestart":true,"title":"MQTT server","type":"string"},"user":{"description":"MQTT server authentication user","examples":["johnnysilverhand"],"requiresRestart":true,"title":"User","type":"string"},"version":{"default":4,"description":"MQTT protocol version","examples":[4,5],"requiresRestart":true,"title":"Version","type":["number","null"]}},"required":["base_topic","server"],"title":"MQTT","type":"object"},"ota":{"properties":{"disable_automatic_update_check":{"default":false,"description":"Zigbee devices may request a firmware update, and do so frequently, causing Zigbee2MQTT to reach out to third party servers. If you disable these device initiated checks, you can still initiate a firmware update check manually.","title":"Disable automatic update check","type":"boolean"},"update_check_interval":{"default":1440,"description":"Your device may request a check for a new firmware update. This value determines how frequently third party servers may actually be contacted to look for firmware updates. The value is set in minutes, and the default is 1 day.","title":"Update check interval","type":"number"}},"title":"OTA updates","type":"object"},"passlist":{"description":"Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!","items":{"type":"string"},"requiresRestart":true,"title":"Passlist","type":"array"},"permit_join":{"default":false,"description":"Allow new devices to join (re-applied at restart)","title":"Permit join","type":"boolean"},"serial":{"properties":{"adapter":{"description":"Adapter type, not needed unless you are experiencing problems","enum":["deconz","zstack","zigate","ezsp"],"requiresRestart":true,"title":"Adapter","type":["string","null"]},"disable_led":{"default":false,"description":"Disable LED of the adapter if supported","requiresRestart":true,"title":"Disable led","type":"boolean"},"port":{"description":"Location of the adapter. To autodetect the port, set null","examples":["/dev/ttyACM0"],"requiresRestart":true,"title":"Port","type":["string","null"]}},"title":"Serial","type":"object"},"whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Whitelist (deprecated, use passlist)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"meta":{"maintrel":0,"majorrel":38,"minorrel":57,"product":0,"revision":"0x26390500","transportrev":0},"type":"ConBee/RaspBee"},"log_level":"info","network":{"channel":11,"extended_pan_id":"0xdddddddddddddddd","pan_id":6754},"permit_join":true,"restart_required":false,"version":"1.18.3"}
setstate MQTT2_zigbee_bridge 2021-05-30 00:30:50 type device_interview

Und das Leuchtmittel:

Ok, das Leuchtmittel und die Frage dann in einem weiteren Post...
...sorry!

Gruß, Joachim
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: MadMax-FHEM am 31 Mai 2021, 12:46:08
So das Leuchtmittel:

defmod MQTT2_zigbee_0x000d6ffffe53aff1 MQTT2_DEVICE zigbee_0x000d6ffffe53aff1
attr MQTT2_zigbee_0x000d6ffffe53aff1 devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr MQTT2_zigbee_0x000d6ffffe53aff1 devicetopic zigbee2mqtt/0x000d6ffffe53aff1
attr MQTT2_zigbee_0x000d6ffffe53aff1 icon hue_filled_white_and_color_e27_b22
attr MQTT2_zigbee_0x000d6ffffe53aff1 model zigbee2mqtt_light_rgbw_hex
attr MQTT2_zigbee_0x000d6ffffe53aff1 readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_0x000d6ffffe53aff1 room MQTT2_DEVICE
attr MQTT2_zigbee_0x000d6ffffe53aff1 setList on:noArg $DEVICETOPIC/set {"state":"ON"}\
  off:noArg $DEVICETOPIC/set {"state":"OFF"}\
  warm:noArg $DEVICETOPIC/set {"brightness": 200 , "color_temp": 360}\
  white:noArg $DEVICETOPIC/set {"brightness": 254, "color_temp": 250}\
  color_temp:colorpicker,CT,250,1,454 $DEVICETOPIC/set {"$EVTPART0":"$EVTPART1"}\
  brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}\
  hex:colorpicker,HEX,0,15,255 $DEVICETOPIC/set {"color":{"$EVTPART0":"#$EVTPART1"}}
attr MQTT2_zigbee_0x000d6ffffe53aff1 stateFormat {lc ReadingsVal($name,"state",0)}
attr MQTT2_zigbee_0x000d6ffffe53aff1 userReadings hex:color_y.* {Color::xyY2hex(ReadingsVal($name,"color_x",0),ReadingsVal($name,"color_y",0),ReadingsVal($name,"brightness",254))}
attr MQTT2_zigbee_0x000d6ffffe53aff1 webCmd toggle:on:off:brightness:color_temp:warm:white:hex

setstate MQTT2_zigbee_0x000d6ffffe53aff1 on
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:32:37 IODev MQTT2Server
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:32:37 associatedWith MQTT2_zigbee_pi
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:19 attrTemplateVersion 20200904
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 brightness 30
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 color_hue 34
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 color_mode color_temp
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 color_saturation 80
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 color_temp 370
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 color_x 0.4576
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 color_y 0.41
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 hex FFC249
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 linkquality 0
setstate MQTT2_zigbee_0x000d6ffffe53aff1 2021-05-30 00:34:52 state ON

Und dann (zum 3ten Mal ;)  ) die Frage:

was brauchst du noch?
Attribut rawEvents?
Und dann?
Eventmonitor?

Die config.yaml von zigbee2mqtt liefere ich auch noch nach...

(jetzt muss ich aber erst mal weg)

DANKE, Joachim
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: MadMax-FHEM am 31 Mai 2021, 12:50:59
OK, damit ist es schon klarer: das sind (wieder mal) neue Topics, die zum Teil dazu gedacht zu sein scheinen, eine Art "Auto-Erkennung" zu ermöglichen. Die Topics an sich sollten in die Bridge - wenn man sie überhaupt haben will.
Für mich sieht das meiste "informativ", aber unnötig aus... (=> {} als "Ziel").

Wäre gut, es würde sich mal jemand mit aktuellem zigbee2mqtt und etwas "M2D"-Know-How mal wieder mit dem bridge-Template beschäftigen, für mich ist es ziemliches Gerate...

Ok, danke.

Auch wenn (erneut) ich nicht so ganz verstehe was du meinst :-\ ;)

Also das mit => {} ist wohl sowas wie >/dev/null auf Shell-Ebene?
EDIT: ich werde das mal bei den Shelly "anwenden" (versuchen), ich glaube da weiß ich "wohin" (und TomLee hat ja auch gemeint ich soll das mal machen ;) Auch wenn es halt durch das attrTemplate "anders" kam)...

Aber wo muss das hin, also für welchen "Topic" (ist das hier überhaupt richtig, also "Topic"? / Ich muss die "mqtt-Sprache" erst noch lernen / gut "müssen" weiß ich nicht aber es wird wohl u.U. "passieren")...

Ich könnte höchstens mit einer "frischen" zigbee2mqtt Bridge (auf Basis von Raspbee und demnächst auch Conbee II) dienen und eben einem (oder 2) Test-fhem...
Mit KnowHow bzgl. MQTT sieht es (noch) nicht gut aus und bzgl. attrTemplates noch weniger, leider!

Wenn ich helfen kann (mit dem "Wenigen" was ich leisten kann): einfach Bescheid geben...

EDIT: bedeutet das, dass "das" o.ä. (jederzeit) wieder "passieren" kann, wenn man mal zigbee2mqtt updated? Eieiei...

Gruß, Joachim
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Mai 2021, 13:03:27
Also: Erst mal die "unveränderte", aber vollständige bridge:
attr MQTT2_zigbee_pi 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/log:.*\"type\".\"devices\".\"message\".* devices\
  $DEVICETOPIC/bridge/log:.* log\
  $DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }\
  $DEVICETOPIC/bridge/networkmap:.* {}\
  $DEVICETOPIC/bridge/networkmap/graphviz:.* graphviz\
  $DEVICETOPIC/bridge/networkmap/raw:.* raw\
  $DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/bridge/info:.* info\
  $DEVICETOPIC/bridge/devices:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/bridge/groups:.* groups\
  $DEVICETOPIC/bridge/extensions:.* extensions\
  $DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }

Und dann (zum 3ten Mal ;)  ) die Frage:

was brauchst du noch?
Attribut rawEvents?
Und dann?
Eventmonitor?
"Brauchen" ist ein großes Wort...
Über das genannte Vorgehen kannst du den MQTT-Verkehr mitschneiden, und ich wäre dann in der Lage, mir einen Reim daraus zu machen, ja, soweit korrekt...

ABER: Es wäre mAn. zielführender und schneller, wenn sich jemand das Ding mal "im Betrieb" in einer aktuellen Version ansehen würde.

Dann ist nämlich schneller zu erkennen, ob
- die "alten Topics" überhaupt noch bedient werden
- bestimmte Teile "umgezogen" sind (die erste "log"-readingList-Zeile => devices?)
- sich jetzt Doppelungen/Überschneidungen bei den Namen ergeben, weil woanders zusätzlich was auf diesen Namen gesendet wird ("devices")
- bestimmte Inhalte überhaupt für uns Sinn machen...

Zitat
Also das mit => {} ist wohl sowas wie >/dev/null auf Shell-Ebene?
Ja, hier in der Form: Perl-Auswertung (geschweifte Klammer), aber keine Rückgabe eines Hashes => ab in die Mülltonne...

Das ist kein Hexenwerk, sondern eher eine Fleiß-Aufgabe, und ich wäre ausgesprochen dankbar, wenn sich jemand (anderes) dafür berufen fühlen würde, der die M2D-Methoden schon etwas länger kennt; (Fragen zu stellen ist ja trotzdem nicht verboten, und manchmal ist das Ergebnis nicht eindeutig, dann ist es besser, man kann irgendwo nachlesen, warum was wie entschieden wurde...)

Und ja: sowas kann immer mal wieder passieren, wenn irgendein "Schlauberger" meint, seinen Dienst "verbessern" zu müssen (meistens ist es ok, aber hin und wieder verstehe "ich" es eben nicht, was bestimmte Dinge sollen und warum man sie nicht abschalten kann (=> SW-Lieferant) oder einfach abschaltet (=> User)...)
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: TomLee am 31 Mai 2021, 13:33:08
Zitat
es steht noch aus, das als Dienst laufen zu lassen

Kurz, bin am arbeiten, schau dir mal pm2 (https://pm2.keymetrics.io) an, ist kein Hexenwerk, starte damit mittlerweile sonos2mqtt, hombridge und zigbee2mqtt.

Würd ja die 2-3 Zeilen zur Einrichtung gleich zeigen, meine Doku der letzten 2-3 Monate ging aber letzte Woche flöten und müsste auch erstmal wieder nachschauen.
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: MadMax-FHEM am 31 Mai 2021, 14:43:48
Kurz, bin am arbeiten, schau dir mal pm2 (https://pm2.keymetrics.io) an, ist kein Hexenwerk, starte damit mittlerweile sonos2mqtt, hombridge und zigbee2mqtt.

Würd ja die 2-3 Zeilen zur Einrichtung gleich zeigen, meine Doku der letzten 2-3 Monate ging aber letzte Woche flöten und müsste auch erstmal wieder nachschauen.

Danke.

Das nutze ich bereits für meinen MagicMirror :)
Jetzt weiß ich, dass es hier auch geht...

Mal sehen.

Das ist allerdings ja der letzte Schritt.

Hier noch die config.yaml:

permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://192.168.1.121'
  client_id: zigbee_pi
serial:
  port: /dev/ttyAMA0
  adapter: deconz
advanced:
  report: true
  network_key: GENERATE
frontend:
  port: 8080
  host: 0.0.0.0

Gruß, Joachim
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: MadMax-FHEM am 31 Mai 2021, 14:53:57
Also: Erst mal die "unveränderte", aber vollständige bridge:
attr MQTT2_zigbee_pi 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/log:.*\"type\".\"devices\".\"message\".* devices\
  $DEVICETOPIC/bridge/log:.* log\
  $DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }\
  $DEVICETOPIC/bridge/networkmap:.* {}\
  $DEVICETOPIC/bridge/networkmap/graphviz:.* graphviz\
  $DEVICETOPIC/bridge/networkmap/raw:.* raw\
  $DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/bridge/info:.* info\
  $DEVICETOPIC/bridge/devices:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/bridge/groups:.* groups\
  $DEVICETOPIC/bridge/extensions:.* extensions\
  $DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }

Also ich hab das jetzt mal in das Device "eingefügt" und die andere Bridge () gelöscht.
Mal sehen was passiert, wenn ich das (dann) mal wieder "anwerfe"...



"Brauchen" ist ein großes Wort...
Über das genannte Vorgehen kannst du den MQTT-Verkehr mitschneiden, und ich wäre dann in der Lage, mir einen Reim daraus zu machen, ja, soweit korrekt...

Äh, und das mit 3x war so gemeint: ich hatte ja den Post schon fertig (inkl. Frage) und dann war er zu groß und dann noch einen Post, wieder mit der Frage, wieder zu groß usw. ;)

Ok, das kann ich dann mal machen.
Äh (wieder dumme Frage), wie sollte die RegEx denn sein?


ABER: Es wäre mAn. zielführender und schneller, wenn sich jemand das Ding mal "im Betrieb" in einer aktuellen Version ansehen würde.

Dann ist nämlich schneller zu erkennen, ob
- die "alten Topics" überhaupt noch bedient werden
- bestimmte Teile "umgezogen" sind (die erste "log"-readingList-Zeile => devices?)
- sich jetzt Doppelungen/Überschneidungen bei den Namen ergeben, weil woanders zusätzlich was auf diesen Namen gesendet wird ("devices")
- bestimmte Inhalte überhaupt für uns Sinn machen...
Ja, hier in der Form: Perl-Auswertung (geschweifte Klammer), aber keine Rückgabe eines Hashes => ab in die Mülltonne...

Das ist kein Hexenwerk, sondern eher eine Fleiß-Aufgabe, und ich wäre ausgesprochen dankbar, wenn sich jemand (anderes) dafür berufen fühlen würde, der die M2D-Methoden schon etwas länger kennt; (Fragen zu stellen ist ja trotzdem nicht verboten, und manchmal ist das Ergebnis nicht eindeutig, dann ist es besser, man kann irgendwo nachlesen, warum was wie entschieden wurde...)

Hmm, da bin ich aber (aktueller Stand) wohl (noch) raus :-\
Da würde es wohl auch nichts nützen mein(e) Testsystem(e) mal für eine Weile "zur Verfügung zu stellen"?


Fragen stellen: da bin ich (fleißig) dabei! 8)


Und ja: sowas kann immer mal wieder passieren, wenn irgendein "Schlauberger" meint, seinen Dienst "verbessern" zu müssen (meistens ist es ok, aber hin und wieder verstehe "ich" es eben nicht, was bestimmte Dinge sollen und warum man sie nicht abschalten kann (=> SW-Lieferant) oder einfach abschaltet (=> User)...)

Ok, dachte ich mir schon ;)

Danke, Joachim

Jetzt brauche ich erst mal wieder Zeit...
...zu viele "Projekte" und (viel) zu wenig Zeit...
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: Beta-User am 31 Mai 2021, 15:28:21
Äh (wieder dumme Frage), wie sollte die RegEx denn sein?
So sollte es klappen, die Events auf den z2m-Zweig zu beschränken:
zigbee2mqtt/.*

Zitat
Hmm, da bin ich aber (aktueller Stand) wohl (noch) raus :-\
Einfacher wäre es, es würde jemand tun, der (in dieser Sache) etwas weiter ist, soweit korrekt.

Was aber nicht heißt, dass das nicht klappen kann, wenn du dich dazu geduldig auf den Hosenboden setzt :P .
Wenn ich näher darüber nachdenke, fände ich das sogar eine gute Idee; du kannst dabei einiges über die Funktionsweise von M2D lernen, und FHEM an sich ist ja bekannt (v.a. auch die eocr-Attribute, was ggf. dann auch an anderer Stelle mal hilfreich sein kann, wenn es um Feinheiten geht, zu denen mir die Hardware fehlt...).

Zitat
Da würde es wohl auch nichts nützen mein(e) Testsystem(e) mal für eine Weile "zur Verfügung zu stellen"?
Jein. Mir würde es helfen, ich will aber aus mehreren Gründen nicht so recht (angefangen dabei, dass es sinnvoll ist, diese Art Kenntnisse breiter bei Usern wie dir zu verankern und ggf. auch "meine Sichtweisen" gegen den Strich zu bürsten; ich bin nämlich auch nicht unfehlbar, schon gleich nicht, wenn ich nicht der unmittelbar "Leidtragende" bin...)

Zitat
...zu viele "Projekte" und (viel) zu wenig Zeit...
Das eilt ja im Prinzip auch nicht und muss auch nicht auf den ersten Schuss "fertig" sein ;) . "Tote" Topics kann man ja (ggf. auch aus Kompabilitätsgründen für eine Übergangszeit sogar absichtlich) noch eine Weile mitführen und erst später bereinigen etc....
Titel: Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
Beitrag von: TomLee am 01 Juni 2021, 18:02:18
Ich hab gestern Abend mal 1.18.3 installiert.

Und zwar nach meiner Methode den Ordner zigbee2mqtt zu löschen und neu zu installieren:

Zitat
Im Ordner opt/fhem/zigbee2mqtt/data diese Dateien sichern:
configuration.yaml und database.db
Den Ordner zigbee2mqtt löschen.

Als user pi:
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R fhem:dialout /opt/zigbee2mqtt
su fhem
cd /opt/zigbee2mqtt
npm ci --production

prüfen ob alles OK
npm ci

sollte ergeben
node-pre-gyp info ok
added 383 packages in 111.613s

(Warnungen kann man ignorieren)

testen:
npm start
npm stop

Ergebnis im Log nachdem ich den neuen Ordner data durch den alten ersetzt habe:
fhem@FHEMPIOS:/opt/zigbee2mqtt$ npm start

> zigbee2mqtt@1.18.3 start /opt/zigbee2mqtt
> node index.js

Zigbee2MQTT:info  2021-05-31 22:12:14: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2021-05-31.22-12-12' filename: log.txt
Zigbee2MQTT:info  2021-05-31 22:12:15: Starting Zigbee2MQTT version 1.18.3 (commit #669489fe)
Zigbee2MQTT:info  2021-05-31 22:12:15: Starting zigbee-herdsman (0.13.92)
Zigbee2MQTT:info  2021-05-31 22:12:24: zigbee-herdsman started
Zigbee2MQTT:info  2021-05-31 22:12:24: Coordinator firmware version: '{"meta":{"maintrel":0,"majorrel":2,"minorrel":0,"product":0,"revision":"","transportrev":2},"type":"zStack12"}'
Zigbee2MQTT:info  2021-05-31 22:12:24: Currently 11 devices are joined:
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d000360ba24 (0x00158d000360ba24): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d0003274a6c (0x00158d0003274a6c): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d0003609724 (0x00158d0003609724): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d000340eac3 (0x00158d000340eac3): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d0003602b8a (0x00158d0003602b8a): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d000302cc1e (0x00158d000302cc1e): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d00032c6d54 (0x00158d00032c6d54): RTCGQ01LM - Xiaomi MiJia human body movement sensor (EndDevice)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d0003278378 (0x00158d0003278378): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d0002fdc5d7 (0x00158d0002fdc5d7): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d00028aedf7 (0x00158d00028aedf7): MFKZQ01LM - Xiaomi Mi/Aqara smart home cube (EndDevice)
Zigbee2MQTT:info  2021-05-31 22:12:24: 0x00158d00031c22fa (0x00158d00031c22fa): RTCGQ01LM - Xiaomi MiJia human body movement sensor (EndDevice)
Zigbee2MQTT:warn  2021-05-31 22:12:24: `permit_join` set to  `true` in configuration.yaml.
Zigbee2MQTT:warn  2021-05-31 22:12:24: Allowing new devices to join.
Zigbee2MQTT:warn  2021-05-31 22:12:24: Set `permit_join` to `false` once you joined all devices.
Zigbee2MQTT:info  2021-05-31 22:12:24: Zigbee: allowing new devices to join.
Zigbee2MQTT:info  2021-05-31 22:12:24: Configuring '0x00158d000360ba24'
Zigbee2MQTT:info  2021-05-31 22:12:24: Connecting to MQTT server at mqtt://localhost
Zigbee2MQTT:info  2021-05-31 22:12:25: Connected to MQTT server
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d000360ba24', payload '{"brightness":254,"state":"OFF"}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d0003274a6c', payload '{"brightness":254,"state":"OFF"}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d0003609724', payload '{"brightness":254,"state":"OFF"}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d000340eac3', payload '{"brightness":254,"state":"OFF"}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d0003602b8a', payload '{"brightness":254,"state":"OFF"}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d000302cc1e', payload '{"battery":100,"illuminance":17,"illuminance_lux":17,"occupancy":false,"voltage":3005}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d00032c6d54', payload '{"battery":86,"occupancy":false,"voltage":2975}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d0003278378', payload '{"brightness":254,"state":"OFF"}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d0002fdc5d7', payload '{"brightness":254,"state":"OFF"}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d00028aedf7', payload '{"angle":11.89,"battery":100,"side":4,"voltage":3075}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/0x00158d00031c22fa', payload '{"battery":100,"occupancy":false,"voltage":3005}'
Zigbee2MQTT:info  2021-05-31 22:12:25: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"669489fe","coordinator":{"meta":{"maintrel":0,"majorrel":2,"minorrel":0,"product":0,"revision":"","transportrev":2},"type":"zStack12"},"log_level":"info","network":{"channel":11,"extendedPanID":"0xdddddddddddddddd","panID":6755},"permit_join":true,"version":"1.18.3"}'
Zigbee2MQTT:info  2021-05-31 22:12:44: Successfully configured '0x00158d000360ba24'
Zigbee2MQTT:info  2021-05-31 22:12:44: Configuring '0x00158d0003274a6c'
Zigbee2MQTT:info  2021-05-31 22:13:04: Successfully configured '0x00158d0003274a6c'
Zigbee2MQTT:info  2021-05-31 22:13:04: Configuring '0x00158d0003609724'
Zigbee2MQTT:error 2021-05-31 22:13:10: Publish 'set' 'state' to '0x00158d000360ba24' failed: 'Error: Command 0x00158d000360ba24/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:13:10: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d000360ba24' failed: 'Error: Command 0x00158d000360ba24/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d000360ba24"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:13:24: Publish 'set' 'state' to '0x00158d0003274a6c' failed: 'Error: Command 0x00158d0003274a6c/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:13:24: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003274a6c' failed: 'Error: Command 0x00158d0003274a6c/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003274a6c"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:13:30: Publish 'set' 'state' to '0x00158d000340eac3' failed: 'Error: Command 0x00158d000340eac3/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:13:30: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d000340eac3' failed: 'Error: Command 0x00158d000340eac3/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d000340eac3"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:13:44: Publish 'set' 'state' to '0x00158d0003602b8a' failed: 'Error: Command 0x00158d0003602b8a/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:13:44: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003602b8a' failed: 'Error: Command 0x00158d0003602b8a/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003602b8a"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:13:50: Publish 'set' 'state' to '0x00158d0003609724' failed: 'Error: Command 0x00158d0003609724/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:13:50: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003609724' failed: 'Error: Command 0x00158d0003609724/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003609724"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:14:04: Publish 'set' 'state' to '0x00158d0003278378' failed: 'Error: Command 0x00158d0003278378/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:14:04: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003278378' failed: 'Error: Command 0x00158d0003278378/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003278378"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:14:11: Publish 'set' 'state' to '0x00158d0003609724' failed: 'Error: Command 0x00158d0003609724/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:14:11: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003609724' failed: 'Error: Command 0x00158d0003609724/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003609724"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:14:24: Publish 'set' 'state' to '0x00158d0003278378' failed: 'Error: Command 0x00158d0003278378/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:14:24: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003278378' failed: 'Error: Command 0x00158d0003278378/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003278378"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:info  2021-05-31 22:14:31: Successfully configured '0x00158d0003609724'
Zigbee2MQTT:info  2021-05-31 22:14:31: Configuring '0x00158d000340eac3'
Zigbee2MQTT:info  2021-05-31 22:14:51: Successfully configured '0x00158d000340eac3'
Zigbee2MQTT:info  2021-05-31 22:14:51: Configuring '0x00158d0003602b8a'
Zigbee2MQTT:info  2021-05-31 22:15:12: Successfully configured '0x00158d0003602b8a'
Zigbee2MQTT:info  2021-05-31 22:15:12: Configuring '0x00158d0003278378'
Zigbee2MQTT:info  2021-05-31 22:15:32: Successfully configured '0x00158d0003278378'
Zigbee2MQTT:info  2021-05-31 22:15:32: Configuring '0x00158d0002fdc5d7'
Zigbee2MQTT:info  2021-05-31 22:15:52: Successfully configured '0x00158d0002fdc5d7'
Zigbee2MQTT:error 2021-05-31 22:16:51: Publish 'set' 'state' to '0x00158d0003609724' failed: 'Error: Command 0x00158d0003609724/1 genOnOff.off({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:16:51: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003609724' failed: 'Error: Command 0x00158d0003609724/1 genOnOff.off({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003609724"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:16:51: Publish 'set' 'state' to '0x00158d0003278378' failed: 'Error: Command 0x00158d0003278378/1 genOnOff.off({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:16:51: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003278378' failed: 'Error: Command 0x00158d0003278378/1 genOnOff.off({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003278378"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:17:11: Publish 'set' 'state' to '0x00158d0003602b8a' failed: 'Error: Command 0x00158d0003602b8a/1 genOnOff.off({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:17:11: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003602b8a' failed: 'Error: Command 0x00158d0003602b8a/1 genOnOff.off({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003602b8a"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:17:11: Publish 'set' 'state' to '0x00158d000360ba24' failed: 'Error: Command 0x00158d000360ba24/1 genOnOff.off({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:17:11: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d000360ba24' failed: 'Error: Command 0x00158d000360ba24/1 genOnOff.off({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d000360ba24"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:17:31: Publish 'set' 'state' to '0x00158d000340eac3' failed: 'Error: Command 0x00158d000340eac3/1 genOnOff.off({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:17:31: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d000340eac3' failed: 'Error: Command 0x00158d000340eac3/1 genOnOff.off({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d000340eac3"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:17:31: Publish 'set' 'state' to '0x00158d0003274a6c' failed: 'Error: Command 0x00158d0003274a6c/1 genOnOff.off({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:17:31: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003274a6c' failed: 'Error: Command 0x00158d0003274a6c/1 genOnOff.off({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003274a6c"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:17:51: Publish 'set' 'state' to '0x00158d0003609724' failed: 'Error: Command 0x00158d0003609724/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:17:51: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003609724' failed: 'Error: Command 0x00158d0003609724/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003609724"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:17:51: Publish 'set' 'state' to '0x00158d0003602b8a' failed: 'Error: Command 0x00158d0003602b8a/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:17:51: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003602b8a' failed: 'Error: Command 0x00158d0003602b8a/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003602b8a"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:18:11: Publish 'set' 'state' to '0x00158d0003274a6c' failed: 'Error: Command 0x00158d0003274a6c/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:18:11: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003274a6c' failed: 'Error: Command 0x00158d0003274a6c/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003274a6c"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:18:12: Publish 'set' 'state' to '0x00158d0003278378' failed: 'Error: Command 0x00158d0003278378/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:18:12: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003278378' failed: 'Error: Command 0x00158d0003278378/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003278378"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:18:31: Publish 'set' 'state' to '0x00158d000340eac3' failed: 'Error: Command 0x00158d000340eac3/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:18:31: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d000340eac3' failed: 'Error: Command 0x00158d000340eac3/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d000340eac3"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:18:32: Publish 'set' 'state' to '0x00158d000360ba24' failed: 'Error: Command 0x00158d000360ba24/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:18:32: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d000360ba24' failed: 'Error: Command 0x00158d000360ba24/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d000360ba24"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:18:52: Publish 'set' 'state' to '0x00158d000360ba24' failed: 'Error: Command 0x00158d000360ba24/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:18:52: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d000360ba24' failed: 'Error: Command 0x00158d000360ba24/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d000360ba24"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:18:52: Publish 'set' 'state' to '0x00158d0003274a6c' failed: 'Error: Command 0x00158d0003274a6c/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:18:52: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d0003274a6c' failed: 'Error: Command 0x00158d0003274a6c/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d0003274a6c"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-05-31 22:19:12: Publish 'set' 'state' to '0x00158d000340eac3' failed: 'Error: Command 0x00158d000340eac3/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:info  2021-05-31 22:19:12: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d000340eac3' failed: 'Error: Command 0x00158d000340eac3/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d000340eac3"},"type":"zigbee_publish_error"}'

Die Lampen können nicht mehr geschalten werden, BMs und den Cube hatt ich erstmal keine Lust mehr im Haus rumzurennen um zu testen.

Dann hat mir das doch keine Ruhe gelassen und ich hab doch nochmal alle 11 Devices neu gepairt, nach 23 Uhr.
Ich hab am PC und Tablet (zum pairen) gearbeitet ich verstehe nicht das ich letzt in den Log Dateien kein Log mehr finde zu Pairvorgang, egal hat auf jedenfall geklappt, die "Sensoren" (BMs und Cube) schicken ganz normal ihre Daten, die Lampen können weiterhin nicht geschalten werden.

Der eine BM (der mit illuminance) schickt plötzlich ein temperature mit ?  ???
Zigbee2MQTT:info  2021-06-01 17:44:01: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2021-06-01.17-43-59' filename: log.txt
Zigbee2MQTT:info  2021-06-01 17:44:01: Starting Zigbee2MQTT version 1.18.3 (commit #669489fe)
Zigbee2MQTT:info  2021-06-01 17:44:01: Starting zigbee-herdsman (0.13.92)
Zigbee2MQTT:info  2021-06-01 17:44:10: zigbee-herdsman started
Zigbee2MQTT:info  2021-06-01 17:44:10: Coordinator firmware version: '{"meta":{"maintrel":0,"majorrel":2,"minorrel":0,"product":0,"revision":"","transportrev":2},"type":"zStack12"}'
Zigbee2MQTT:info  2021-06-01 17:44:10: Currently 10 devices are joined:
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d0003278378 (0x00158d0003278378): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d000360ba24 (0x00158d000360ba24): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d0003602b8a (0x00158d0003602b8a): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d0003609724 (0x00158d0003609724): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d0003274a6c (0x00158d0003274a6c): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d000340eac3 (0x00158d000340eac3): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d000302cc1e (0x00158d000302cc1e): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d00028aedf7 (0x00158d00028aedf7): MFKZQ01LM - Xiaomi Mi/Aqara smart home cube (EndDevice)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d0002fdc5d7 (0x00158d0002fdc5d7): 404006/404008/404004 - Müller Licht Tint LED bulb GU10/E14/E27 350/470/806 lumen, dimmable, opal white (Router)
Zigbee2MQTT:info  2021-06-01 17:44:10: 0x00158d00032c6d54 (0x00158d00032c6d54): RTCGQ01LM - Xiaomi MiJia human body movement sensor (EndDevice)
Zigbee2MQTT:warn  2021-06-01 17:44:10: `permit_join` set to  `true` in configuration.yaml.
Zigbee2MQTT:warn  2021-06-01 17:44:10: Allowing new devices to join.
Zigbee2MQTT:warn  2021-06-01 17:44:10: Set `permit_join` to `false` once you joined all devices.
Zigbee2MQTT:info  2021-06-01 17:44:10: Zigbee: allowing new devices to join.
Zigbee2MQTT:info  2021-06-01 17:44:11: Connecting to MQTT server at mqtt://localhost
Zigbee2MQTT:info  2021-06-01 17:44:11: Connected to MQTT server
Zigbee2MQTT:info  2021-06-01 17:44:11: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
Zigbee2MQTT:info  2021-06-01 17:44:11: MQTT publish: topic 'zigbee2mqtt/0x00158d000302cc1e', payload '{"battery":100,"illuminance":1000,"illuminance_lux":1000,"occupancy":false,"temperature":28,"voltage":3005}'
Zigbee2MQTT:info  2021-06-01 17:44:11: MQTT publish: topic 'zigbee2mqtt/0x00158d00028aedf7', payload '{"angle":15.39,"battery":100,"voltage":3065}'
Zigbee2MQTT:info  2021-06-01 17:44:11: MQTT publish: topic 'zigbee2mqtt/0x00158d00032c6d54', payload '{"battery":86,"occupancy":false,"voltage":2975}'
Zigbee2MQTT:info  2021-06-01 17:44:12: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"669489fe","coordinator":{"meta":{"maintrel":0,"majorrel":2,"minorrel":0,"product":0,"revision":"","transportrev":2},"type":"zStack12"},"log_level":"info","network":{"channel":11,"extendedPanID":"0xdddddddddddddddd","panID":6755},"permit_join":true,"version":"1.18.3"}'
Zigbee2MQTT:info  2021-06-01 17:44:19: MQTT publish: topic 'zigbee2mqtt/0x00158d000302cc1e', paylo