MQTT2 und wieder wird kein device mit autocreate angelegt (gelöst)

Begonnen von fhem-challenge, 01 Juni 2020, 23:04:55

Vorheriges Thema - Nächstes Thema

fhem-challenge

Hallo!,

ich nutze nun schon gute 2 Jahre zugeben mit matt und habe etwa 50 Devices. Ich hatte nun einmal alle Devices entfernt (sind auch im zigbee2mqtt in der database entfernt). Und wollte nun alle neu Aufbauen und alle Devices pairen.

Das klappt eben nur bedingt. Es funktioniert tadellos in zigbee2mqtt, nur MQTT2 erzeugt kein! Device (autocreate ist aktiviert). Ich habe ein Device angelernt, es wird auch via autocreate ein Device in FHEM angelegt. Bei dem zweiten .. und folgenden Devices tauchen diese NUR! noch in zugbee2mqtt auffand sind korrekt eingebunden, nur via MQTT2 erfolgt dann kein automatischen Anlegen eines Devices mehr... vollkommen verwirrend.

Die Doku hilft leider nicht wirklich weiter (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele).

Abgesehen davon, hatte ich ja ca. 50 Devices bis vor Kurzem in Betrieb.

Beispiel: Eine Ikea LED ...:

- zigbee2mqtt sagt: info  2020-06-01 22:50:53: Successfully interviewed '0xccccccfffe30be07', device has successfully been paired
- und das Device taucht auf in der config von zigbee2mqtt korrekt auf
- in FHEM ... kein autocreate device
- wenn ich mühselig mir manuell ein Device in FHEM zusammen bastel, dann kann ich die LED auch steuern, aber das ist ja nicht Sinn der Sache




Was könnte nun das Problem sein ??? (frustrierend)

Meine zigbee2mqtt Config:

homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://localhost:1883'
  client_id: zigbee2mqtt
  reject_unauthorized: false
  include_device_information: true
serial:
  port: /dev/ttyTCP0
advanced:
  baudrate: 115200
  rtscts: false
  cache_state: true
  log_level: info
  log_directory: data/log/
  report: true
  pan_id: 6755
  soft_reset_timeout: 0
  last_seen: disable
  availability_timeout: 0
  map_options: null
  graphviz:
    colors:
      fill:
        enddevice: '#fff8ce'
        coordinator: '#e04e5d'
        router: '#4ea3e0'
      font:
        coordinator: '#ffffff'
        router: '#ffffff'
        enddevice: '#000000'
      line:
        active: '#009900'
        inactive: '#994444'
queue:
  delay: 250
  simultaneously: 5
devices:
  '0x00124b0014aa835b':
    friendly_name: zigbee_coordinator
    retain: false
  '0x00158d0002f36105':
    friendly_name: LI_PoolDuschePaulmann
  '0xccccccfffe30be07':
    friendly_name: '0xccccccfffe30be07'



Meine MQTT2 COnfig in FHEM:

# MQTT2 Server
define MQTT2_FHEM_Server MQTT2_SERVER 1883 global
setuuid MQTT2_FHEM_Server 5d5c4fe6-f33f-03cb-100c-f2697c605fac4856
attr MQTT2_FHEM_Server autocreate complex
attr MQTT2_FHEM_Server group ZigBee
attr MQTT2_FHEM_Server icon mqtt
attr MQTT2_FHEM_Server room MQTT2_DEVICE
attr MQTT2_FHEM_Server verbose 2

# MQTT Bridge
define MQTT2_zigbee MQTT2_DEVICE zigbee2mqtt
setuuid MQTT2_zigbee 5ed5615b-f33f-03cb-c32e-f682d5d887a7278a
attr MQTT2_zigbee IODev MQTT2_FHEM_Server
attr MQTT2_zigbee bridgeRegexp zigbee2mqtt/([A-Za-z0-9._]*)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee comment To check for new updates of the deamon software, you might want to use a separate HTTPMOD device. See HTTPMOD template zigbee2mqtt_daemon_updates for further details.
attr MQTT2_zigbee devicetopic zigbee2mqtt
attr MQTT2_zigbee getList devicelist:noArg log $DEVICETOPIC/bridge/config/devices\
  networkmap_raw:noArg raw $DEVICETOPIC/bridge/networkmap raw\
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/networkmap graphviz
attr MQTT2_zigbee model zigbee2mqtt_bridge
attr MQTT2_zigbee readingList $DEVICETOPIC/bridge/state:.* state\
  $DEVICETOPIC/bridge/config/devices:.* {}\
  $DEVICETOPIC/bridge/config/log_level:.* log_level\
  $DEVICETOPIC/bridge/config/permit_join:.* permit_join\
  $DEVICETOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
  $DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices\
  $DEVICETOPIC/bridge/log:.* log\
  $DEVICETOPIC/bridge/networkmap:.* {}\
  $DEVICETOPIC/bridge/networkmap/graphviz:.* graphviz\
  $DEVICETOPIC/bridge/networkmap/raw:.* raw\
  $DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee room MQTT2_DEVICE
attr MQTT2_zigbee setList log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1\
  permit_join:true,false $DEVICETOPIC/bridge/config/permit_join $EVTPART1\
  remove:textField $DEVICETOPIC/bridge/config/remove $EVTPART1\
  ota_update:textField $DEVICETOPIC/bridge/ota_update/update $EVTPART1\
  ota_update_check:textField $DEVICETOPIC/bridge/ota_update/check $EVTPART1\
  y_device_setting:textField $DEVICETOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}\
  x_bind:textField $DEVICETOPIC/bridge/bind/$EVTPART1 $EVTPART2\
  x_bind_unbind:textField $DEVICETOPIC/bridge/unbind/$EVTPART1 $EVTPART2\
  x_device_options:textField $DEVICETOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}\
  x_group_add_to:textField $DEVICETOPIC/bridge/group/$EVTPART1/add $EVTPART2\
  x_group_rm_from:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove $EVTPART2\
  x_group_rm_from_all:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2\
  x_group_add_group:textField $DEVICETOPIC/bridge/config/add_group $EVTPART1\
  x_group_rm_group:textField $DEVICETOPIC/bridge/config/remove_group $EVTPART1\
  z_elapsed:textField $DEVICETOPIC/bridge/config/elapsed $EVTPART1\
  z_last_seen:disable,ISO_8601,epoch,ISO_8601_local $DEVICETOPIC/bridge/config/last_seen $EVTPART1\
  z_ban:textField $DEVICETOPIC/bridge/config/ban $EVTPART1\
  z_rename:textField $DEVICETOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
  z_reset_CC:noArg $DEVICETOPIC/bridge/config/reset
attr MQTT2_zigbee setStateList on off
attr MQTT2_zigbee webCmd permit_join true:permit_join false

<<<


Das Logfile zigbee2mqtt:

>>> zigbee2mqtt Log
info  2020-06-01 22:49:39: Zigbee: allowing new devices to join.
info  2020-06-01 22:49:39: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"version":"1.13.1","commit":"2cb234c","coordinator":{"type":"zStack30x","meta":{"transportrev":2,"product":2,"majorrel":2,"minorrel":7,"maintrel":2,"revision":20200211}},"log_level":"info","permit_join":true}'
warn  2020-06-01 22:50:27: Device '0xccccccfffe30be07' left the network
info  2020-06-01 22:50:27: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_removed","message":"left_network","meta":{"friendly_name":"0xccccccfffe30be07"}}'
info  2020-06-01 22:50:39: Device '0xccccccfffe30be07' joined
info  2020-06-01 22:50:39: Starting interview of '0xccccccfffe30be07'
info  2020-06-01 22:50:39: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":{"friendly_name":"0xccccccfffe30be07"}}'
info  2020-06-01 22:50:39: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"interview_started","meta":{"friendly_name":"0xccccccfffe30be07"}}'
info  2020-06-01 22:50:42: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_announced","message":"announce","meta":{"friendly_name":"0xccccccfffe30be07"}}'
info  2020-06-01 22:50:52: Successfully setup reporting for '0xccccccfffe30be07' - 1 - genOnOff
info  2020-06-01 22:50:52: Successfully setup reporting for '0xccccccfffe30be07' - 1 - genLevelCtrl
info  2020-06-01 22:50:53: Successfully setup reporting for '0xccccccfffe30be07' - 1 - lightingColorCtrl
info  2020-06-01 22:50:53: Successfully interviewed '0xccccccfffe30be07', device has successfully been paired
info  2020-06-01 22:50:53: Device '0xccccccfffe30be07' is supported, identified as: IKEA TRADFRI LED bulb GU10 400 lumen, dimmable, white spectrum (LED1537R6)
info  2020-06-01 22:50:53: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"interview_successful","meta":{"friendly_name":"0xccccccfffe30be07","model":"LED1537R6","vendor":"IKEA","description":"TRADFRI LED bulb GU10 400 lumen, dimmable, white spectrum","supported":true}}'
<<<



Beta-User

#1
Doku sollte sagen: sende ein Kommando an das Gerät, sonst gibt es keine Infos auf dem Topic-Branch des Geräts... Und ohne Info/message kein autocreate (besser: simple einstellen).

EDIT: siehe Einleitung von https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Vereinzeln_der_eigentlichen_Ger.C3.A4te
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

fhem-challenge

Danke. Problem war (sorry) meine Ungeduld. Wenn ich hinreichend warte (hinreichend = 100s und mehr) wird das device in aller Regel auch angelegt. Soweit alles okay.

Nun hab ich nur noch das kleine Problem den frindly name aus fhem zu ändern. Ich mach's immer manuelle über die config in zigbee2mqtt. Aber gibst einen schlichten weg via fhem um den frindly name zu ändern ( klar rename ... aber da bleibt die ieeee address ja bestehen)

Viele Grüße

Andreas


Beta-User

Mal abgesehen von der Frage, ob das Sinn macht (imo nur dann, wenn man noch was anderes als FHEM im Einsatz hat, das mit der Hardware spricht), geht es ja über die rename-Funktion an dem Bridge-Device. Dann einfach noch die RAW-Definition des betreffenden Devices öffnen und via search+replace die beiden Begrifflichkeiten gegeneinander austauschen, anwenden & gut ist...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors