zibee2mqtt Bridge wird mehrfach angelegt

Begonnen von Gast45, 12 November 2023, 20:51:02

Vorheriges Thema - Nächstes Thema

Gast45

Anmerkung 27.11.23: Ich versuche eine Zusammenfassung der Kommunikation in #15

Hallo zusammen,
Ich habe meine  alte fhem-Installation auf raspbian stretch gesichert und auf ein raspian bullseye natürlich mit ebenso frischer Zigbee2MQTT-Installation wieder eingespielt. Ansonsten habe ich alles (Hardware und Fhem-Konfig) unverändert im Einsatz. Insbesondere der Stick ist ein CC2531.

Jetzt habe ich schon herausgefunden, dass alle Zigbee-Geräte neu gekoppelt werden müssen.

Aber mein Hauptproblem ist, dass auch die alte Definition für den Zigbee-Stick auf dem neuen Linux nicht mehr greift und automatisch ein neues MQTT2_DEVICE erzeugt wird, das ich mit dem Template zigbee2mqtt-bridge bespielt habe.

Aber es werden immer wieder noch weitere (bisher 1-2) Geräte automatisch angelegt, die auch eine Bridge zu sein scheinen.

Gibt es bestimmte Software-Kombinationen, die ich unbedingt vermeiden muss? Hat jemand ein ähnliches Problem schon gesehen und kann mir einen Tipp geben?
Meist liegt der Fehler vor der Tastatur

rudolfkoenig

Das ist symptomatisch fuer den Fall, wenn in zigbee2mqtt kein festes MQTT-ClientID konfigueriert ist.

Gast45

Das hab ich aber mit ,,zigbee-pi" schon immer in der configuration.yaml drin. Also keine Einschränkungen mit Node 20, fhem 6.2 und bullseye?!

Hatte es erst mit Bookworm 64Bit probiert. Da hatte ich schon grundsätzliche Probleme mit Zigbee2MQTT. Bookworm 32bit hat mir wegen fehlendem VCN nicht zugesagt. Und jetzt etwas besser, aber immer noch Probleme mit bullseye.
Meist liegt der Fehler vor der Tastatur

rudolfkoenig

Hypothese: Das Bridge-Template deckt nicht mehr alle gesendeten Topics ab.
Aus den hier presentierten Daten kann ich die Ursache des Problems nicht ableiten, deswegen die Raterei.

Gast45

Ja, ich weiß. Ich hatte gestern nur noch schnell geschrieben, in der  Hoffnung, dass es vielleicht bekannte Inkompatibilitäten gibt und ich mir das Suchen sparen kann. Wenn ich in den nächsten Tagen Zeit finde, werfe ich die neue Installation nochmal an und mache Infos fertig.

Trotzdem vielen Dank erstmal....
Meist liegt der Fehler vor der Tastatur

Gast45

#5
Ich versuche mich gerade dem Problem zu nähern, das ich mit den Zigbee-Komponenten habe, nachdem ich ein auf stretch gemachtes FHEM-Backup auf bullseye ausgepackt habe. Eigentlich hatte ich erwartet, dass auf bullseye einfach alles läuft wie zuvor auf stretch. Alle anderen Konfigurationen (Homematic, MQTT, IT) machen es jedenfalls.

Bei Zigbee war das aber nicht der Fall. Hier wurden plötzlich neue Devices angelegt, das ich mir nicht erklären konnte.

Um ganz sicher zu sein, was da so im Bereich MQTT2_DEVICE angelegt wird, habe ich alle Zigbee-Geräte inklusive USB-Stick in FHEM gelöscht. Ebenso habe ich die Section 'devices:' komplett in der configuration.yaml gelöscht.

Zusätzlich habe ich alle Zigbee-Geräte dauerhaft stromlos gemacht, damit das einzige, was erkennbar sein kann, der USB-Zigbee-Stick im Raspi selbst ist.

Nach Neustart des Raspi passiert nun folgendes:

1. Es entsteht in FHEM ein neues MQTT2_DEVICE mit diesem noch unbearbeiteten Listing:
Internals:
   CFGFN     
   CID        zigbee_pi
   DEF        zigbee_pi
   FUUID      65576d95-f33f-8257-ca40-84111687272da08d
   IODev      myBroker
   NAME       MQTT2_zigbee_pi
   NR         182
   STATE      online
   TYPE       MQTT2_DEVICE
   eventCount 13
   READINGS:
     2023-11-17 14:41:41   1_disabled      false
     2023-11-17 14:41:41   1_endpoints_11_clusters_input_1 ssIasAce
     2023-11-17 14:41:41   1_endpoints_11_clusters_input_2 genTime
     2023-11-17 14:41:41   1_endpoints_11_clusters_output_1 ssIasZone
     2023-11-17 14:41:41   1_endpoints_11_clusters_output_2 ssIasWd
     2023-11-17 14:41:41   1_endpoints_13_clusters_input_1 genOta
     2023-11-17 14:41:41   1_friendly_name 1
     2023-11-17 14:41:41   1_id            1
     2023-11-17 14:41:41   1_ieee_address  0x00124b000be88e55
     2023-11-17 14:41:41   1_interview_completed true
     2023-11-17 14:41:41   1_interviewing  false
     2023-11-17 14:41:41   1_network_address 0
     2023-11-17 14:41:41   1_supported     false
     2023-11-17 14:41:41   1_type          Coordinator
     2023-11-17 14:41:41   2_date_code     20180608
     2023-11-17 14:41:41   2_definition_description Temperature & humidity sensor
     2023-11-17 14:41:41   2_definition_exposes_1_access 1
     2023-11-17 14:41:41   2_definition_exposes_1_description Measured relative humidity
     2023-11-17 14:41:41   2_definition_exposes_1_label Humidity
     2023-11-17 14:41:41   2_definition_exposes_1_name humidity
     2023-11-17 14:41:41   2_definition_exposes_1_property humidity
     2023-11-17 14:41:41   2_definition_exposes_1_type numeric
     2023-11-17 14:41:41   2_definition_exposes_1_unit %
     2023-11-17 14:41:41   2_definition_exposes_2_access 1
     2023-11-17 14:41:41   2_definition_exposes_2_description Measured temperature value
     2023-11-17 14:41:41   2_definition_exposes_2_label Temperature
     2023-11-17 14:41:41   2_definition_exposes_2_name temperature
     2023-11-17 14:41:41   2_definition_exposes_2_property temperature
     2023-11-17 14:41:41   2_definition_exposes_2_type numeric
     2023-11-17 14:41:41   2_definition_exposes_2_unit °C
     2023-11-17 14:41:41   2_definition_exposes_3_access 1
     2023-11-17 14:41:41   2_definition_exposes_3_description Remaining battery in %, can take up to 24 hours before reported.
     2023-11-17 14:41:41   2_definition_exposes_3_label Battery
     2023-11-17 14:41:41   2_definition_exposes_3_name battery
     2023-11-17 14:41:41   2_definition_exposes_3_property battery
     2023-11-17 14:41:41   2_definition_exposes_3_type numeric
     2023-11-17 14:41:41   2_definition_exposes_3_unit %
     2023-11-17 14:41:41   2_definition_exposes_3_value_max 100
     2023-11-17 14:41:41   2_definition_exposes_3_value_min 0
     2023-11-17 14:41:41   2_definition_exposes_4_access 1
     2023-11-17 14:41:41   2_definition_exposes_4_description Link quality (signal strength)
     2023-11-17 14:41:41   2_definition_exposes_4_label Linkquality
     2023-11-17 14:41:41   2_definition_exposes_4_name linkquality
     2023-11-17 14:41:41   2_definition_exposes_4_property linkquality
     2023-11-17 14:41:41   2_definition_exposes_4_type numeric
     2023-11-17 14:41:41   2_definition_exposes_4_unit lqi
     2023-11-17 14:41:41   2_definition_exposes_4_value_max 255
     2023-11-17 14:41:41   2_definition_exposes_4_value_min 0
     2023-11-17 14:41:41   2_definition_model TT001ZAV20
     2023-11-17 14:41:41   2_definition_options_1_access 2
     2023-11-17 14:41:41   2_definition_options_1_description Number of digits after decimal point for humidity, takes into effect on next report of device.
     2023-11-17 14:41:41   2_definition_options_1_label Humidity precision
     2023-11-17 14:41:41   2_definition_options_1_name humidity_precision
     2023-11-17 14:41:41   2_definition_options_1_property humidity_precision
     2023-11-17 14:41:41   2_definition_options_1_type numeric
     2023-11-17 14:41:41   2_definition_options_1_value_max 3
     2023-11-17 14:41:41   2_definition_options_1_value_min 0
     2023-11-17 14:41:41   2_definition_options_2_access 2
     2023-11-17 14:41:41   2_definition_options_2_description Calibrates the humidity value (absolute offset), takes into effect on next report of device.
     2023-11-17 14:41:41   2_definition_options_2_label Humidity calibration
     2023-11-17 14:41:41   2_definition_options_2_name humidity_calibration
     2023-11-17 14:41:41   2_definition_options_2_property humidity_calibration
     2023-11-17 14:41:41   2_definition_options_2_type numeric
     2023-11-17 14:41:41   2_definition_options_3_access 2
     2023-11-17 14:41:41   2_definition_options_3_description Number of digits after decimal point for temperature, takes into effect on next report of device.
     2023-11-17 14:41:41   2_definition_options_3_label Temperature precision
     2023-11-17 14:41:41   2_definition_options_3_name temperature_precision
     2023-11-17 14:41:41   2_definition_options_3_property temperature_precision
     2023-11-17 14:41:41   2_definition_options_3_type numeric
     2023-11-17 14:41:41   2_definition_options_3_value_max 3
     2023-11-17 14:41:41   2_definition_options_3_value_min 0
     2023-11-17 14:41:41   2_definition_options_4_access 2
     2023-11-17 14:41:41   2_definition_options_4_description Calibrates the temperature value (absolute offset), takes into effect on next report of device.
     2023-11-17 14:41:41   2_definition_options_4_label Temperature calibration
     2023-11-17 14:41:41   2_definition_options_4_name temperature_calibration
     2023-11-17 14:41:41   2_definition_options_4_property temperature_calibration
     2023-11-17 14:41:41   2_definition_options_4_type numeric
     2023-11-17 14:41:41   2_definition_supports_ota false
     2023-11-17 14:41:41   2_definition_vendor TuYa
     2023-11-17 14:41:41   2_disabled      false
     2023-11-17 14:41:41   2_endpoints_1_clusters_input_1 genBasic
     2023-11-17 14:41:41   2_endpoints_1_clusters_input_2 genPowerCfg
     2023-11-17 14:41:41   2_endpoints_1_clusters_input_3 genIdentify
     2023-11-17 14:41:41   2_endpoints_1_clusters_input_4 msTemperatureMeasurement
     2023-11-17 14:41:41   2_endpoints_1_clusters_input_5 msRelativeHumidity
     2023-11-17 14:41:41   2_endpoints_1_clusters_output_1 genIdentify
     2023-11-17 14:41:41   2_endpoints_1_clusters_output_2 msTemperatureMeasurement
     2023-11-17 14:41:41   2_endpoints_1_clusters_output_3 msRelativeHumidity
     2023-11-17 14:41:41   2_friendly_name 0x000d6ffffe68b526
     2023-11-17 14:41:41   2_ieee_address  0x000d6ffffe68b526
     2023-11-17 14:41:41   2_interview_completed true
     2023-11-17 14:41:41   2_interviewing  false
     2023-11-17 14:41:41   2_manufacturer  TUYATEC-riuj5xzs
     2023-11-17 14:41:41   2_model_id      RH3052
     2023-11-17 14:41:41   2_network_address 17930
     2023-11-17 14:41:41   2_power_source  Battery
     2023-11-17 14:41:41   2_supported     true
     2023-11-17 14:41:41   2_type          EndDevice
     2023-11-17 14:41:41   IODev           myBroker
     2023-11-17 14:41:42   battery         49
     2023-11-17 14:41:42   commit          ccc08a3
     2023-11-17 14:41:42   coordinator_meta_maintrel 3
     2023-11-17 14:41:42   coordinator_meta_majorrel 2
     2023-11-17 14:41:42   coordinator_meta_minorrel 6
     2023-11-17 14:41:42   coordinator_meta_product 0
     2023-11-17 14:41:42   coordinator_meta_revision 20190608
     2023-11-17 14:41:42   coordinator_meta_transportrev 2
     2023-11-17 14:41:42   coordinator_type zStack12
     2023-11-17 14:41:42   extensions      []
     2023-11-17 14:41:42   humidity        69.69
     2023-11-17 14:41:41   info            {"commit":"ccc08a3","config":{"advanced":{"adapter_concurrent":null,"adapter_delay":null,"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"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],"last_seen":"disable","legacy_api":true,"legacy_availability_payload":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":{},"output":"json","pan_id":6754,"report":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"blocklist":[],"device_options":{},"devices":{"0x000d6ffffe68b526":{"friendly_name":"0x000d6ffffe68b526"}},"external_converters":[],"frontend":{"host":"0.0.0.0","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","client_id":"zigbee_pi","force_disable_retain":false,"include_device_information":false,"server":"mqtt://localhost:1883","user":"XXXX"},"ota":{"disable_automatic_update_check":false,"update_check_interval":1440},"passlist":[],"permit_join":false,"serial":{"disable_led":true,"port":"/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B000BE88E55-if00"}},"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"},"disabled":{"description":"Disables the device (excludes device from network scans, availability and group state updates)","requiresRestart":true,"title":"Disabled","type":"boolean"},"filtered_attributes":{"description":"Filter attributes with regex from published payload.","examples":["^temperature$","^battery$","^action$"],"items":{"type":"string"},"title":"Filtered publish attributes","type":"array"},"filtered_cache":{"description":"Filter attributes with regex from being added to the cache, this prevents the attribute from being in the published payload when the value didn't change.","examples":["^input_actions$"],"items":{"type":"string"},"title":"Filtered attributes from cache","type":"array"},"filtered_optimistic":{"description":"Filter attributes with regex from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).","examples":["^color_(mode|temp)$","color"],"items":{"type":"string"},"title":"Filtered optimistic 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"},"homeassistant":{"properties":{"name":{"description":"Name of the device in Home Assistant","title":"Home Assistant name","type":"string"}},"title":"Home Assistant","type":["object","null"]},"icon":{"description":"The user-defined device icon for the frontend. It can be a full URL link to an image (e.g. https://SOME.SITE/MODEL123.jpg) (you cannot use a path to a local file) or base64 encoded data URL (e.g. image/svg+xml;base64,PHN2ZyB3aW....R0aD)","title":"Icon","type":"string"},"optimistic":{"default":true,"description":"Publish optimistic state after set","title":"Optimistic","type":"boolean"},"qos":{"description":"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"},"off_state":{"default":"auto","description":"Control when to publish state OFF for a group. 'all_members_off': only publish state OFF when all group members are in state OFF, 'last_member_state': publish state OFF whenever one of its members changes to OFF","enum":["all_members_off","last_member_state"],"requiresRestart":true,"title":"Group off state","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"]},"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":[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!","oneOf":[{"title":"Extended pan ID (string)","type":"string"},{"items":{"type":"number"},"title":"Extended pan ID (array)","type":"array"}],"requiresRestart":true,"title":"Ext Pan ID"},"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"},"legacy_availability_payload":{"default":true,"description":"Payload to be used for device availability and bridge/state topics. true = text, false = JSON","requiresRestart":true,"title":"Legacy availability payload","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 suppress 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":["/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":514,"description":"The port on the host that syslog is running on, defaults to syslogd's default port.","title":"Port","type":"number"},"protocol":{"default":"udp4","description":"The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).","examples":["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"},"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"},"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"},"timestamp_format":{"description":"Log timestamp format","examples":["YYYY-MM-DD HH:mm:ss"],"requiresRestart":true,"title":"Timestamp format","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":"Advanced","type":"object"},"availability":{"description":"Checks whether devices are online/offline","oneOf":[{"title":"Availability (simple)","type":"boolean"},{"properties":{"active":{"description":"Options for active devices (routers/mains powered)","properties":{"timeout":{"default":10,"description":"Time after which an active device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Active","type":"object"},"passive":{"description":"Options for passive devices (mostly battery powered)","properties":{"timeout":{"default":1500,"description":"Time after which an passive device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Passive","type":"object"}},"title":"Availability (advanced)","type":"object"}],"requiresRestart":true,"title":"Availability"},"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":{"title":"Options that are applied to all devices","type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"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":{"oneOf":[{"title":"Frontend (simple)","type":"boolean"},{"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. Binds to a unix socket when an absolute path is given instead.","examples":["127.0.0.1","/run/zigbee2mqtt/zigbee2mqtt.sock"],"requiresRestart":true,"title":"Bind host","type":"string"},"port":{"default":8080,"description":"Frontend binding port. Ignored when using a unix domain socket","requiresRestart":true,"title":"Port","type":"number"},"ssl_cert":{"description":"SSL Certificate file path for exposing HTTPS. The sibling property 'ssl_key' must be set for HTTPS to be activated.","requiresRestart":true,"title":"Certificate file path","type":["string","null"]},"ssl_key":{"description":"SSL key file path for exposing HTTPS. The sibling property 'ssl_cert' must be set for HTTPS to be activated.","requiresRestart":true,"title":"key file path","type":["string","null"]},"url":{"description":"URL on which the frontend can be reached, currently only used for the Home Assistant device configuration page","requiresRestart":true,"title":"URL","type":["string","null"]}},"title":"Frontend (advanced)","type":"object"}],"requiresRestart":true,"title":"Frontend"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant integration (MQTT discovery)","oneOf":[{"title":"Home Assistant (simple)","type":"boolean"},{"properties":{"discovery_topic":{"description":"Home Assistant discovery topic","examples":["homeassistant"],"requiresRestart":true,"title":"Homeassistant discovery topic","type":"string"},"legacy_entity_attributes":{"default":true,"description":"Home Assistant legacy entity attributes, when enabled Zigbee2MQTT will add state attributes to each entity, additional to the separate entities and devices it already creates","title":"Home Assistant legacy entity attributes","type":"boolean"},"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"},"status_topic":{"description":"Home Assistant status topic","examples":["homeassistant/status"],"requiresRestart":true,"title":"Home Assistant status topic","type":"string"}},"title":"Home Assistant (advanced)","type":"object"}],"requiresRestart":true,"title":"Home Assistant integration"},"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":{"default":"zigbee2mqtt","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":[5],"requiresRestart":true,"title":"Version","type":["number","null"]}},"required":["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"},"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"},"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"},"zigbee_ota_override_index_location":{"description":"Location of override OTA index file","examples":["index.json"],"requiresRestart":true,"title":"OTA index override file name","type":"string"}},"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":{"default":"auto","description":"Adapter type, not needed unless you are experiencing problems","enum":["deconz","zstack","zigate","ezsp","auto"],"requiresRestart":true,"title":"Adapter","type":["string"]},"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"},"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"]},"rtscts":{"description":"RTS / CTS Hardware Flow Control for serial port","requiresRestart":true,"title":"RTS / CTS","type":"boolean"}},"title":"Serial","type":"object"},"whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Whitelist (deprecated, use passlist)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"ieee_address":"0x00124b000be88e55","meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20190608,"transportrev":2},"type":"zStack12"},"log_level":"info","network":{"channel":11,"extended_pan_id":"0xdddddddddddddddd","pan_id":6754},"permit_join":false,"restart_required":false,"version":"1.33.2","zigbee_herdsman":{"version":"0.21.0"},"zigbee_herdsman_converters":{"version":"15.106.0"}}
     2023-11-17 14:41:42   level           info
     2023-11-17 14:41:42   linkquality     34
     2023-11-17 14:41:42   log_level       info
     2023-11-17 14:41:42   message         Zigbee2MQTT started!
     2023-11-17 14:41:42   network_channel 11
     2023-11-17 14:41:42   network_extendedPanID 0xdddddddddddddddd
     2023-11-17 14:41:42   network_panID   6754
     2023-11-17 14:41:42   permit_join     false
     2023-11-17 14:41:41   state           online
     2023-11-17 14:41:42   temperature     21.51
     2023-11-17 14:41:42   version         1.33.2
     2023-11-17 14:41:42   voltage         2600
     2023-11-17 14:41:42   zigbee2mqtt_1_availability online
Attributes:
   readingList zigbee_pi:zigbee2mqtt/bridge/state:.* state
zigbee_pi:zigbee2mqtt/bridge/info:.* info
zigbee_pi:zigbee2mqtt/bridge/devices:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/bridge/groups:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/bridge/extensions:.* extensions
zigbee_pi:zigbee2mqtt/bridge/logging:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/1/availability:.* zigbee2mqtt_1_availability
zigbee_pi:zigbee2mqtt/bridge/config:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/0x000d6ffffe68b526:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

2. In der configuration.yaml taucht die Section 'devices:' auf mit einem Eintrag eines Temperatursensors, der zum aktuellen Zeitpunkt stromlos ist.
devices:
  '0x000d6ffffe68b526':
    friendly_name: '0x000d6ffffe68b526'


Mir erschließt es sich nicht, woher FHEM jetzt noch die Info über den Temperatursensor hat?!

Dieser Zustand ist auch nach kompletten reboot stabil.

Meiner Meinung nach muss es sich bei dem automatisch entstandenen Device ja zwangsläufig um den USB-Zigbee-Stick handeln?!
Folglich habe ich diesen mal überschrieben mit
set MQTT2_zigbee_pi attrTemplate zigbee2mqtt_bridge

Das Listing sieht danach so aus:
Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   FUUID      65576d95-f33f-8257-ca40-84111687272da08d
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     13
   NAME       MQTT2_zigbee_pi
   NR         175
   STATE      online
   TYPE       MQTT2_DEVICE
   eventCount 15
   myBroker_CONN myBroker_127.0.0.1_58858
   myBroker_MSGCNT 13
   myBroker_TIME 2023-11-17 15:02:43
   OLDREADINGS:
   READINGS:
     2023-11-17 15:03:36   attrTemplateVersion 20220328
Attributes:
   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    networkmap_raw:noArg raw $DEVICETOPIC/bridge/request/networkmap raw
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/request/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/config:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices
  $DEVICETOPIC/bridge/log:.* log
  $DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }
  $DEVICETOPIC/bridge/response/networkmap:.* { my $type = $EVENT =~ m/.*,"type":"(raw|graphviz)",.*/ ? $1 : 'networkmap'; $EVENT =~ m/{"data":\{.*"value":"?(.*[^"])"?\},"status":"ok"\}/ ? { $type=>$1 } : {} }
  $DEVICETOPIC/bridge/devices:.* devices
  $DEVICETOPIC/bridge/info:.* info
  $DEVICETOPIC/bridge/groups:.* groups
  $DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/bridge/extensions:.* extensions
   room       MQTT2_DEVICE
   setList    log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1
  permit_join:true,false $DEVICETOPIC/bridge/request/permit_join $EVTPART1
  remove:textField $DEVICETOPIC/bridge/config/remove $EVTPART1
  ota_update:textField $DEVICETOPIC/bridge/ota_update/update $EVTPART1
  ota_update_check:textField $DEVICETOPIC/bridge/ota_update/check $EVTPART1
  y_device_setting:textField $DEVICETOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}
  x_bind:textField $DEVICETOPIC/bridge/bind/$EVTPART1 $EVTPART2
  x_bind_unbind:textField $DEVICETOPIC/bridge/unbind/$EVTPART1 $EVTPART2
  x_device_options:textField $DEVICETOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}
  x_group_add_to:textField $DEVICETOPIC/bridge/group/$EVTPART1/add $EVTPART2
  x_group_rm_from:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove $EVTPART2
  x_group_rm_from_all:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2
  x_group_add_group:textField $DEVICETOPIC/bridge/config/add_group $EVTPART1
  x_group_rm_group:textField $DEVICETOPIC/bridge/config/remove_group $EVTPART1
  z_elapsed:textField $DEVICETOPIC/bridge/config/elapsed $EVTPART1
  z_last_seen:disable,ISO_8601,epoch,ISO_8601_local $DEVICETOPIC/bridge/config/last_seen $EVTPART1
  z_ban:textField $DEVICETOPIC/bridge/config/ban $EVTPART1
  z_rename:textField $DEVICETOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
  z_reset_CC:noArg $DEVICETOPIC/bridge/config/reset
   setStateList on off


Nach einem erneuten reboot tauchen jetzt wieder zwei Devices auf, wobei immer noch alle Geräte stromlos sind!

Device 1 (unbearbeitet) verstehe ich gar nicht, was das sein soll:
Internals:
   CFGFN     
   CID        zigbee_1
   DEF        zigbee_1
   FUUID      6557740e-f33f-8257-40e5-2bc5173fb1630154
   IODev      myBroker
   NAME       MQTT2_zigbee_1
   NR         181
   STATE      ???
   TYPE       MQTT2_DEVICE
   eventCount 1
   READINGS:
     2023-11-17 15:09:18   IODev           myBroker
     2023-11-17 15:09:18   associatedWith  MQTT2_zigbee_pi
     2023-11-17 15:09:18   zigbee2mqtt_1_availability online
Attributes:
   readingList zigbee2mqtt/1/availability:.* zigbee2mqtt_1_availability
   room       MQTT2_DEVICE


Device 2 (unbearbeitet) sieht nach Temperatursensor aus, der aber gar nicht eingeschaltet ist:
Internals:
   CFGFN     
   CID        zigbee_0x000d6ffffe68b526
   DEF        zigbee_0x000d6ffffe68b526
   FUUID      6557740e-f33f-8257-a113-b9f3a591fe17e072
   IODev      myBroker
   NAME       MQTT2_zigbee_0x000d6ffffe68b526
   NR         183
   STATE      ???
   TYPE       MQTT2_DEVICE
   eventCount 1
   READINGS:
     2023-11-17 15:09:18   IODev           myBroker
     2023-11-17 15:09:18   associatedWith  MQTT2_zigbee_pi
     2023-11-17 15:09:18   battery         49
     2023-11-17 15:09:18   humidity        69.69
     2023-11-17 15:09:18   linkquality     34
     2023-11-17 15:09:18   temperature     21.51
     2023-11-17 15:09:18   voltage         2600
Attributes:
   readingList zigbee2mqtt/0x000d6ffffe68b526:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE



Wenn da jemand durchsteigt und mir den einen oder anderen Tipp geben kann, wie man das hier deuten soll, wäre ich dankbar.
Vielleicht kann mir auch jemand sagen, wie man FHEM mit Zigbee-Komponenten am "besten" auf ein neu aufgesetztes Linux überträgt.

Nachtrag 22.11.23: Zudem scheint immer mit der Umstellung auf join=true noch folgendes Gerät automatisch zu entstehen (listing es unbearbeiteten Gerätes):
Internals:
   CID        zigbee_bridge
   DEF        zigbee_bridge
   FUUID      655e1dcd-f33f-8257-9558-77e78ccc6f245abd
   IODev      myBroker
   NAME       MQTT2_zigbee_bridge
   NR         178
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2023-11-22 16:48:56   IODev           myBroker
     2023-11-22 16:27:09   associatedWith  MQTT2_zigbee_pi
     2023-11-22 16:30:51   data_value      true
     2023-11-22 16:30:51   status          ok
Attributes:
   readingList zigbee2mqtt/bridge/response/permit_join:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
Meist liegt der Fehler vor der Tastatur

fz55

Hallo,

ich habe den Thread nicht vollständig gelesen, aber wenn plötzlich Meldungen von ausgeschalteten Geräten auftauchen, deutet das stark auf retained msgs hin.

Gast45

#7
Danke für den Tipp und ich habe das gerade mal auf die Schnelle gegoogled und dann noch mal alle Zigbee Geräte abgeschaltet und auch alle zugehörigen MQTT2_DEVICE gelöscht und Retain gelöscht mit

set myBroker clearRetain
Natürlich mit Speichern und Neustart, aber das grundsätzliche Verhalten ist identisch. Wobei ich leider vergessen habe die Sektion ,devices' auch wieder in der configuration.yaml zu löschen.

Heute habe ich aber leider nicht mehr die Ruhe/Zeit wieder umfangreiche listings zu liefern. Ist ja auch fraglich, ob das wirklich weiter hülfe.


Ferner ist mir aufgefallen, dass in der configuration.yaml laut Anleitung die client_id und der Server in Hochkommata angegeben werden soll. Nach einem Reboot wird aber automatisch die configuration.yaml neu geschrieben und dabei die Hochkommata entfernt.
Ist das ein Fehlverhalten oder sind die Anleitungen inzwischen überholt?
Meist liegt der Fehler vor der Tastatur

Gast45

#8
So langsam wird das Bild klarer.

Ich habe mich gerade nochmal dran gesetzt, mein FHEM von stretch auf bullseye zu transferieren. Nach der komplett neuen Installation von bullseye habe ich FHEM neu installiert und anschließend auch node/npm. Aktueller Status also:

- bullseye
- fhem 6.2
- node 20.10.0
- npm 10.2.3

Danach habe ich ein Backup meiner FHEM-Konfiguration (node 10.24.1; npm 6.14.12) auf stretch gemacht, diese auf die bullseye-Installation übertragen und dort wieder entpackt.

Es funktioniert auf den ersten Blick soweit alles. Bei Zigbee-Geräten scheint ein erneutes Anlernen erforderlich zu sein, aber dann funktionieren die Komponenten mit den bereits in FHEM vorhandenen Devices.

Allerdings werden automatisch zwei weitere Devices angelegt, mit denen ich aber nichts anzufangen weiß und ich würde mich freuen, wenn mir hier jemand erklären kann was das ist und wieso es die jetzt aber nicht vorher gab.

Hier die beiden Listings der neu erzeugten Geräte, wie sie initial, also komplett ohne mein Zutun entstanden sind:

Internals:
   CFGFN     
   CID        zigbee_bridge
   DEF        zigbee_bridge
   FUUID      6561c7bd-f33f-8257-a340-731daead501dca55
   IODev      myBroker
   NAME       MQTT2_zigbee_bridge
   NR         196
   STATE      ???
   TYPE       MQTT2_DEVICE
   eventCount 10
   READINGS:
     2023-11-25 11:09:02   1_disabled      false
     2023-11-25 11:09:02   1_endpoints_11_clusters_input_1 ssIasAce
     2023-11-25 11:09:02   1_endpoints_11_clusters_input_2 genTime
     2023-11-25 11:09:02   1_endpoints_11_clusters_output_1 ssIasZone
     2023-11-25 11:09:02   1_endpoints_11_clusters_output_2 ssIasWd
     2023-11-25 11:09:02   1_endpoints_13_clusters_input_1 genOta
     2023-11-25 11:09:04   1_friendly_name 1
     2023-11-25 11:09:04   1_id            1
     2023-11-25 11:09:02   1_ieee_address  0x00124b000be88e55
     2023-11-25 11:09:02   1_interview_completed true
     2023-11-25 11:09:02   1_interviewing  false
     2023-11-25 11:09:02   1_network_address 0
     2023-11-25 11:09:02   1_supported     false
     2023-11-25 11:09:02   1_type          Coordinator
     2023-11-25 11:09:02   2_date_code     20200116-156
     2023-11-25 11:09:02   2_definition_description Smart plug
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_access 7
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_description On/off state of the switch
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_label State
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_name state
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_property state
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_type binary
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_value_off OFF
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_value_on ON
     2023-11-25 11:09:02   2_definition_exposes_1_features_1_value_toggle TOGGLE
     2023-11-25 11:09:02   2_definition_exposes_1_type switch
     2023-11-25 11:09:02   2_definition_exposes_2_access 7
     2023-11-25 11:09:02   2_definition_exposes_2_description Controls the behavior when the device is powered on after power loss
     2023-11-25 11:09:02   2_definition_exposes_2_label Power-on behavior
     2023-11-25 11:09:02   2_definition_exposes_2_name power_on_behavior
     2023-11-25 11:09:02   2_definition_exposes_2_property power_on_behavior
     2023-11-25 11:09:02   2_definition_exposes_2_type enum
     2023-11-25 11:09:02   2_definition_exposes_2_values_1 off
     2023-11-25 11:09:02   2_definition_exposes_2_values_2 on
     2023-11-25 11:09:02   2_definition_exposes_2_values_3 toggle
     2023-11-25 11:09:02   2_definition_exposes_2_values_4 previous
     2023-11-25 11:09:02   2_definition_exposes_3_access 1
     2023-11-25 11:09:02   2_definition_exposes_3_description Link quality (signal strength)
     2023-11-25 11:09:02   2_definition_exposes_3_label Linkquality
     2023-11-25 11:09:02   2_definition_exposes_3_name linkquality
     2023-11-25 11:09:02   2_definition_exposes_3_property linkquality
     2023-11-25 11:09:02   2_definition_exposes_3_type numeric
     2023-11-25 11:09:02   2_definition_exposes_3_unit lqi
     2023-11-25 11:09:02   2_definition_exposes_3_value_max 255
     2023-11-25 11:09:02   2_definition_exposes_3_value_min 0
     2023-11-25 11:09:02   2_definition_model SP 220
     2023-11-25 11:09:02   2_definition_options_1_access 2
     2023-11-25 11:09:02   2_definition_options_1_description State actions will also be published as 'action' when true (default false).
     2023-11-25 11:09:02   2_definition_options_1_label State action
     2023-11-25 11:09:02   2_definition_options_1_name state_action
     2023-11-25 11:09:02   2_definition_options_1_property state_action
     2023-11-25 11:09:02   2_definition_options_1_type binary
     2023-11-25 11:09:02   2_definition_options_1_value_off false
     2023-11-25 11:09:02   2_definition_options_1_value_on true
     2023-11-25 11:09:02   2_definition_supports_ota false
     2023-11-25 11:09:02   2_definition_vendor Innr
     2023-11-25 11:09:02   2_disabled      false
     2023-11-25 11:09:02   2_endpoints_1_bindings_1_cluster genOnOff
     2023-11-25 11:09:02   2_endpoints_1_bindings_1_target_endpoint 1
     2023-11-25 11:09:02   2_endpoints_1_bindings_1_target_ieee_address 0x00124b000be88e55
     2023-11-25 11:09:02   2_endpoints_1_bindings_1_target_type endpoint
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_1 genBasic
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_2 genIdentify
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_3 genGroups
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_4 genScenes
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_5 genOnOff
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_6 genLevelCtrl
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_7 haDiagnostic
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_8 touchlink
     2023-11-25 11:09:02   2_endpoints_1_clusters_input_9 heimanSpecificInfraRedRemote
     2023-11-25 11:09:02   2_endpoints_1_clusters_output_1 genTime
     2023-11-25 11:09:02   2_endpoints_1_clusters_output_2 genOta
     2023-11-25 11:09:02   2_endpoints_1_configured_reportings_1_attribute onOff
     2023-11-25 11:09:02   2_endpoints_1_configured_reportings_1_cluster genOnOff
     2023-11-25 11:09:02   2_endpoints_1_configured_reportings_1_maximum_report_interval 3600
     2023-11-25 11:09:02   2_endpoints_1_configured_reportings_1_minimum_report_interval 0
     2023-11-25 11:09:02   2_endpoints_1_configured_reportings_1_reportable_change 0
     2023-11-25 11:09:02   2_endpoints_242_clusters_output_1 greenPower
     2023-11-25 11:09:02   2_friendly_name 0x680ae2fffe725629
     2023-11-25 11:09:02   2_ieee_address  0x680ae2fffe725629
     2023-11-25 11:09:02   2_interview_completed true
     2023-11-25 11:09:02   2_interviewing  false
     2023-11-25 11:09:02   2_manufacturer  innr
     2023-11-25 11:09:02   2_model_id      SP 220
     2023-11-25 11:09:02   2_network_address 3890
     2023-11-25 11:09:02   2_power_source  Mains (single phase)
     2023-11-25 11:09:02   2_software_build_id 2.3
     2023-11-25 11:09:02   2_supported     true
     2023-11-25 11:09:02   2_type          Router
     2023-11-25 11:09:02   3_date_code     20180608
     2023-11-25 11:09:02   3_definition_description Temperature & humidity sensor
     2023-11-25 11:09:02   3_definition_exposes_1_access 1
     2023-11-25 11:09:02   3_definition_exposes_1_description Measured relative humidity
     2023-11-25 11:09:02   3_definition_exposes_1_label Humidity
     2023-11-25 11:09:02   3_definition_exposes_1_name humidity
     2023-11-25 11:09:02   3_definition_exposes_1_property humidity
     2023-11-25 11:09:02   3_definition_exposes_1_type numeric
     2023-11-25 11:09:02   3_definition_exposes_1_unit %
     2023-11-25 11:09:02   3_definition_exposes_2_access 1
     2023-11-25 11:09:02   3_definition_exposes_2_description Measured temperature value
     2023-11-25 11:09:02   3_definition_exposes_2_label Temperature
     2023-11-25 11:09:02   3_definition_exposes_2_name temperature
     2023-11-25 11:09:02   3_definition_exposes_2_property temperature
     2023-11-25 11:09:02   3_definition_exposes_2_type numeric
     2023-11-25 11:09:02   3_definition_exposes_2_unit °C
     2023-11-25 11:09:02   3_definition_exposes_3_access 1
     2023-11-25 11:09:02   3_definition_exposes_3_description Remaining battery in %, can take up to 24 hours before reported.
     2023-11-25 11:09:02   3_definition_exposes_3_label Battery
     2023-11-25 11:09:02   3_definition_exposes_3_name battery
     2023-11-25 11:09:02   3_definition_exposes_3_property battery
     2023-11-25 11:09:02   3_definition_exposes_3_type numeric
     2023-11-25 11:09:02   3_definition_exposes_3_unit %
     2023-11-25 11:09:02   3_definition_exposes_3_value_max 100
     2023-11-25 11:09:02   3_definition_exposes_3_value_min 0
     2023-11-25 11:09:02   3_definition_exposes_4_access 1
     2023-11-25 11:09:02   3_definition_exposes_4_description Link quality (signal strength)
     2023-11-25 11:09:02   3_definition_exposes_4_label Linkquality
     2023-11-25 11:09:02   3_definition_exposes_4_name linkquality
     2023-11-25 11:09:02   3_definition_exposes_4_property linkquality
     2023-11-25 11:09:02   3_definition_exposes_4_type numeric
     2023-11-25 11:09:02   3_definition_exposes_4_unit lqi
     2023-11-25 11:09:02   3_definition_exposes_4_value_max 255
     2023-11-25 11:09:02   3_definition_exposes_4_value_min 0
     2023-11-25 11:09:02   3_definition_model TT001ZAV20
     2023-11-25 11:09:02   3_definition_options_1_access 2
     2023-11-25 11:09:02   3_definition_options_1_description Number of digits after decimal point for humidity, takes into effect on next report of device.
     2023-11-25 11:09:02   3_definition_options_1_label Humidity precision
     2023-11-25 11:09:02   3_definition_options_1_name humidity_precision
     2023-11-25 11:09:02   3_definition_options_1_property humidity_precision
     2023-11-25 11:09:02   3_definition_options_1_type numeric
     2023-11-25 11:09:02   3_definition_options_1_value_max 3
     2023-11-25 11:09:02   3_definition_options_1_value_min 0
     2023-11-25 11:09:02   3_definition_options_2_access 2
     2023-11-25 11:09:02   3_definition_options_2_description Calibrates the humidity value (absolute offset), takes into effect on next report of device.
     2023-11-25 11:09:02   3_definition_options_2_label Humidity calibration
     2023-11-25 11:09:02   3_definition_options_2_name humidity_calibration
     2023-11-25 11:09:02   3_definition_options_2_property humidity_calibration
     2023-11-25 11:09:02   3_definition_options_2_type numeric
     2023-11-25 11:09:02   3_definition_options_3_access 2
     2023-11-25 11:09:02   3_definition_options_3_description Number of digits after decimal point for temperature, takes into effect on next report of device.
     2023-11-25 11:09:02   3_definition_options_3_label Temperature precision
     2023-11-25 11:09:02   3_definition_options_3_name temperature_precision
     2023-11-25 11:09:02   3_definition_options_3_property temperature_precision
     2023-11-25 11:09:02   3_definition_options_3_type numeric
     2023-11-25 11:09:02   3_definition_options_3_value_max 3
     2023-11-25 11:09:02   3_definition_options_3_value_min 0
     2023-11-25 11:09:02   3_definition_options_4_access 2
     2023-11-25 11:09:02   3_definition_options_4_description Calibrates the temperature value (absolute offset), takes into effect on next report of device.
     2023-11-25 11:09:02   3_definition_options_4_label Temperature calibration
     2023-11-25 11:09:02   3_definition_options_4_name temperature_calibration
     2023-11-25 11:09:02   3_definition_options_4_property temperature_calibration
     2023-11-25 11:09:02   3_definition_options_4_type numeric
     2023-11-25 11:09:02   3_definition_supports_ota false
     2023-11-25 11:09:02   3_definition_vendor TuYa
     2023-11-25 11:09:02   3_disabled      false
     2023-11-25 11:09:02   3_endpoints_1_clusters_input_1 genBasic
     2023-11-25 11:09:02   3_endpoints_1_clusters_input_2 genPowerCfg
     2023-11-25 11:09:02   3_endpoints_1_clusters_input_3 genIdentify
     2023-11-25 11:09:02   3_endpoints_1_clusters_input_4 msTemperatureMeasurement
     2023-11-25 11:09:02   3_endpoints_1_clusters_input_5 msRelativeHumidity
     2023-11-25 11:09:02   3_endpoints_1_clusters_output_1 genIdentify
     2023-11-25 11:09:02   3_endpoints_1_clusters_output_2 msTemperatureMeasurement
     2023-11-25 11:09:02   3_endpoints_1_clusters_output_3 msRelativeHumidity
     2023-11-25 11:09:02   3_friendly_name 0x000d6ffffe68b526
     2023-11-25 11:09:02   3_ieee_address  0x000d6ffffe68b526
     2023-11-25 11:09:02   3_interview_completed true
     2023-11-25 11:09:02   3_interviewing  false
     2023-11-25 11:09:02   3_manufacturer  TUYATEC-riuj5xzs
     2023-11-25 11:09:02   3_model_id      RH3052
     2023-11-25 11:09:02   3_network_address 43557
     2023-11-25 11:09:02   3_power_source  Battery
     2023-11-25 11:09:02   3_supported     true
     2023-11-25 11:09:02   3_type          EndDevice
     2023-11-25 11:09:01   IODev           myBroker
     2023-11-25 11:09:06   associatedWith  MQTT2_zigbee_pi
     2023-11-25 11:09:06   extensions      []
     2023-11-25 11:09:02   info            {"commit":"ccc08a3","config":{"advanced":{"adapter_concurrent":null,"adapter_delay":null,"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"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],"last_seen":"disable","legacy_api":true,"legacy_availability_payload":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":{},"output":"json","pan_id":6754,"report":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"blocklist":[],"device_options":{},"devices":{"0x000d6ffffe68b526":{"friendly_name":"0x000d6ffffe68b526"},"0x680ae2fffe725629":{"friendly_name":"0x680ae2fffe725629"}},"external_converters":[],"frontend":{"host":"0.0.0.0","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","client_id":"zigbee_pi","force_disable_retain":false,"include_device_information":false,"server":"mqtt://localhost:1883","user":"XXXXX"},"ota":{"disable_automatic_update_check":false,"update_check_interval":1440},"passlist":[],"permit_join":false,"serial":{"disable_led":true,"port":"/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B000BE88E55-if00"}},"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"},"disabled":{"description":"Disables the device (excludes device from network scans, availability and group state updates)","requiresRestart":true,"title":"Disabled","type":"boolean"},"filtered_attributes":{"description":"Filter attributes with regex from published payload.","examples":["^temperature$","^battery$","^action$"],"items":{"type":"string"},"title":"Filtered publish attributes","type":"array"},"filtered_cache":{"description":"Filter attributes with regex from being added to the cache, this prevents the attribute from being in the published payload when the value didn't change.","examples":["^input_actions$"],"items":{"type":"string"},"title":"Filtered attributes from cache","type":"array"},"filtered_optimistic":{"description":"Filter attributes with regex from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).","examples":["^color_(mode|temp)$","color"],"items":{"type":"string"},"title":"Filtered optimistic 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"},"homeassistant":{"properties":{"name":{"description":"Name of the device in Home Assistant","title":"Home Assistant name","type":"string"}},"title":"Home Assistant","type":["object","null"]},"icon":{"description":"The user-defined device icon for the frontend. It can be a full URL link to an image (e.g. https://SOME.SITE/MODEL123.jpg) (you cannot use a path to a local file) or base64 encoded data URL (e.g. image/svg+xml;base64,PHN2ZyB3aW....R0aD)","title":"Icon","type":"string"},"optimistic":{"default":true,"description":"Publish optimistic state after set","title":"Optimistic","type":"boolean"},"qos":{"description":"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"},"off_state":{"default":"auto","description":"Control when to publish state OFF for a group. 'all_members_off': only publish state OFF when all group members are in state OFF, 'last_member_state': publish state OFF whenever one of its members changes to OFF","enum":["all_members_off","last_member_state"],"requiresRestart":true,"title":"Group off state","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"]},"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":[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!","oneOf":[{"title":"Extended pan ID (string)","type":"string"},{"items":{"type":"number"},"title":"Extended pan ID (array)","type":"array"}],"requiresRestart":true,"title":"Ext Pan ID"},"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"},"legacy_availability_payload":{"default":true,"description":"Payload to be used for device availability and bridge/state topics. true = text, false = JSON","requiresRestart":true,"title":"Legacy availability payload","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 suppress 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":["/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":514,"description":"The port on the host that syslog is running on, defaults to syslogd's default port.","title":"Port","type":"number"},"protocol":{"default":"udp4","description":"The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).","examples":["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"},"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"},"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"},"timestamp_format":{"description":"Log timestamp format","examples":["YYYY-MM-DD HH:mm:ss"],"requiresRestart":true,"title":"Timestamp format","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":"Advanced","type":"object"},"availability":{"description":"Checks whether devices are online/offline","oneOf":[{"title":"Availability (simple)","type":"boolean"},{"properties":{"active":{"description":"Options for active devices (routers/mains powered)","properties":{"timeout":{"default":10,"description":"Time after which an active device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Active","type":"object"},"passive":{"description":"Options for passive devices (mostly battery powered)","properties":{"timeout":{"default":1500,"description":"Time after which an passive device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Passive","type":"object"}},"title":"Availability (advanced)","type":"object"}],"requiresRestart":true,"title":"Availability"},"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":{"title":"Options that are applied to all devices","type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"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":{"oneOf":[{"title":"Frontend (simple)","type":"boolean"},{"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. Binds to a unix socket when an absolute path is given instead.","examples":["127.0.0.1","/run/zigbee2mqtt/zigbee2mqtt.sock"],"requiresRestart":true,"title":"Bind host","type":"string"},"port":{"default":8080,"description":"Frontend binding port. Ignored when using a unix domain socket","requiresRestart":true,"title":"Port","type":"number"},"ssl_cert":{"description":"SSL Certificate file path for exposing HTTPS. The sibling property 'ssl_key' must be set for HTTPS to be activated.","requiresRestart":true,"title":"Certificate file path","type":["string","null"]},"ssl_key":{"description":"SSL key file path for exposing HTTPS. The sibling property 'ssl_cert' must be set for HTTPS to be activated.","requiresRestart":true,"title":"key file path","type":["string","null"]},"url":{"description":"URL on which the frontend can be reached, currently only used for the Home Assistant device configuration page","requiresRestart":true,"title":"URL","type":["string","null"]}},"title":"Frontend (advanced)","type":"object"}],"requiresRestart":true,"title":"Frontend"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant integration (MQTT discovery)","oneOf":[{"title":"Home Assistant (simple)","type":"boolean"},{"properties":{"discovery_topic":{"description":"Home Assistant discovery topic","examples":["homeassistant"],"requiresRestart":true,"title":"Homeassistant discovery topic","type":"string"},"legacy_entity_attributes":{"default":true,"description":"Home Assistant legacy entity attributes, when enabled Zigbee2MQTT will add state attributes to each entity, additional to the separate entities and devices it already creates","title":"Home Assistant legacy entity attributes","type":"boolean"},"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"},"status_topic":{"description":"Home Assistant status topic","examples":["homeassistant/status"],"requiresRestart":true,"title":"Home Assistant status topic","type":"string"}},"title":"Home Assistant (advanced)","type":"object"}],"requiresRestart":true,"title":"Home Assistant integration"},"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":{"default":"zigbee2mqtt","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":[5],"requiresRestart":true,"title":"Version","type":["number","null"]}},"required":["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"},"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"},"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"},"zigbee_ota_override_index_location":{"description":"Location of override OTA index file","examples":["index.json"],"requiresRestart":true,"title":"OTA index override file name","type":"string"}},"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":{"default":"auto","description":"Adapter type, not needed unless you are experiencing problems","enum":["deconz","zstack","zigate","ezsp","auto"],"requiresRestart":true,"title":"Adapter","type":["string"]},"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"},"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"]},"rtscts":{"description":"RTS / CTS Hardware Flow Control for serial port","requiresRestart":true,"title":"RTS / CTS","type":"boolean"}},"title":"Serial","type":"object"},"whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Whitelist (deprecated, use passlist)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"ieee_address":"0x00124b000be88e55","meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20190608,"transportrev":2},"type":"zStack12"},"log_level":"info","network":{"channel":11,"extended_pan_id":"0xdddddddddddddddd","pan_id":6754},"permit_join":false,"restart_required":false,"version":"1.33.2","zigbee_herdsman":{"version":"0.21.0"},"zigbee_herdsman_converters":{"version":"15.106.0"}}
     2023-11-25 11:09:06   level           info
     2023-11-25 11:09:06   message         Zigbee2MQTT started!
Attributes:
   readingList zigbee2mqtt/bridge/info:.* info
zigbee2mqtt/bridge/devices:.* { json2nameValue($EVENT) }
zigbee2mqtt/bridge/groups:.* { json2nameValue($EVENT) }
zigbee2mqtt/bridge/extensions:.* extensions
zigbee2mqtt/bridge/logging:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE



Internals:
   CFGFN     
   CID        zigbee_1
   DEF        zigbee_1
   FUUID      6561c7be-f33f-8257-090c-37d208f2351d550d
   IODev      myBroker
   NAME       MQTT2_zigbee_1
   NR         199
   STATE      ???
   TYPE       MQTT2_DEVICE
   eventCount 1
   READINGS:
     2023-11-25 11:09:02   IODev           myBroker
     2023-11-25 11:09:06   associatedWith  MQTT2_zigbee_pi
     2023-11-25 11:09:06   zigbee2mqtt_1_availability online
Attributes:
   readingList zigbee2mqtt/1/availability:.* zigbee2mqtt_1_availability
   room       MQTT2_DEVICE
Meist liegt der Fehler vor der Tastatur

TomLee

ZitatBei Zigbee-Geräten scheint ein erneutes Anlernen erforderlich zu sein, ...

Eigentlich nicht, du musst nur die configuration.yaml, die database.db und optional die state.json mit übernehmen und das neu pairen erübrigt sich.

Der availability-ReadingList-Eintrag des neuen Device gehört zum Bridge-Device, einfach dort ergänzen und das neue Device dann löschen. Der Zweig kam irgendwann dazu und wurde bisher nicht im Template ergänzt.

Gast45

#10
ZitatEigentlich nicht, du musst nur die configuration.yaml, die database.db und optional die state.json mit übernehmen und das neu pairen erübrigt sich.

Dankeschön. Die configuration.yaml hatte ich anfänglich übernommen. Wegen der ,,schlechten" Erfahrungen aber zuletzt tatsächlich drauf verzichtet, bzw. ich dabe die devices-Section gelöscht. Aber database.db und state.json ist mir tatsächlich unbekannt gewesen und werde das gerne ausprobieren.

Aber ich denke das ändert nichts daran, dass trotz gleicher Hardware und Fhem-Konfiguration aber auf neuer Software-Basis die zwei Devices ,,zigbee_1" und ,,zigbee_bridge" erzeugt werden, bei denen ich nicht verstehe wieso und wie ich damit richtigerweise umgehen sollte.

Obwohl, mir fällt gerade ein, dass ich die Geräte auch wieder neu verbinden muss, wenn ich wieder die alte Installation auf stretch starte. Aber das könnte vielleicht auch daran liegen, dass ich sie zuvor an der neuen Installation angemeldet hatte....

Ich werde es probieren.


ZitatDer availability-ReadingList-Eintrag des neuen Device gehört zum Bridge-Device, einfach dort ergänzen und das neue Device dann löschen. Der Zweig kam irgendwann dazu und wurde bisher nicht im Template ergänzt.

Auch das sehe ich mir gerne dahingehend an. Ich kann also beide neuen devices in meine alte Bridge integrieren?
Ich frage mich nur, wieso das nicht auch schon auf der stretch-Installation aufgekommen ist? Liegt das am node/npm-Softwarestand?
Meist liegt der Fehler vor der Tastatur

TomLee

Hallo nochmal,

ich war irgendwie der Meinung das mir der availability was sagt und ich den in der Bridge ergänzt hatte, dem ist aber gar nicht so, ich hab den gar nicht bei mir und ich hab letzte Woche alles neu aufgesetzt.
Bei mir hatte ich irgendwann mal $DEVICETOPIC/bridge/response/device/remove:.* { json2nameValue($EVENT) }
$DEVICETOPIC/bridge/response/options:.* { json2nameValue($EVENT) }
in der Bridge ergänzt.

Was mir jetzt nach genauerem vergleichen auffällt, die ReadingList-Einträge aus dem ersten Device in #8, die sollten doch eigentlich alle schon in dem Bridge-Template vorhanden sein, es ist merkwürdig das dieses Device jetzt erstellt wurde.
Das zweite Device wurde von der bridgeRegexp erfasst/angelegt, also ein Bridge-Device musst du ja haben, kannst du mal davon ein List zeigen.

Gast45

#12
Hallo,

erstmal kann ich positiv berichten, dass der Hinweis neben der configuration.yaml auch state.json und database.db zu übernehmen sehr gut war. So funktionieren meine drei Zigbee-Geräte (1x Steckdose, 1x Licht, 1x Temperatursensor) direkt auch auf bullseye. Danke dafür.

Jetzt zum Thema Bridge.

Mein Brigde-Device unter stretch sieht so aus:

Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   FUUID      5dc6a015-f33f-8257-3cda-ec0aa780d532a7ce
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     2
   NAME       MQTT2_zigbee_pi
   NR         124
   STATE      online
   TYPE       MQTT2_DEVICE
   eventCount 2
   myBroker_CONN myBroker_127.0.0.1_41786
   myBroker_MSGCNT 2
   myBroker_TIME 2023-11-26 13:55:23
   READINGS:
     2023-11-26 13:47:09   IODev           myBroker
     2023-11-26 13:55:23   commit          2cb234c
     2020-06-04 19:00:45   coordinator     20190608
     2023-11-26 13:55:23   coordinator_meta_maintrel 3
     2023-11-26 13:55:23   coordinator_meta_majorrel 2
     2023-11-26 13:55:23   coordinator_meta_minorrel 6
     2023-11-26 13:55:23   coordinator_meta_product 0
     2023-11-26 13:55:23   coordinator_meta_revision 20190608
     2023-11-26 13:55:23   coordinator_meta_transportrev 2
     2023-11-26 13:55:23   coordinator_type zStack12
     2023-11-21 18:30:09   devices         {"type":"devices","message":[{"ieeeAddr":"0x00124b000be88e55","type":"Coordinator","networkAddress":0,"friendly_name":"Coordinator","softwareBuildID":"zStack12","dateCode":"20190608","lastSeen":1700587809120},{"ieeeAddr":"0x680ae2fffe725629","type":"Router","networkAddress":57534,"model":"SP 220","vendor":"Innr","description":"Smart plug","friendly_name":"0x680ae2fffe725629","manufacturerID":4454,"manufacturerName":"innr","powerSource":"Mains (single phase)","modelID":"SP 220","hardwareVersion":1,"softwareBuildID":"2.3","dateCode":"20200116-156","lastSeen":1700587800215},{"ieeeAddr":"0x00158d0001fe6a0c","type":"Router","networkAddress":31426,"model":"4713407","vendor":"Airam","description":"LED OP A60 ZB 9W/827 E27","friendly_name":"0x00158d0001fe6a0c","manufacturerID":4635,"manufacturerName":"MLI","powerSource":"Mains (single phase)","modelID":"ZBT-DimmableLight","hardwareVersion":1,"softwareBuildID":"2.0","dateCode":"20180404-42","lastSeen":1700587761665},{"ieeeAddr":"0x000d6ffffe68b526","type":"EndDevice","networkAddress":43557,"model":"TT001ZAV20","vendor":"TUYATEC","description":"Temperature & humidity sensor","friendly_name":"0x000d6ffffe68b526","manufacturerID":0,"manufacturerName":"TUYATEC-riuj5xzs","powerSource":"Battery","modelID":"RH3052","hardwareVersion":1,"dateCode":"20180608","lastSeen":1700587108364}]}
     2023-11-26 13:30:04   log             {"type":"zigbee_publish_error","message":"Publish 'set' 'state' to '0x680ae2fffe725629' failed: 'Error: Command 0x680ae2fffe725629/1 genOnOff.off({}, {\"timeout\":10000,\"manufacturerCode\":null,\"disableDefaultResponse\":false}) failed (Error: Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x680ae2fffe725629"}}
     2023-11-26 13:55:23   log_level       info
     2023-11-26 13:55:23   permit_join     false
     2020-06-04 17:22:37   remove          set devices
     2023-11-26 13:55:23   state           online
     2023-11-25 10:46:13   subscriptions   zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/+/get zigbee2mqtt/+/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/+/set zigbee2mqtt/+/+/+/+/+/set/+ zigbee2mqtt/+/+/+/+/get zigbee2mqtt/+/+/+/+/get/+ zigbee2mqtt/+/+/+/+/set zigbee2mqtt/+/+/+/+/set/+ zigbee2mqtt/+/+/+/get zigbee2mqtt/+/+/+/get/+ zigbee2mqtt/+/+/+/set zigbee2mqtt/+/+/+/set/+ zigbee2mqtt/+/+/get zigbee2mqtt/+/+/get/+ zigbee2mqtt/+/+/set zigbee2mqtt/+/+/set/+ zigbee2mqtt/+/get zigbee2mqtt/+/get/+ zigbee2mqtt/+/set zigbee2mqtt/+/set/+ zigbee2mqtt/bridge/bind/# zigbee2mqtt/bridge/config/+ zigbee2mqtt/bridge/config/+/+ zigbee2mqtt/bridge/configure zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/+/get_group_membership zigbee2mqtt/bridge/device/+/+/get_group_membership zigbee2mqtt/bridge/device/+/get_group_membership zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/+/add zigbee2mqtt/bridge/group/+/+/+/remove zigbee2mqtt/bridge/group/+/+/+/remove_all zigbee2mqtt/bridge/group/+/+/add zigbee2mqtt/bridge/group/+/+/remove zigbee2mqtt/bridge/group/+/+/remove_all zigbee2mqtt/bridge/group/+/add zigbee2mqtt/bridge/group/+/remove zigbee2mqtt/bridge/group/+/remove_all zigbee2mqtt/bridge/group/remove_all zigbee2mqtt/bridge/networkmap zigbee2mqtt/bridge/networkmap/routes zigbee2mqtt/bridge/ota_update/check zigbee2mqtt/bridge/ota_update/update zigbee2mqtt/bridge/unbind/#
     2023-11-26 13:55:23   version         1.13.1
Attributes:
   IODev      myBroker
   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
   icon       cul_usb
   model      zigbee2mqtt_bridge
   readingList zigbee2mqtt/bridge/state:.* state
  zigbee2mqtt/bridge/config/devices:.* {}
  zigbee2mqtt/bridge/config/log_level:.* log_level
  zigbee2mqtt/bridge/config/permit_join:.* permit_join
  zigbee2mqtt/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }
  zigbee2mqtt/bridge/log:.*\"type\".\"devices\".\"message\".* devices
  zigbee2mqtt/bridge/log:.* log
  zigbee2mqtt/bridge/networkmap:.* {}
  zigbee2mqtt/bridge/networkmap/graphviz:.* graphviz
  zigbee2mqtt/bridge/networkmap/raw:.* raw
  zigbee2mqtt/bridge/config:.* { json2nameValue($EVENT) }
   room       MQTT2_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
  y_device_setting:textField zigbee2mqtt/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}
  x_bind:textField zigbee2mqtt/bridge/bind/$EVTPART1 $EVTPART2
  x_bind_unbind:textField zigbee2mqtt/bridge/unbind/$EVTPART1 $EVTPART2
  x_device_options:textField zigbee2mqtt/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}
  x_group_add_to:textField zigbee2mqtt/bridge/group/$EVTPART1/add $EVTPART2
  x_group_rm_from:textField zigbee2mqtt/bridge/group/$EVTPART1/remove $EVTPART2
  x_group_rm_from_all:textField zigbee2mqtt/bridge/group/$EVTPART1/remove_all $EVTPART2
  x_group_add_group:textField zigbee2mqtt/bridge/config/add_group $EVTPART1
  x_group_rm_group:textField zigbee2mqtt/bridge/config/remove_group $EVTPART1
  z_elapsed:textField zigbee2mqtt/bridge/config/elapsed $EVTPART1
  z_last_seen:textField zigbee2mqtt/bridge/config/last_seen $EVTPART1
  z_ban:textField zigbee2mqtt/bridge/config/ban $EVTPART1
  z_rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
  z_reset_CC:noArg zigbee2mqtt/bridge/config/reset
   setStateList on off
   verbose    0

Das ist gemäß meinen Notizen damals (das älteste Reading ist von Juni 2020) automatisch entstanden und von mir konfiguriert worden mit:
set MQTT2_zigbee_pi attrTemplate zigbee2mqtt_bridge
Für mich sind die leider so signifikant unterschiedlich, dass es mir schwer fällt zu erkennen, was überhaupt verglichen werden muss.
Offensichtlich sind eine Menge Parameter meiner Geräte im neuen Bridge-Device (siehe #8) hinterlegt, aber ich verstehe nicht, wieso das nicht auch im alten schon so war. Selbst wenn sich zwischnzeitlich etwas an der Arbeitsweise in Fhem geändert haben sollte, so hätten die Readings doch auch da auftauchen müssen?!


Meist liegt der Fehler vor der Tastatur

TomLee

ZitatMein Brigde-Device unter stretch sieht so aus:

Wen interessiert die Bridge-Definition auf dem alten System ?

Wie sieht die Bridge-Definition auf dem Neuen aus ?



Das mit dem availability-Zweig ist cool, das hab ich vermisst und kann man aktivieren.
Bei mir werden diese Zweige automatisch bei jedem Device in der readingList ergänzt, der Wert zeigt an ob ein Device im Mesh vorhanden ist oder nicht.

Warum bei Dir dieses Device mit der 1 im Topic erstellt wird, versteh ich nicht:
zigbee2mqtt/1/availability:.* zigbee2mqtt_1_availability
Bei mir ist das an der Stelle immer der Gerätename, bspw:
Zitatzigbee2mqtt/0x00158d0002fde5ce/availability:.* availability


Gast45

#14
Naja, die neue Bridge-Definition, oder zumindest was ich aufgrund des autom. vergebenen Namens dafür halte, steht ja schon in #8.
Nur noch nicht mit 
set MQTT2_zigbee_bridge attrTemplate zigbee2mqtt_bridge überschrieben.

Das ist genau das, was ich nicht verstehe. Es gibt eine funktionierende Konfiguration in Fhem und dennoch wird die Bridge neu erstellt.

Daher hatte ich dich in #11 so verstanden, dass du zum Vergleich das haben wolltest, wie es aktuell läuft. Und die wurde ja durch das Backup auch 1-zu-1 auf die bullseye-Installation übernommen.

Zudem müsste der Bridge-Name eigentlich nach der cliend-id in der configuration.yaml vergeben werden?! Aber hier hatte ich auch weiter oben (siehe Ende von #7) schon geschrieben, dass die Anleitung die Angabe der ID in Hochkomma verlangt, aber wenn ich das mache, werden diese ständig im laufenden Betrieb automatisch wieder entfernt, deshalb habe ich sie direkt weggelassen (ist in stretch auch schon so). Vielleicht muss ich einfach meine alte Bridge "MQTT2_zigbee_pi" einfach löschen und benenne die neue "MQTT2_zigbee_bridge" einfach wieder in "MQTT2_zigbee_pi" um.

Ich würde nur gerne verstehen, wieso das jetzt so ist und nicht vorher schon dazu kam. Gibt immer so ein ungutes Gefühl, wenn sich an Hardware und Fhem-Installation nichts geändert hat, aber ein ganz anderes Verhalten auftritt. Es würden dabei auch eine Reihe Konfigurationen (z.B. die subscriptions) verschwinden, wo ich nicht weiß, ob das zu einen Problem wird. Ich kann es mir nur mit der deutlich aktuelleren node/npm-Version erklären, aber so ganz genau habe ich deren Aufgabe nicht verstanden, dass ich hier wirklich sicher wäre.


ZitatBei mir ist das an der Stelle immer der Gerätename, bspw:

    Zitat
    zigbee2mqtt/0x00158d0002fde5ce/availability:.* availability

Das nehme ich auf jeden Fall als Hinweis mit.


Ergänzungen 26.11.23, 19:30 Uhr:
Ich habe nun meine alte Bridge gelöscht und die vermeintlich neue wie folgt editiert:
set MQTT2_zigbee_bridge attrTemplate zigbee2mqtt_bridge
rename MQTT2_zigbee_bridge MQTT2_zigbee_pi

Das ganze sieht nun so aus:


Internals:
   CID        zigbee_bridge
   DEF        zigbee_bridge
   FUUID      65633eb5-f33f-8257-fa97-2ebe5e0950eb746b
   IODev      myBroker
   NAME       MQTT2_zigbee_pi
   NR         177
   STATE      online
   TYPE       MQTT2_DEVICE
   READINGS:
     2023-11-26 19:28:27   IODev           myBroker
     2023-11-26 19:14:55   attrTemplateVersion 20220328
     2023-11-26 19:20:58   commit          ccc08a3
     2023-11-26 19:20:58   coordinator_meta_maintrel 3
     2023-11-26 19:20:58   coordinator_meta_majorrel 2
     2023-11-26 19:20:58   coordinator_meta_minorrel 6
     2023-11-26 19:20:58   coordinator_meta_product 0
     2023-11-26 19:20:58   coordinator_meta_revision 20190608
     2023-11-26 19:20:58   coordinator_meta_transportrev 2
     2023-11-26 19:20:58   coordinator_type zStack12
     2023-11-26 19:20:58   devices         [{"definition":null,"disabled":false,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"11":{"bindings":[],"clusters":{"input":[],"output":["ssIasZone"]},"configured_reportings":[],"scenes":[]},"2":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"4":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"5":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"6":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]}},"friendly_name":"Coordinator","ieee_address":"0x00124b000be88e55","interviewing":false,"network_address":0,"supported":false,"type":"Coordinator"},{"date_code":"20200116-156","definition":{"description":"Smart plug","exposes":[{"features":[{"access":7,"description":"On/off state of the switch","label":"State","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"access":7,"description":"Controls the behavior when the device is powered on after power loss","label":"Power-on behavior","name":"power_on_behavior","property":"power_on_behavior","type":"enum","values":["off","on","toggle","previous"]},{"access":1,"description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"SP 220","options":[{"access":2,"description":"State actions will also be published as 'action' when true (default false).","label":"State action","name":"state_action","property":"state_action","type":"binary","value_off":false,"value_on":true}],"supports_ota":false,"vendor":"Innr"},"disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0x00124b000be88e55","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","genGroups","genScenes","genOnOff","genLevelCtrl","haDiagnostic","touchlink","heimanSpecificInfraRedRemote"],"output":["genTime","genOta"]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":[],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"0x680ae2fffe725629","ieee_address":"0x680ae2fffe725629","interview_completed":true,"interviewing":false,"manufacturer":"innr","model_id":"SP 220","network_address":15402,"power_source":"Mains (single phase)","software_build_id":"2.3","supported":true,"type":"Router"},{"date_code":"20180404-42","definition":{"description":"LED bulb E27 806 lumen, dimmable","exposes":[{"features":[{"access":7,"description":"On/off state of this light","label":"State","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":7,"description":"Brightness of this light","label":"Brightness","name":"brightness","property":"brightness","type":"numeric","value_max":254,"value_min":0}],"type":"light"},{"access":2,"description":"Triggers an effect on the light (e.g. make light blink for a few seconds)","label":"Effect","name":"effect","property":"effect","type":"enum","values":["blink","breathe","okay","channel_change","finish_effect","stop_effect"]},{"access":7,"description":"Controls the behavior when the device is powered on after power loss","label":"Power-on behavior","name":"power_on_behavior","property":"power_on_behavior","type":"enum","values":["off","on","toggle","previous"]},{"access":1,"description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"404001","options":[{"access":2,"description":"Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to `0` (no transition).","label":"Transition","name":"transition","property":"transition","type":"numeric","value_min":0},{"access":2,"description":"State actions will also be published as 'action' when true (default false).","label":"State action","name":"state_action","property":"state_action","type":"binary","value_off":false,"value_on":true}],"supports_ota":false,"vendor":"Müller Licht"},"disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0x00124b000be88e55","type":"endpoint"}},{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0x00124b000be88e55","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","genGroups","genScenes","genOnOff","genLevelCtrl","touchlink"],"output":["genOta"]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":["greenPower"],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"0x00158d0001fe6a0c","ieee_address":"0x00158d0001fe6a0c","interviewing":false,"manufacturer":"MLI","model_id":"ZBT-DimmableLight","network_address":31426,"power_source":"Mains (single phase)","software_build_id":"2.0","supported":true,"type":"Router"},{"definition":{"description":"Temperature & humidity sensor","exposes":[{"access":1,"description":"Measured relative humidity","label":"Humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"Measured temperature value","label":"Temperature","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Remaining battery in %, can take up to 24 hours before reported.","label":"Battery","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"TT001ZAV20","options":[{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","label":"Humidity precision","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","label":"Humidity calibration","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","label":"Temperature precision","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","label":"Temperature calibration","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"}],"supports_ota":false,"vendor":"TuYa"},"disabled":false,"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genPowerCfg","genIdentify","msTemperatureMeasurement","msRelativeHumidity"],"output":["genIdentify","msTemperatureMeasurement","msRelativeHumidity"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"0x000d6ffffe68b526","ieee_address":"0x000d6ffffe68b526","interview_completed":true,"interviewing":false,"manufacturer":"TUYATEC-riuj5xzs","model_id":"RH3052","network_address":43557,"supported":true,"type":"EndDevice"}]
     2023-11-26 19:20:58   extensions      []
     2023-11-26 19:20:58   groups          []
     2023-11-26 19:20:58   info            {"commit":"ccc08a3","config":{"advanced":{"adapter_concurrent":null,"adapter_delay":null,"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"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],"last_seen":"disable","legacy_api":true,"legacy_availability_payload":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":{},"output":"json","pan_id":6754,"report":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"blocklist":[],"device_options":{},"devices":{"0x000d6ffffe68b526":{"friendly_name":"0x000d6ffffe68b526","retain":false},"0x00158d0001fe6a0c":{"friendly_name":"0x00158d0001fe6a0c","retain":false},"0x680ae2fffe725629":{"friendly_name":"0x680ae2fffe725629"}},"external_converters":[],"frontend":{"host":"0.0.0.0","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","client_id":"zigbee_pi","force_disable_retain":false,"include_device_information":false,"server":"mqtt://localhost:1883","user"XXXXX"},"ota":{"disable_automatic_update_check":false,"update_check_interval":1440},"passlist":[],"permit_join":false,"serial":{"disable_led":true,"port":"/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B000BE88E55-if00"}},"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"},"disabled":{"description":"Disables the device (excludes device from network scans, availability and group state updates)","requiresRestart":true,"title":"Disabled","type":"boolean"},"filtered_attributes":{"description":"Filter attributes with regex from published payload.","examples":["^temperature$","^battery$","^action$"],"items":{"type":"string"},"title":"Filtered publish attributes","type":"array"},"filtered_cache":{"description":"Filter attributes with regex from being added to the cache, this prevents the attribute from being in the published payload when the value didn't change.","examples":["^input_actions$"],"items":{"type":"string"},"title":"Filtered attributes from cache","type":"array"},"filtered_optimistic":{"description":"Filter attributes with regex from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).","examples":["^color_(mode|temp)$","color"],"items":{"type":"string"},"title":"Filtered optimistic 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"},"homeassistant":{"properties":{"name":{"description":"Name of the device in Home Assistant","title":"Home Assistant name","type":"string"}},"title":"Home Assistant","type":["object","null"]},"icon":{"description":"The user-defined device icon for the frontend. It can be a full URL link to an image (e.g. https://SOME.SITE/MODEL123.jpg) (you cannot use a path to a local file) or base64 encoded data URL (e.g. image/svg+xml;base64,PHN2ZyB3aW....R0aD)","title":"Icon","type":"string"},"optimistic":{"default":true,"description":"Publish optimistic state after set","title":"Optimistic","type":"boolean"},"qos":{"description":"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"},"off_state":{"default":"auto","description":"Control when to publish state OFF for a group. 'all_members_off': only publish state OFF when all group members are in state OFF, 'last_member_state': publish state OFF whenever one of its members changes to OFF","enum":["all_members_off","last_member_state"],"requiresRestart":true,"title":"Group off state","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"]},"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":[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!","oneOf":[{"title":"Extended pan ID (string)","type":"string"},{"items":{"type":"number"},"title":"Extended pan ID (array)","type":"array"}],"requiresRestart":true,"title":"Ext Pan ID"},"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"},"legacy_availability_payload":{"default":true,"description":"Payload to be used for device availability and bridge/state topics. true = text, false = JSON","requiresRestart":true,"title":"Legacy availability payload","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 suppress 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":["/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":514,"description":"The port on the host that syslog is running on, defaults to syslogd's default port.","title":"Port","type":"number"},"protocol":{"default":"udp4","description":"The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).","examples":["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"},"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"},"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"},"timestamp_format":{"description":"Log timestamp format","examples":["YYYY-MM-DD HH:mm:ss"],"requiresRestart":true,"title":"Timestamp format","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":"Advanced","type":"object"},"availability":{"description":"Checks whether devices are online/offline","oneOf":[{"title":"Availability (simple)","type":"boolean"},{"properties":{"active":{"description":"Options for active devices (routers/mains powered)","properties":{"timeout":{"default":10,"description":"Time after which an active device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Active","type":"object"},"passive":{"description":"Options for passive devices (mostly battery powered)","properties":{"timeout":{"default":1500,"description":"Time after which an passive device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Passive","type":"object"}},"title":"Availability (advanced)","type":"object"}],"requiresRestart":true,"title":"Availability"},"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":{"title":"Options that are applied to all devices","type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"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":{"oneOf":[{"title":"Frontend (simple)","type":"boolean"},{"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. Binds to a unix socket when an absolute path is given instead.","examples":["127.0.0.1","/run/zigbee2mqtt/zigbee2mqtt.sock"],"requiresRestart":true,"title":"Bind host","type":"string"},"port":{"default":8080,"description":"Frontend binding port. Ignored when using a unix domain socket","requiresRestart":true,"title":"Port","type":"number"},"ssl_cert":{"description":"SSL Certificate file path for exposing HTTPS. The sibling property 'ssl_key' must be set for HTTPS to be activated.","requiresRestart":true,"title":"Certificate file path","type":["string","null"]},"ssl_key":{"description":"SSL key file path for exposing HTTPS. The sibling property 'ssl_cert' must be set for HTTPS to be activated.","requiresRestart":true,"title":"key file path","type":["string","null"]},"url":{"description":"URL on which the frontend can be reached, currently only used for the Home Assistant device configuration page","requiresRestart":true,"title":"URL","type":["string","null"]}},"title":"Frontend (advanced)","type":"object"}],"requiresRestart":true,"title":"Frontend"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant integration (MQTT discovery)","oneOf":[{"title":"Home Assistant (simple)","type":"boolean"},{"properties":{"discovery_topic":{"description":"Home Assistant discovery topic","examples":["homeassistant"],"requiresRestart":true,"title":"Homeassistant discovery topic","type":"string"},"legacy_entity_attributes":{"default":true,"description":"Home Assistant legacy entity attributes, when enabled Zigbee2MQTT will add state attributes to each entity, additional to the separate entities and devices it already creates","title":"Home Assistant legacy entity attributes","type":"boolean"},"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"},"status_topic":{"description":"Home Assistant status topic","examples":["homeassistant/status"],"requiresRestart":true,"title":"Home Assistant status topic","type":"string"}},"title":"Home Assistant (advanced)","type":"object"}],"requiresRestart":true,"title":"Home Assistant integration"},"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":{"default":"zigbee2mqtt","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":[5],"requiresRestart":true,"title":"Version","type":["number","null"]}},"required":["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"},"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"},"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"},"zigbee_ota_override_index_location":{"description":"Location of override OTA index file","examples":["index.json"],"requiresRestart":true,"title":"OTA index override file name","type":"string"}},"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":{"default":"auto","description":"Adapter type, not needed unless you are experiencing problems","enum":["deconz","zstack","zigate","ezsp","auto"],"requiresRestart":true,"title":"Adapter","type":["string"]},"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"},"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"]},"rtscts":{"description":"RTS / CTS Hardware Flow Control for serial port","requiresRestart":true,"title":"RTS / CTS","type":"boolean"}},"title":"Serial","type":"object"},"whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Whitelist (deprecated, use passlist)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"ieee_address":"0x00124b000be88e55","meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20190608,"transportrev":2},"type":"zStack12"},"log_level":"info","network":{"channel":11,"extended_pan_id":"0xdddddddddddddddd","pan_id":6754},"permit_join":false,"restart_required":false,"version":"1.33.2","zigbee_herdsman":{"version":"0.21.0"},"zigbee_herdsman_converters":{"version":"15.106.0"}}
     2023-11-26 19:25:07   log_level       info
     2023-11-26 19:25:07   log_message     MQTT publish: topic 'zigbee2mqtt/0x00158d0001fe6a0c', payload '{"brightness":254,"linkquality":39,"state":"OFF"}'
     2023-11-26 19:20:58   network_channel 11
     2023-11-26 19:20:58   network_extendedPanID 0xdddddddddddddddd
     2023-11-26 19:20:58   network_panID   6754
     2023-11-26 19:20:58   permit_join     false
     2023-11-26 19:20:57   state           online
     2023-11-26 19:20:58   version         1.33.2
Attributes:
   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    networkmap_raw:noArg raw $DEVICETOPIC/bridge/request/networkmap raw
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/request/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/config:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices
  $DEVICETOPIC/bridge/log:.* log
  $DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }
  $DEVICETOPIC/bridge/response/networkmap:.* { my $type = $EVENT =~ m/.*,"type":"(raw|graphviz)",.*/ ? $1 : 'networkmap'; $EVENT =~ m/{"data":\{.*"value":"?(.*[^"])"?\},"status":"ok"\}/ ? { $type=>$1 } : {} }
  $DEVICETOPIC/bridge/devices:.* devices
  $DEVICETOPIC/bridge/info:.* info
  $DEVICETOPIC/bridge/groups:.* groups
  $DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/bridge/extensions:.* extensions
   room       MQTT2_DEVICE
   setList    log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1
  permit_join:true,false $DEVICETOPIC/bridge/request/permit_join $EVTPART1
  remove:textField $DEVICETOPIC/bridge/config/remove $EVTPART1
  ota_update:textField $DEVICETOPIC/bridge/ota_update/update $EVTPART1
  ota_update_check:textField $DEVICETOPIC/bridge/ota_update/check $EVTPART1
  y_device_setting:textField $DEVICETOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}
  x_bind:textField $DEVICETOPIC/bridge/bind/$EVTPART1 $EVTPART2
  x_bind_unbind:textField $DEVICETOPIC/bridge/unbind/$EVTPART1 $EVTPART2
  x_device_options:textField $DEVICETOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}
  x_group_add_to:textField $DEVICETOPIC/bridge/group/$EVTPART1/add $EVTPART2
  x_group_rm_from:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove $EVTPART2
  x_group_rm_from_all:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2
  x_group_add_group:textField $DEVICETOPIC/bridge/config/add_group $EVTPART1
  x_group_rm_group:textField $DEVICETOPIC/bridge/config/remove_group $EVTPART1
  z_elapsed:textField $DEVICETOPIC/bridge/config/elapsed $EVTPART1
  z_last_seen:disable,ISO_8601,epoch,ISO_8601_local $DEVICETOPIC/bridge/config/last_seen $EVTPART1
  z_ban:textField $DEVICETOPIC/bridge/config/ban $EVTPART1
  z_rename:textField $DEVICETOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
  z_reset_CC:noArg $DEVICETOPIC/bridge/config/reset
   setStateList

Das scheint wohl soweit zu laufen. Warum auch immer in den Readings ,,Info" und ,,Devices" ein ganzer Roman steht :D

In einem nächsten Schritt werde ich nochmal ausprobieren was passiert, wenn ich meine alte Bridge lösche, bevor die neue automatisch angelegt wird.

Und siehe da, die Bridge wird wie erwartet mit dem Namen ,,MQTT2_zigbee_pi" angelegt und funktioniert auch ohne attrTemplate anzuwenden.
Meist liegt der Fehler vor der Tastatur

Gast45

#15
Zusammenfassung der bisherigen Kommunikation. Danke für die bisherige Unterstützung.

Ausgangssituation war eine FHEM-Installation auf

- Stretch
- node 10.24.1
- npm 6.14.12

Diese wurde per backup und restore übertragen auf eine neue Linux-Basis:

- bullseye
- node 20.10.0
- npm 10.2.3

Das Backup habe ich innerhalb FHEM mit "backup" in der Befehlszeile erzeugt. Nach dem übertagen des Backups habe ich es wieder ausgepackt mit:
sudo systemctl stop fhem
sudo tar -xvzf /opt/fhem/backup/FHEM-202311tt_hhmmss.tar.gz -C /opt/fhem/
sudo systemctl start fhem

Zudem habe ich auf Empfehlung folgende Dateien von stretch nach bullseye übernommen, wodurch auch spontan die Zigbee-Komponenten wieder mit FHEM kommunizieren konnten:
configuration.yaml
state.json
database.db

Finales Problem:
Aus mir nicht erklärlichen Gründen wurde das eigentlich in der Konfiguration schon vorhandene Bridge-Device einfach neu angelegt. Da das alte Bridge-Device bereits "MQTT2_zigbee_pi" hieß, wurde für das neue Bridge-Device als Name automatisch "MQTT2_zigbee_bridge" vergeben.

Daraufhin habe ich das alte Bridge-Device Namens "MQTT2_zigbee_pi" gelöscht, bevor das neue angelegt wurde. Danach bekam das neue Bridge-Device auch wieder automatisch den Namen "MQTT2_zigbee_pi" und ich habe noch zusätzlich angewendet:
set MQTT2_zigbee_pi attTemplate zigbee2mqtt_bridge
Dann stellte sich noch heraus, dass mit
set MQTT2_zigbee_pi permit_join truenoch ein weiteres Device wieder mit dem Namen "MQTT2_zigbee_bridge" automatisch angelegt wird, das nach meinem Verständnis durch die Rückmeldung auf den Befehl entsteht.

In der readingList erschien folgender Eintrag:
zigbee2mqtt/bridge/response/permit_join:.* { json2nameValue($EVENT) }
Diesen habe ich als
$DEVICETOPIC/bridge/response/permit_join:.* { json2nameValue($EVENT) }in die readingList des eigentlichen Bridge-Device "MQTT2_zigbee_pi" übernommen und abschließend "MQTT2_zigbee_bridge" wieder gelöscht und habe jetzt scheinbar einen stabilen Zustand.

Ich würde mich freuen, wenn mir jemand dieses für mich eigenartige Verhalten erklären könnte oder mir sagt, was ich vielleicht noch zusätzlich elementar falsch gemacht habe.


Meist liegt der Fehler vor der Tastatur

Beta-User

Zitat von: Gast45 am 27 November 2023, 15:06:33Ich würde mich freuen, wenn mir jemand dieses für mich eigenartige Verhalten erklären könnte oder mir sagt, was ich vielleicht noch zusätzlich elementar falsch gemacht habe.
Das "Problem" war zum einen, dass du ziemlich hektisch reagiert hast und immer wieder alles neu angelegt hast => das ist unübersichtlich.

Der andere Teil ist der, dass die zigbee2mqtt-User mich "gezwungen" haben, auf eine bridge-Regex zu verzichten, die nur auf unveränderte "technische" Device-Namen gehört hat ("0x..."), so dass jetzt eben mehr oder weniger alles, was an dem Dienst immer mal wieder neu erfunden wird zu Verwirrung bei den Usern führt.

Sorry for inconvenience.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Gast45

Vielen Dank für die Antwort.

Hektisch wurde ich erst, nachdem sich das Ganze so unerwartet verhalten hat, und ich mit diversen Versuchsreihen versucht habe, irgendwie eine Lösung zu finden. Und das zieht sich dann ordentlich in die Länge.

ZitatDer andere Teil ist der, dass die zigbee2mqtt-User mich "gezwungen" haben, auf eine bridge-Regex zu verzichten...

Das ist also sozusagen die Ursache? Inhaltlich muss ich mir das demnächst mal erarbeiten. So spontan sagt mir das grad nichts. Ich versteh auch nicht, wieso das erst auf dem neuen linux und nicht schon auf dem vorherigen passiert ist, denn die Fhem-Installation war ja 1-zu-1 übernommen?

Aber das neue System läuft jetzt seit ein paar Wochen und scheint keine sonderbaren Effekte mehr zu zeigen.
Meist liegt der Fehler vor der Tastatur