Zigbee2mqtt - Debugging

Fortsetzung der Diskussion aus Zigbee2mqtt: Docker-Testimage auf Gladys v4-Basis:

Genau, dein Gerät ist /dev/ttyUSB0 auf deinem Raspberry und /dev/ttyACM0 im Zigbee2Mqtt-Container (absichtlich fest).
Daher meine Frage, hast du /dev/ttyUSB0 in der Konfiguration korrekt ausgewählt?
Und zeigt dir der Befehl ls /dev/* vom Raspberry (außerhalb eines Containers) das Gerät /dev/ttyUSB0 an?

@cicoub13 ich habe einen Fehler beim Erstellen des Containers:

Zigbee2MQTT:info  2021-02-01 09:59:43: Starten von Zigbee2MQTT Version 1.17.0 (Commit #07cdc9d)
Zigbee2MQTT:info  2021-02-01 09:59:43: Starten von zigbee-herdsman (0.13.46)
Zigbee2MQTT:error 2021-02-01 09:59:44: Fehler beim Starten von zigbee-herdsman
Zigbee2MQTT:error 2021-02-01 09:59:44: Zigbee konnte nicht gestartet werden
Zigbee2MQTT:error 2021-02-01 09:59:44: Beenden...
Zigbee2MQTT:error 2021-02-01 09:59:44: Fehler: Fehler beim Öffnen von serialport 'Error: Error: Datei oder Verzeichnis nicht gefunden, kann /dev/ttyUSB0 nicht öffnen'
    at Znp.<anonymous> (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32)
    at Generator.next (<anonymous>)
    at /app/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71
    at new Promise (<anonymous>)
    at __awaiter (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12)
    at SerialPort.<anonymous> (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49)
    at SerialPort._error (/app/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
    at /app/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.17.0 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Das Skript zum Starten von zigbee2mqtt@1.17.0 ist fehlgeschlagen.
npm ERR! Dies ist wahrscheinlich kein Problem mit npm. Es gibt wahrscheinlich zusätzliche Protokollausgaben darüber.

npm ERR! Ein vollständiger Log dieser Ausführung kann gefunden werden in:
npm ERR!     /root/.npm/_logs/2021-02-01T09_59_44_151Z-debug.log

Hast du das Gerät in der Konfiguration richtig konfiguriert? Hier sehe ich /dev/ttyUSB0 und ist es physisch richtig angeschlossen?

Ja, ich habe eine neue Datenbank erstellt und dieses Gerät ausgewählt.

Nur zur Sicherheit habe ich mein USB-Stick ein- und wieder ausgesteckt, den Container gelöscht und den Dienst erneut gestartet.

$ docker logs -f --since 1m gladys-zigbee2mqtt
> zigbee2mqtt@1.17.0 start /app
> node index.js

Zigbee2MQTT:info  2021-02-01 12:22:52: Logging to console and directory: '/app/data/log/2021-02-01.12-22-51' filename: log.txt
Zigbee2MQTT:info  2021-02-01 12:22:52: Starting Zigbee2MQTT version 1.17.0 (commit #07cdc9d)
Zigbee2MQTT:info  2021-02-01 12:22:52: Starting zigbee-herdsman (0.13.46)
Zigbee2MQTT:error 2021-02-01 12:22:53: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2021-02-01 12:22:53: Failed to start zigbee
Zigbee2MQTT:error 2021-02-01 12:22:53: Exiting...
Zigbee2MQTT:error 2021-02-01 12:22:53: Error: Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/ttyUSB0'
    at Znp.<anonymous> (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32)
    at Generator.next (<anonymous>)
    at /app/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71
    at new Promise (<anonymous>)
    at __awaiter (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12)
    at SerialPort.<anonymous> (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49)
    at SerialPort._error (/app/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
    at /app/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.17.0 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.17.0 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!     /root/.npm/_logs/2021-02-01T12_22_53_243Z-debug.log

Das Gerät ist nicht korrekt zwischen Host und Container gemappt @cicoub13:

$ docker inspect gladys-zigbee2mqtt | grep tty
                    "PathOnHost": "/dev/ttyUSB0",
                    "PathInContainer": "/dev/ttyACM0",

Ich habe es geschafft, den Container zu starten, indem ich geschummelt habe:

$ docker restart gladys-zigbee2mqtt ; docker exec -ti gladys-zigbee2mqtt ln -s /dev/ttyACM0 /dev/ttyUSB0
gladys-zigbee2mqtt

Allerdings kann es den MQTT-Server nicht kontaktieren:

Using '/app/data' as data directory

> zigbee2mqtt@1.17.0 start /app
> node index.js

Zigbee2MQTT:info  2021-02-01 12:28:29: Logging to console and directory: '/app/data/log/2021-02-01.12-28-28' filename: log.txt
Zigbee2MQTT:info  2021-02-01 12:28:29: Starting Zigbee2MQTT version 1.17.0 (commit #07cdc9d)
Zigbee2MQTT:info  2021-02-01 12:28:29: Starting zigbee-herdsman (0.13.46)
Zigbee2MQTT:info  2021-02-01 12:28:40: zigbee-herdsman started
Zigbee2MQTT:info  2021-02-01 12:28:40: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20201026,"transportrev":2},"type":"zStack3x0"}'
Zigbee2MQTT:info  2021-02-01 12:28:40: Currently 7 devices are joined:
Zigbee2MQTT:info  2021-02-01 12:28:40: 0x00158d00044e9780 (0x00158d00044e9780): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
Zigbee2MQTT:info  2021-02-01 12:28:40: 0x00158d0003f26e95 (0x00158d0003f26e95): MCCGQ11LM - Xiaomi Aqara door & window contact sensor (EndDevice)
Zigbee2MQTT:info  2021-02-01 12:28:40: 0x00158d0003173fdd (0x00158d0003173fdd): MCCGQ11LM - Xiaomi Aqara door & window contact sensor (EndDevice)
Zigbee2MQTT:info  2021-02-01 12:28:40: 0x00158d000460bf42 (0x00158d000460bf42): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
Zigbee2MQTT:info  2021-02-01 12:28:40: 0x00158d000451f624 (0x00158d000451f624): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
Zigbee2MQTT:info  2021-02-01 12:28:40: 0x00158d0004843eb4 (0x00158d0004843eb4): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
Zigbee2MQTT:info  2021-02-01 12:28:40: 0x842e14fffe19ef0c (0x842e14fffe19ef0c): QS-Zigbee-D02-TRIAC-L - Lonsonho 1 gang smart dimmer switch module without neutral (Router)
Zigbee2MQTT:info  2021-02-01 12:28:40: Zigbee: disabling joining new devices.
Zigbee2MQTT:info  2021-02-01 12:28:40: Started frontend on port 0.0.0.0:8080
Zigbee2MQTT:info  2021-02-01 12:28:40: Connecting to MQTT server at mqtt://localhost:1884
Zigbee2MQTT:error 2021-02-01 12:28:50: Not connected to MQTT server!

@cicoub13 und @lmilcent ich habe euch die hier ausgetauschten Nachrichten zurückgeschickt :slight_smile:

Ja, in der Oberfläche wird genau das angezeigt.

pi@gladys:~ $ ls /dev/*  | grep ttyUSB0
/dev/ttyUSB0

pi@gladys:~ $ dmesg | grep tty
[ 3902.668761] cp210x ttyUSB0: cp210x converter jetzt von ttyUSB0 getrennt
[ 3906.563703] usb 1-1.4: cp210x converter jetzt an ttyUSB0 angeschlossen

Ich habe es heute Morgen noch einmal getestet und es funktioniert auf meiner Seite mit einem Gerät, das /dev/ttyACM0 auf meiner Host-Maschine ist. Aber es muss ein Problem geben, wenn der Gerätename anders ist. Ich ermittle :thinking:

2021-02-02_08-37

2021-02-02_08-43

Bei mir ist es auf der Maschine genau umgekehrt, es ist auf der Host-Seite ttyUSB0.

Hast du diese Zeilen im Container Gladys (aber mit /dev/ttyUSB0)?

2021-02-02_08-43

Ja genau, das ist es.

Hallo zusammen,

Ich bin nur kurz hier.
@cicoub13 Super für die Community, dass ihr die Arbeit an diesem Modul übernommen habt, denn ich habe wirklich keine Zeit mehr dafür… :sob:
Ich werde versuchen, ab und zu zu helfen, wenn ich kann.
.

Hast du die Konfigurationsdateien in /var/gladysassistant gelöscht, denn soweit ich mich erinnere, hast du die Z2M-Konfigurationsdatei manuell geändert, glaube ich?
Es muss /dev/ttyACM0 in der Konfiguration stehen

Gut beobachtet!! Verdammt, ich hatte diese Änderung beim letzten Debugging vergessen.

Danke @reno und @cicoub13 für die Zeit!

Die Container starten jetzt super schnell und ohne Probleme.
Allerdings wird in Gladys kein Gerät mehr erkannt, im Gegensatz zu dem, was der MQTT-Container anzeigt?!

Ist alles in Ordnung auf der Konfigurationsseite http://gladys-ip:1080/dashboard/integration/device/zigbee2mqtt/setup?
Kannst du mir die Logs der beiden Container geben?

Erstes Problem (gelöst): Fehlfunktion zwischen mqtt und Gladys

Tatsächlich zeigt die Konfigurationsseite regelmäßig an, dass alles in Ordnung ist, aber von meinem Computer aus habe ich bemerkt, dass es regelmäßig „springt“.

Es scheint also der mqtt-Container zu sein, der das Problem verursacht:

1612425253: Neue Verbindung von 127.0.0.1 auf Port 1884.
1612425253: Client gladys-assistant-main-instance bereits verbunden, alte Verbindung wird geschlossen.
1612425253: Neuer Client verbunden von 127.0.0.1 als gladys-assistant-main-instance (p2, c1, k60, u'gladys').
1612425258: Neue Verbindung von 127.0.0.1 auf Port 1884.
1612425258: Client gladys-assistant-main-instance bereits verbunden, alte Verbindung wird geschlossen.
1612425258: Neuer Client verbunden von 127.0.0.1 als gladys-assistant-main-instance (p2, c1, k60, u'gladys').

Nach dem Neustart aller Container verschwindet dieser Fehler.

Zweites Problem: Keine Antwort vom Scan

Wenn ich auf „Scannen“ klicke, wird nichts angezeigt, außer der Meldung „Keine Antwort vom Scan“.

Gladys-Logs:

2021-02-04T09:00:42+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/config/devices/get wird nicht behandelt.
2021-02-04T09:00:43+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/logging wird nicht behandelt.
2021-02-04T09:00:43+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/logging wird nicht behandelt.
2021-02-04T09:00:43+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/log wird nicht behandelt.

Logs Zigbee2mqtt:

Zigbee2MQTT:info  2021-02-04 08:00:42: MQTT publish: topic 'zigbee2mqtt/bridge/config/devices', payload '[{"dateCode":"20201026","friendly_name":"Coordinator","ieeeAddr":"0x00124b0021cc41df","lastSeen":1612425642997,"networkAddress":0,"softwareBuildID":"zStack3x0","type":"Coordinator"}]'
Zigbee2MQTT:info  2021-02-04 08:00:43: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":[{"dateCode":"20201026","friendly_name":"Coordinator","ieeeAddr":"0x00124b0021cc41df","lastSeen":1612425643053,"networkAddress":0,"softwareBuildID":"zStack3x0","type":"Coordinator"}],"type":"devices"}'

Es scheint, dass Gladys nicht mit Zigbee2Mqtt synchronisiert ist und die falschen Funktionen zum falschen Zeitpunkt verwendet.

Drittes Problem: Zuordnung zulassen

Wenn ich auf « Zuordnung zulassen » klicke, sehe ich folgende Logs:

Gladys:

2021-02-04T09:07:07+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/logging wird nicht behandelt.
2021-02-04T09:07:07+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/logging wird nicht behandelt.
2021-02-04T09:07:07+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/info wird nicht behandelt.
2021-02-04T09:07:07+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/logging wird nicht behandelt.

Zigbee2mqtt:

Zigbee2MQTT:info  2021-02-04 08:07:07: Zigbee: allowing new devices to join.
Zigbee2MQTT:info  2021-02-04 08:07:07: MQTT publish: topic 'zigbee2mqtt/bridge/info', payload '{"commit":"99274c7","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":"/app/data/log/%TIMESTAMP%","log_file":"log.txt","log_level":"info","log_output":["console","file"],"log_rotation":true,"log_syslog":{},"pan_id":6754,"report":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"ban":[],"blocklist":[],"device_options":{},"devices":{},"experimental":{"new_api":true,"output":"json"},"external_converters":[],"frontend":{"port":8080},"groups":{},"homeassistant":false,"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","force_disable_retain":false,"include_device_information":false,"server":"mqtt://localhost:1884","user":"z2m"},"passlist":[],"permit_join":false,"serial":{"disable_led":false,"port":"/dev/ttyACM0"},"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"},"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"},"retrieve_state":{"description":"Retrieves the state after setting it (Should only be enabled when the reporting feature does not work for this device)","title":"Retrieve State","type":"boolean"}},"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)","title":"Adapter concurrency","type":["number","null"]},"adapter_delay":{"title":"Adapter delay","type":["number","null"]},"availability_blacklist":{"items":{"type":"string"},"title":"Availability blacklist (deprecated)","type":"array"},"availability_blocklist":{"description":"Prevent devices from being checked for availability","items":{"type":"string"},"title":"Availability Blocklist","type":"array"},"availability_passlist":{"description":"Only enable availability check for certain devices","items":{"type":"string"},"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,"title":"Availability Timeout","type":"number"},"availability_whitelist":{"items":{"type":"string"},"title":"Availability whitelist (deprecated)","type":"array"},"baudrate":{"description":"Baudrate for serial port, default: 115200 for Z-Stack, 38400 for Deconz","examples":[38400,115200],"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(cache_state: true)","title":"Chache state persistent","type":"boolean"},"cache_state_send_on_startup":{"default":true,"description":"Cache state send on startup, only used when Cache state(cache_state: true)","title":"Cache state send on startup","type":"boolean"},"channel":{"default":11,"description":"Changing requires re-pairing of all devices. (Hinweis: Verwenden Sie einen ZLL-Kanal: 11, 15, 20 oder 25, um Probleme zu vermeiden)","maximum":26,"minimum":11,"title":"ZigBee-Kanal","type":"number"},"elapsed":{"default":false,"description":"Fügt ein elapsed-Attribut zu MQTT-Nachrichten hinzu, enthält Millisekunden seit der vorherigen Nachricht","title":"Verstrichen","type":"boolean"},"ext_pan_id":{"description":"Zigbee erweiterte pan ID","items":{"type":"number"},"title":"Ext Pan ID","type":"array"},"homeassistant_discovery_topic":{"examples":["homeassistant"],"title":"Homeassistant Discovery-Topic","type":"string"},"homeassistant_status_topic":{"examples":["homeassistant/status"],"title":"Home Assistant Status-Topic","type":"string"},"last_seen":{"default":"deaktiviert","description":"Fügt ein last_seen-Attribut zu MQTT-Nachrichten hinzu, enthält Datum/Uhrzeit der letzten Zigbee-Nachricht","enum":["deaktiviert","ISO_8601","ISO_8601_local","epoch"],"title":"Zuletzt gesehen","type":"string"},"legacy_api":{"default":true,"description":"Deaktiviert die Legacy-API (false = deaktivieren)","title":"Legacy-API","type":"boolean"},"log_directory":{"description":"Speicherort des Log-Verzeichnisses","examples":["data/log/%TIMESTAMP%"],"title":"Log-Verzeichnis","type":"string"},"log_file":{"default":"log.txt","description":"Logdateiname, kann auch einen Zeitstempel enthalten","examples":["zigbee2mqtt_%TIMESTAMP%.log"],"title":"Logdatei","type":"string"},"log_level":{"default":"info","description":"Protokollierungsstufe","enum":["info","warn","error","debug"],"title":"Log-Level","type":"string"},"log_output":{"description":"Ausgabestandort des Logs, leer lassen, um das Protokollieren zu unterdrücken","items":{"enum":["console","file","syslog"],"type":"string"},"title":"Log-Ausgabe","type":"array"},"log_rotation":{"default":true,"description":"Log-Rotation","title":"Log-Rotation","type":"boolean"},"network_key":{"description":"Netzwerkverschlüsselungsschlüssel, verbessert die Sicherheit (Hinweis: Ändern erfordert das erneute Pairing aller Geräte)","oneOf":[{"title":"Netzwerkschlüssel (String)","type":"string"},{"items":{"type":"number"},"title":"Netzwerkschlüssel (Array)","type":"array"}],"title":"Netzwerkschlüssel"},"pan_id":{"description":"ZigBee pan ID","oneOf":[{"title":"Pan ID (String)","type":"string"},{"title":"Pan ID (Zahl)","type":"number"}],"title":"Pan ID"},"report":{"description":"Aktiviert die Report-Funktion","title":"Berichterstattung","type":"boolean"},"rtscts":{"default":false,"description":"RTS / CTS Hardware-Flow Control für die serielle Schnittstelle","title":"RTS / CTS","type":"boolean"},"soft_reset_timeout":{"description":"Soft-Reset des ZNP nach Timeout","minimum":0,"readOnly":true,"title":"Soft-Reset-Timeout (veraltet)","type":"number"},"timestamp_format":{"description":"Log-Zeitstempelformat","examples":["YYYY-MM-DD HH:mm:ss"],"title":"Zeitstempelformat","type":"string"}},"title":"Erweiterte Einstellungen","type":"object"},"ban":{"items":{"type":"string"},"title":"Ban (veraltet)","type":"array"},"blocklist":{"description":"Blockiere Geräte im Netzwerk (durch ieeeAddr)","items":{"type":"string"},"title":"Blockliste","type":"array"},"device_options":{"type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"type":"object"},"experimental":{"properties":{"output":{"description":"Beispiele, wenn der 'state' eines Geräts veröffentlicht wird json: topic: 'zigbee2mqtt/my_bulb' payload '{\"state\":\n\"ON\"}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: sowohl json als auch attribute (siehe oben)","enum":["attribute_and_json","attribute","json"],"title":"MQTT-Ausgabetyp","type":"string"},"transmit_power":{"title":"Sendeleistung","type":["number","null"]}},"title":"Experimentelle Optionen","type":"object"},"external_converters":{"examples":["DIYRuZ_FreePad.js"],"items":{"type":"string"},"title":"Externe Konverter","type":"array"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant Integration (MQTT Discovery)","title":"Homeassistant 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":"Netzwerkmap-Optionen","type":"object"},"mqtt":{"properties":{"base_topic":{"description":"MQTT-Basis-Topic für Zigbee2MQTT-MQTT-Nachrichten","examples":["zigbee2mqtt"],"title":"Basis-Topic","type":"string"},"ca":{"description":"Absoluter Pfad zum SSL/TLS-Zertifikat der CA, das zur Signierung der Server- und Client-Zertifikate verwendet wird","examples":["/etc/ssl/mqtt-ca.crt"],"title":"Zertifizierungsstelle","type":"string"},"cert":{"examples":["/etc/ssl/mqtt-client.crt"],"title":"SSL/TLS-Zertifikat","type":"string"},"client_id":{"description":"MQTT-Client-ID","examples":["MY_CLIENT_ID"],"title":"Client-ID","type":"string"},"force_disable_retain":{"default":false,"description":"Deaktiviere Retain für alle gesendeten Nachrichten. AKTIVIEREN SIE DIESEN PUNKT NUR, wenn Ihr MQTT-Broker keine behaltenen Nachrichten unterstützt (z. B. AWS IoT Core, Azure IoT Hub, Google Cloud IoT Core, IBM Watson IoT Platform). Die Aktivierung wird die Home Assistant Integration brechen","title":"Erzwinge Deaktivierung von Retain","type":"boolean"},"include_device_information":{"default":false,"description":"Geräteinformationen in MQTT-Nachrichten einbeziehen","title":"Geräteinformationen einbeziehen","type":"boolean"},"keepalive":{"default":60,"description":"MQTT-Keepalive in Sekunden","title":"Keepalive","type":"number"},"key":{"description":"Absolute Pfade zu SSL/TLS-Schlüssel und Zertifikat für die Client-Authentifizierung","examples":["/etc/ssl/mqtt-client.key"],"title":"SSL/TLS-Schlüssel","type":"string"},"password":{"description":"MQTT-Server-Authentifizierungspasswort","examples":["ILOVEPELMENI"],"title":"Passwort","type":"string"},"reject_unauthorized":{"default":true,"description":"Deaktiviere selbstsigniertes SSL-Zertifikat","title":"Unautorisierte Anfragen ablehnen","type":"boolean"},"server":{"description":"MQTT-Server-URL (verwenden Sie mqtts:// für SSL/TLS-Verbindung)","examples":["mqtt://localhost:1883"],"title":"MQTT-Server","type":"string"},"user":{"description":"MQTT-Server-Authentifizierungsbenutzer","examples":["johnnysilverhand"],"title":"Benutzer","type":"string"},"version":{"default":4,"description":"MQTT-Protokollversion","title":"Version","type":["number","null"]}},"required":["base_topic","server"],"title":"MQTT-Einstellungen","type":"object"},"passlist":{"description":"Erlaube nur bestimmten Geräten, dem Netzwerk beizutreten (durch ieeeAddr). Beachten Sie, dass alle Geräte, die nicht auf der Passliste stehen, aus dem Netzwerk entfernt werden!","items":{"type":"string"},"title":"Passliste","type":"array"},"permit_join":{"default":false,"description":"Erlaube neuen Geräten, beizutreten. WARNUNG: Deaktivieren Sie dies, nachdem alle Geräte gepairt wurden!","title":"Beitritt erlauben","type":"boolean"},"serial":{"properties":{"adapter":{"description":"Adaptertyp, nicht erforderlich, es sei denn, Sie haben Probleme","enum":["deconz","zstack","zigate"],"title":"Adapter","type":"string"},"disable_led":{"default":false,"description":"Deaktiviere die LED des Adapters, falls unterstützt","title":"LED deaktivieren","type":"boolean"},"port":{"description":"Standort des Adapters. Um den Port automatisch zu erkennen, setzen Sie null","examples":["/dev/ttyACM0"],"title":"Port","type":["string","null"]}},"title":"Serielle Einstellungen","type":"object"},"whitelist":{"items":{"type":"string"},"title":"Whitelist (veraltet)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20201026,"transportrev":2},"type":"zStack3x0"},"log_level":"info","network":{"channel":11,"extended_pan_id":"0xdddddddddddddddd","pan_id":6754},"permit_join":true,"version":"1.17.1"}'
Zigbee2MQTT:info  2021-02-04 08:07:07: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"99274c7","coordinator":{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20201026,"transportrev":2},"type":"zStack3x0"},"log_level":"info","network":{"channel":11,"extendedPanID":"0xdddddddddddddddd","panID":6754},"permit_join":true,"version":"1.17.1"}'

Jetzt, wenn ich die Verknüpfung deaktiviere:

Gladys:

2021-02-04T09:08:49+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/logging nicht behandelt.
2021-02-04T09:08:49+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/logging nicht behandelt.
2021-02-04T09:08:49+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/info nicht behandelt.
2021-02-04T09:08:49+0100 <info> handleMqttMessage.js:91 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt-Thema zigbee2mqtt/bridge/logging nicht behandelt.

Zigbee :

Zigbee2MQTT:info  2021-02-04 08:08:49: Zigbee: Deaktivieren des Hinzufügens neuer Geräte.
Zigbee2MQTT:info  2021-02-04 08:08:49: MQTT-Veröffentlichung: Thema 'zigbee2mqtt/bridge/info', Nutzlast '{"commit":"99274c7","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":"/app/data/log/%TIMESTAMP%","log_file":"log.txt","log_level":"info","log_output":["console","file"],"log_rotation":true,"log_syslog":{},"pan_id":6754,"report":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"ban":[],"blocklist":[],"device_options":{},"devices":{},"experimental":{"new_api":true,"output":"json"},"external_converters":[],"frontend":{"port":8080},"groups":{},"homeassistant":false,"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","force_disable_retain":false,"include_device_information":false,"server":"mqtt://localhost:1884","user":"z2m"},"passlist":[],"permit_join":false,"serial":{"disable_led":false,"port":"/dev/ttyACM0"},"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"},"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"},"retrieve_state":{"description":"Retrieves the state after setting it (Should only be enabled when the reporting feature does not work for this device)","title":"Retrieve State","type":"boolean"}},"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)","title":"Adapter concurrency","type":["number","null"]},"adapter_delay":{"title":"Adapter delay","type":["number","null"]},"availability_blacklist":{"items":{"type":"string"},"title":"Availability blacklist (deprecated)","type":"array"},"availability_blocklist":{"description":"Prevent devices from being checked for availability","items":{"type":"string"},"title":"Availability Blocklist","type":"array"},"availability_passlist":{"description":"Only enable availability check for certain devices","items":{"type":"string"},"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,"title":"Availability Timeout","type":"number"},"availability_whitelist":{"items":{"type":"string"},"title":"Availability whitelist (deprecated)","type":"array"},"baudrate":{"description":"Baudrate for serial port, default: 115200 for Z-Stack, 38400 for Deconz","examples":[38400,115200],"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(cache_state: true)","title":"Chache state persistent","type":"boolean"},"cache_state_send_on_startup":{"default":true,"description":"Cache state send on startup, only used when Cache state(cache_state: true)","title":"Cache state send on startup","type":"boolean"},"channel":{"default":11,"description":"Changing requires re-pairing of all devices```. (Hinweis: Verwenden Sie einen ZLL-Kanal: 11, 15, 20 oder 25, um Probleme zu vermeiden)","maximum":26,"minimum":11,"title":"ZigBee-Kanal","type":"number"},"elapsed":{"default":false,"description":"Fügt ein elapsed-Attribut zu MQTT-Nachrichten hinzu, enthält Millisekunden seit der letzten Nachricht","title":"Verstrichen","type":"boolean"},"ext_pan_id":{"description":"Zigbee erweiterte pan ID","items":{"type":"number"},"title":"Erweiterte Pan-ID","type":"array"},"homeassistant_discovery_topic":{"examples":["homeassistant"],"title":"Homeassistant Discovery-Topic","type":"string"},"homeassistant_status_topic":{"examples":["homeassistant/status"],"title":"Home Assistant Status-Topic","type":"string"},"last_seen":{"default":"deaktiviert","description":"Fügt ein last_seen-Attribut zu MQTT-Nachrichten hinzu, enthält Datum/Uhrzeit der letzten Zigbee-Nachricht","enum":["deaktiviert","ISO_8601","ISO_8601_local","epoch"],"title":"Zuletzt gesehen","type":"string"},"legacy_api":{"default":true,"description":"Deaktiviert die Legacy-API (false = deaktivieren)","title":"Legacy-API","type":"boolean"},"log_directory":{"description":"Speicherort des Log-Verzeichnisses","examples":["data/log/%TIMESTAMP%"],"title":"Log-Verzeichnis","type":"string"},"log_file":{"default":"log.txt","description":"Logdateiname, kann auch einen Zeitstempel enthalten","examples":["zigbee2mqtt_%TIMESTAMP%.log"],"title":"Logdatei","type":"string"},"log_level":{"default":"info","description":"Protokollierungsstufe","enum":["info","warn","error","debug"],"title":"Log-Level","type":"string"},"log_output":{"description":"Ausgabestandort des Logs, leer lassen, um das Protokollieren zu unterdrücken","items":{"enum":["console","file","syslog"],"type":"string"},"title":"Log-Ausgabe","type":"array"},"log_rotation":{"default":true,"description":"Log-Rotation","title":"Log-Rotation","type":"boolean"},"network_key":{"description":"Netzwerkverschlüsselungsschlüssel, verbessert die Sicherheit (Hinweis: Ändern erfordert das erneute Pairing aller Geräte)","oneOf":[{"title":"Netzwerkschlüssel (String)","type":"string"},{"items":{"type":"number"},"title":"Netzwerkschlüssel (Array)","type":"array"}],"title":"Netzwerkschlüssel"},"pan_id":{"description":"ZigBee pan ID","oneOf":[{"title":"Pan-ID (String)","type":"string"},{"title":"Pan-ID (Zahl)","type":"number"}],"title":"Pan-ID"},"report":{"description":"Aktiviert die Report-Funktion","title":"Berichterstattung","type":"boolean"},"rtscts":{"default":false,"description":"RTS / CTS Hardware-Flow-Control für die serielle Schnittstelle","title":"RTS / CTS","type":"boolean"},"soft_reset_timeout":{"description":"Soft-Reset des ZNP nach Timeout","minimum":0,"readOnly":true,"title":"Soft-Reset-Timeout (veraltet)","type":"number"},"timestamp_format":{"description":"Log-Zeitstempelformat","examples":["YYYY-MM-DD HH:mm:ss"],"title":"Zeitstempelformat","type":"string"}},"title":"Erweiterte Einstellungen","type":"object"},"ban":{"items":{"type":"string"},"title":"Ban (veraltet)","type":"array"},"blocklist":{"description":"Blockiert Geräte im Netzwerk (durch ieeeAddr)","items":{"type":"string"},"title":"Blockliste","type":"array"},"device_options":{"type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"type":"object"},"experimental":{"properties":{"output":{"description":"Beispiele, wenn der 'state' eines Geräts veröffentlicht wird json: topic: 'zigbee2mqtt/my_bulb' payload '{\"state\":\n\"ON\"}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: sowohl json als auch attribute (siehe oben)","enum":["attribute_and_json","attribute","json"],"title":"MQTT-Ausgabetyp","type":"string"},"transmit_power":{"title":"Sendeleistung","type":["number","null"]}},"title":"Experimentelle Optionen","type":"object"},"external_converters":{"examples":["DIYRuZ_FreePad.js"],"items":{"type":"string"},"title":"Externe Converter","type":"array"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant Integration (MQTT Discovery)","title":"Homeassistant 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":"Netzwerkmap-Optionen","type":"object"},"mqtt":{"properties":{"base_topic":{"description":"MQTT-Basis-Topic für Zigbee2MQTT-MQTT-Nachrichten","examples":["zigbee2mqtt"],"title":"Basis-Topic","type":"string"},"ca":{"description":"Absoluter Pfad zum SSL/TLS-Zertifikat der CA, die zur Signierung von Server- und Client-Zertifikaten verwendet wird","examples":["/etc/ssl/mqtt-ca.crt"],"title":"Zertifizierungsstelle","type":"string"},"cert":{"examples":["/etc/ssl/mqtt-client.crt"],"title":"SSL/TLS-Zertifikat","type":"string"},"client_id":{"description":"MQTT-Client-ID","examples":["MY_CLIENT_ID"],"title":"Client-ID","type":"string"},"force_disable_retain":{"default":false,"description":"Deaktiviert Retain für alle gesendeten Nachrichten. AKTIVIEREN Sie dies nur, wenn Ihr MQTT-Broker keine behaltenen Nachrichten unterstützt (z. B. AWS IoT Core, Azure IoT Hub, Google Cloud IoT Core, IBM Watson IoT Platform). Das Aktivieren wird die Home Assistant Integration brechen","title":"Erzwinge Deaktivierung von Retain","type":"boolean"},"include_device_information":{"default":false,"description":"Geräteinformationen in MQTT-Nachrichten einbeziehen","title":"Geräteinformationen einbeziehen","type":"boolean"},"keepalive":{"default":60,"description":"MQTT-Keepalive in Sekunden","title":"Keepalive","type":"number"},"key":{"description":"Absolute Pfade zu SSL/TLS-Schlüssel und Zertifikat für Client-Authentifizierung","examples":["/etc/ssl/mqtt-client.key"],"title":"SSL/TLS-Schlüssel","type":"string"},"password":{"description":"MQTT-Server-Authentifizierungspasswort","examples":["ILOVEPELMENI"],"title":"Passwort","type":"string"},"reject_unauthorized":{"default":true,"description":"Deaktiviert selbstsignierte SSL-Zertifikate","title":"Unautorisierte Anfragen ablehnen","type":"boolean"},"server":{"description":"MQTT-Server-URL (verwenden Sie mqtts:// für SSL/TLS-Verbindung)","examples":["mqtt://localhost:1883"],"title":"MQTT-Server","type":"string"},"user":{"description":"MQTT-Server-Authentifizierungsbenutzer","examples":["johnnysilverhand"],"title":"Benutzer","type":"string"},"version":{"default":4,"description":"MQTT-Protokollversion","title":"Version","type":["number","null"]}},"required":["base_topic","server"],"title":"MQTT-Einstellungen","type":"object"},"passlist":{"description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (durch ieeeAddr). Beachten Sie, dass alle Geräte, die nicht auf der Passliste stehen, aus dem Netzwerk entfernt werden!","items":{"type":"string"},"title":"Passliste","type":"array"},"permit_join":{"default":false,"description":"Erlaubt neuen Geräten, beizutreten. WARNUNG: Deaktivieren Sie dies, nachdem alle Geräte gepairt wurden!","title":"Beitritt erlauben","type":"boolean"},"serial":{"properties":{"adapter":{"description":"Adapter-Typ, nicht erforderlich, es sei denn, Sie haben Probleme","enum":["deconz","zstack","zigate"],"title":"Adapter","type":"string"},"disable_led":{"default":false,"description":"Deaktiviert die LED des Adapters, falls unterstützt","title":"LED deaktivieren","type":"boolean"},"port":{"description":"Standort des Adapters. Um den Port automatisch zu erkennen, setze null", "Beispiele": ["/dev/ttyACM0"], "Titel": "Port", "Typ": ["Zeichenkette", "null"]}}, "Titel": "Serielle Einstellungen", "Typ": "Objekt"}, "Whitelist": {"Elemente": {"Typ": "Zeichenkette"}, "Titel": "Whitelist (veraltet)", "Typ": "Array"}}, "Erforderlich": ["mqtt"], "Typ": "Objekt"}, "Koordinator": {"Meta": {"Hauptversion": 1, "Hauptversion": 2, "Nebenversion": 7, "Produkt": 1, "Revision": 20201026, "Transportversion": 2}, "Typ": "zStack3x0"}, "Protokollstufe": "info", "Netzwerk": {"Kanal": 11, "ErweitertePanID": "0xdddddddddddddddd", "PanID": 6754}, "Teilnahmeerlaubnis": false, "Version": "1.17.1"}'
Zigbee2MQTT:info  2021-02-04 08:08:49: MQTT-Veröffentlichung: Thema 'zigbee2mqtt/bridge/config', Nutzlast '{"commit":"99274c7","coordinator":{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20201026,"transportrev":2},"type":"zStack3x0"},"log_level":"info","network":{"channel":11,"extendedPanID":"0xdddddddddddddddd","panID":6754},"permit_join":false,"version":"1.17.1"}'

Ich hoffe, es gibt genug Details, um dir zu helfen!

Der Client-ID wird bereits verwendet (gibt es eine erste Verbindung, die nicht beendet wurde?)

https://github.com/cicoub13/Gladys/blob/zigbee2mqtt-service-dev/server/services/zigbee2mqtt/lib/connect.js#L20

clientId: `gladys-main-instance-${Math.floor(Math.random() * 1000000)}`,

Die anderen beiden Punkte sind keine Fehler/Probleme

  1. Das liegt daran, dass nichts auf mqtt ist (keine Geräte)
  2. Kein Fehler, du musst deine Geräte paarweise verbinden :wink:

Sollte ich hier den gleichen Fix wie du machen? [MQTT] Generate random client ID by VonOx · Pull Request #1034 · GladysAssistant/Gladys · GitHub