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}}'
<<<
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 (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Vereinzeln_der_eigentlichen_Ger.C3.A4te)
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
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...