FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: rodnic am 23 Januar 2020, 13:07:19

Titel: mehrere Devices MQTT2
Beitrag von: rodnic am 23 Januar 2020, 13:07:19
Hallo Zusammen,

ich habe bisher nur ein MQTT2 gerät an meinem FHEM über den MQTT2_Client angeschlossen.
nun habe ich das zweite Gerät im WLAN integriert und empfange auch Daten von dem Gerät im FHEM.
Nun möchte ich dieses gerät aber als Extra gerät im FHEM angezeihgt bekommen.
Dies geht doch vermutlich über das Atribut Subscription im MQTT2-Client zu separierern.
Aber wie ist da genau der Syntax?

Oder gib es ne andere Möglichkeit die Geräte mit der Autocreate Funktion zu separieren?

Titel: Antw:mehrere Devices MQTT2
Beitrag von: rudolfkoenig am 23 Januar 2020, 13:26:46
Bei MQTT2_CLIENT kann man:
- alle Geraete (d.h. MQTT_DEVICE) manuell definieren, mit allen Subscriptions (aka readingList), wie bei dem alten MQTT Modul.
- ein MQTT2_DEVICE mit bridgeRegexp versehen, was aus jedem MQTT topic:message ein clientId generieren kann, und damit das Zuordnen zum richtigen MQTT2_DEVICE ermoeglicht. Alles was bridgeRegexp nicht verteilen kann, landet beim ersten MQTT2_DEVICE.

MQTT2_SERVER kennt die richtige clientId, braucht also kein Hilfskonstrukt mit bridgeRegexp.
Ausnahme sind hier nur "echte" bridge-Geraete wie zigbee2mqtt, die muss man immer mit bridgeRegexp verteilen.
Titel: Antw:mehrere Devices MQTT2
Beitrag von: rodnic am 23 Januar 2020, 14:33:22
können mehrere Subscripions eingetragen werden, so das mehrere devices entstehen?
Titel: Antw:mehrere Devices MQTT2
Beitrag von: Beta-User am 23 Januar 2020, 14:37:00
Hmm, subscriptions und bridgeRegexp sind mMn. zwei Paar Stiefel.

Schau man in https://wiki.fhem.de/wiki/MQTT2_CLIENT, da steht nicht so viel Text, aber u.A. auch das:
Zitat
Möchte man autocreate verwenden, um automatisiert MQTT2_DEVICE-Geräte anlegen zu lassen, empfiehlt es sich, auf das erste automatisch angelegte Gerät das template (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#attrTemplate_2) MQTT2_CLIENT_general_bridge anzuwenden. Dadurch werden bestimmte eingehenden MQTT-Messages für eine Anzahl häufig anzutreffender Gerätetypen in separate, automatisch angelegte MQTT2_DEVICE-Geräte umgeleitet[2] (https://wiki.fhem.de/wiki/MQTT2_CLIENT#cite_note-2).
Hast du eigene Topic-Strukturen angelegt, kannst du die bridgeRegexp entsprechend ändern/anpassen/erweitern.