Vebindung zu Zigbee2Mqtt, aber keine devices per autocreate [gelöst]

Begonnen von Moonlightkid, 23 April 2024, 11:10:59

Vorheriges Thema - Nächstes Thema

Moonlightkid

Hallo zusammen,

bestimmt ist es wieder nur eine Kleinigkeit - aber ich stehe vor dem Wald und finde meinen Baum nicht.

Ich habe Fhem, eclipse-Mqtt und Zigbee2Mqtt nach Wochen erfolgreich in Docker zum Laufen gebracht.
Wenn ich in Fhem set permit join starte schaltet das auch bei Zigbee2Mqtt auf Anlernen aktiviert. So dass ich es bei Zigbee2Mqtt wieder deaktivieren kann.

Mqtt und Zigbee2Mqtt sind beide online, aber ich bekomme meine ersten drei Sensoren (Sonoff SNZB06 Präsenzsensor), welche in Zigbee2Mqtt verfügbar und online sind, nicht in Fhem rein. Ich war der Meinung, dass die Geräte in diesem Fall beim ersten Austausch gleich mal per autocreate eingefügt werden.

Leider findet sich nicht einer der drei Sensoren. Nicht bei unsorted oder sonst wo.
Das Tolle ist ja, das in MQTT 3 Devices angegeben werden  :))

Ich vermute, dass ich das mit der bridgeRegexp nicht richtig verstanden habe. Es kann aber auch was anderes sein und ich würde mich echt über etwas Hilfe freuen. So kurz vorm Ziel... ich hab ja noch mehr Sensoren  :o

Mal eben die Dtails von MQTT und Zigbee2Mqtt:

MQTT:
define MQTT2Client MQTT2_CLIENT localhost:1883
attr MQTT2Client room Zentrale->System
attr MQTT2Client username ralph
#  BUF       
#  Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
#  ClientsKeepOrder 1
#  DEF        localhost:1883
#  DeviceName localhost:1883
#  FD        15
#  FUUID      660ee144-f33f-a9f4-f38d-6f9a0d1aa9d0b62d
#  FVERSION  00_MQTT2_CLIENT.pm:0.281490/2023-11-11
#  NAME      MQTT2Client
#  NR        111
#  PARTIAL   
#  STATE      opened
#  TYPE      MQTT2_CLIENT
#  WBCallback
#  clientId  MQTT2Client
#  eventCount 4
#  lastMsgTime 1713862547.80073
#  nextOpenDelay 10
#  nrConnects 3
#  MatchList:
#    1:MQTT2_DEVICE ^.
#    2:MQTT_GENERIC_BRIDGE ^.
#  READINGS:
#    2024-04-23 10:40:47  state          opened
#
setstate MQTT2Client opened
setstate MQTT2Client 2024-04-23 10:40:47 state opened

Zigbee2Mqtt:
define MQTT2_z2m MQTT2_DEVICE z2m
attr MQTT2_z2m IODev localhost:1883
attr MQTT2_z2m bridgeRegexp zigbee2mqtt/([A-Za-z0-9._]+)[/]?.*:.* "zigbee_$1"
attr MQTT2_z2m 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_z2m devicetopic zigbee2mqtt
attr MQTT2_z2m getList networkmap_raw:noArg raw $DEVICETOPIC/bridge/request/networkmap raw\
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/request/networkmap graphviz
attr MQTT2_z2m icon mqtt
attr MQTT2_z2m model zigbee2mqtt_bridge
attr MQTT2_z2m room Zentrale->System
attr MQTT2_z2m 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
attr MQTT2_z2m setStateList on off
#  CID        z2m
#  DEF        z2m
#  FUUID      6626c305-f33f-a9f4-614e-e9dca92d41478f76
#  FVERSION  10_MQTT2_DEVICE.pm:0.279350/2023-09-05
#  IODev      MQTT2Client
#  NAME      MQTT2_z2m
#  NR        113
#  STATE      {"state":"online"}
#  TYPE      MQTT2_DEVICE
#  eventCount 2
#  READINGS:
#    2024-04-22 23:42:04  IODev          MQTT2Client
#    2024-04-23 10:52:35  permit_join    set permit_join true
#
setstate MQTT2_z2m {"state":"online"}
setstate MQTT2_z2m 2024-04-22 23:42:04 IODev MQTT2Client
setstate MQTT2_z2m 2024-04-23 10:52:35 permit_join set permit_join true


Ganz lieben Dank fürs Gucken!!!!!!!


Grüßle, Ralph
Synology 220+, Hue, MAX!, Sonoff und weiteres

Beta-User

#1
Bei MQTT2_CLIENT ist autocreate default aus.

(Und es ist m.E. nicht gut geeignet für Einsteiger).

Und das händisch angelegte device ist "seltsam" - mind. Beim io.
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

Moonlightkid

#2
Uiiii, das ging schnell!  :o  :o  :o

Bei MQTT2_CLIENT ist autocreate default aus.Ich habe das echt nicht gesehen, dass autocreate da ausgeschaltet war! DANKE!

(Und es ist m.E. nicht gut geeignet für Einsteiger).Ich hab mein Smarthome jetzt wirklich lange genug. Fhem, ioBroker, HA, Fhem. Ich lese mich in so vieles ein als Nicht-ITler und fühle mich dennoch wie ein Dauerazubi  ::)  - aber ich hab das jetzt wirklich nicht gesehen. Das war der fehlende Baum eben!

Und das händisch angelegte device ist "seltsam" - mind. Beim io.Was genau meinst du?
Synology 220+, Hue, MAX!, Sonoff und weiteres

frober

#3
Hier
attr MQTT2_z2m IODev localhost:1883 gehört der Server/Client, in deinem Fall der MQTT2Client hin.
attr MQTT2_z2m IODev MQTT2Client
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Moonlightkid

#4
Ach so, okay, danke - hab ich geändert!

Ein Sensor ist mittlerweile als MQTT2_Device sichtbar, dazu noch zigbee bridge und coordinator.

Den Sensor habe ich mit dem Template human-Body-presence-detector versehen. Wie ich meine ist der Wert occupancy true oder false was ich dann zum Schalten benötige.

Fehlen noch die beiden anderen Sensoren. Mal mit dem Laptop herumlaufen und sie wachküssen.


Vielen lieben Dank nochmal für die schnelle Hilfe!
Synology 220+, Hue, MAX!, Sonoff und weiteres

frober

Auf dem ersten angelegten Device musst du das Template zigbee2mqtt_bridge anwenden.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Moonlightkid

Zitat von: frober am 23 April 2024, 21:31:39Auf dem ersten angelegten Device musst du das Template zigbee2mqtt_bridge anwenden.

Du meinst den Sensor?
Synology 220+, Hue, MAX!, Sonoff und weiteres

frober

Ja, wie auch immer, auf das erste angelegte MQTT2_Device.

Ich habe aber gerade gesehen, dass du es auf dem manuell angelegten angewendet hast.

Wenn das nicht funktioniert, alles bis auf den Client löschen. Autocreate aktivieren und dann auf das erste automatisch angelegte Device das Bridge Template anwenden. Dann sollte es funktionieren.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Beta-User

Zitat von: Moonlightkid am 23 April 2024, 11:29:10Ich hab mein Smarthome jetzt wirklich lange genug. Fhem, ioBroker, HA, Fhem. Ich lese mich in so vieles ein als Nicht-ITler und fühle mich dennoch wie ein Dauerazubi  ::)  - aber ich hab das jetzt wirklich nicht gesehen. Das war der fehlende Baum eben!
Nochmal eine Anmerkung zu MQTT2_CLIENT: Das hat v.a. bei aktiviertem autocreate den "Nachteil", dass man ggf. auch Anweisungen so einsortiert werden, dass man _glaubt_ die Anweisungen wären "beim Gerät angekommen". Deswegen muss man sich m.E. dann auch mit ignoreRegex auseinandersetzen, falls (!) man nicht hergehen kann oder will, die subscriptions so zu setzen, dass man wirklich nur mitbekommt, was man haben will.

Anders gesagt: (bei M2C) einfach nur "autocreate" zu aktivieren bringt uU. ziemliche Verwirrung rein - M2C ist eben sehr viel komplexer zu handhaben wie der interne MQTT2_SERVER...
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

Moonlightkid

Zitat von: frober am 24 April 2024, 06:54:03Ja, wie auch immer, auf das erste angelegte MQTT2_Device.

Ich habe aber gerade gesehen, dass du es auf dem manuell angelegten angewendet hast.

Wenn das nicht funktioniert, alles bis auf den Client löschen. Autocreate aktivieren und dann auf das erste automatisch angelegte Device das Bridge Template anwenden. Dann sollte es funktionieren.


Danke. Auch nachdem ich mich nochmal in MQTT eingelesen habe ist mir dazu keine Beschreibung aufgefallen. Das ist wohl etwas, wo man sich ausführlich mit auseinandegesetzt haben muss. Erfahrung eben, die mir fehlt. Dafür danke!
Synology 220+, Hue, MAX!, Sonoff und weiteres

Moonlightkid

Zitat von: Beta-User am 24 April 2024, 11:01:55Nochmal eine Anmerkung zu MQTT2_CLIENT: Das hat v.a. bei aktiviertem autocreate den "Nachteil", dass man ggf. auch Anweisungen so einsortiert werden, dass man _glaubt_ die Anweisungen wären "beim Gerät angekommen". Deswegen muss man sich m.E. dann auch mit ignoreRegex auseinandersetzen, falls (!) man nicht hergehen kann oder will, die subscriptions so zu setzen, dass man wirklich nur mitbekommt, was man haben will.

Anders gesagt: (bei M2C) einfach nur "autocreate" zu aktivieren bringt uU. ziemliche Verwirrung rein - M2C ist eben sehr viel komplexer zu handhaben wie der interne MQTT2_SERVER...

Ich verstehe (glaube ich).

Im Moment habe ich drei Devices die den Wert Occupancy true und false liefern. Mehr benötige ich von diesen Geräten nicht. Entweder ist jemand da, oder nicht.

Aber ich habe ja noch mehr Sensoren. Und ich will jetzt möglichst viel mit Fhem lösen, weil's eben doch flüssiger läuft als alles andere.
Lediglich beim Programmieren kann es sein, dass ich ne Krücke brauch. Blockly bekomme ich gut hin. Und mein PERL-für-Anfänger-Buch liest sich leider nicht von alleine  :P

Danke auch dir, ich schau mir das ignoreRegex an.
Synology 220+, Hue, MAX!, Sonoff und weiteres

frober

Zitat von: Moonlightkid am 24 April 2024, 13:13:43
Zitat von: frober am 24 April 2024, 06:54:03Ja, wie auch immer, auf das erste angelegte MQTT2_Device.

Ich habe aber gerade gesehen, dass du es auf dem manuell angelegten angewendet hast.

Wenn das nicht funktioniert, alles bis auf den Client löschen. Autocreate aktivieren und dann auf das erste automatisch angelegte Device das Bridge Template anwenden. Dann sollte es funktionieren.


Danke. Auch nachdem ich mich nochmal in MQTT eingelesen habe ist mir dazu keine Beschreibung aufgefallen. Das ist wohl etwas, wo man sich ausführlich mit auseinandegesetzt haben muss. Erfahrung eben, die mir fehlt. Dafür danke!

Das kann man nicht verallgemeinern. Das Bridge Template gibt es nur für bestimmte "Situationen". Wie z.B. hier zigbee2mqtt.
Es kommt darauf an wie die Daten geliefert werden, daher ist es immer besser Anwendung spezifisch zu lesen.
Das gleiche gilt für autocreate, normal ist simple empfohlen, manchmal wird jedoch komplex "gefordert".
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...