FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: andreas.maurer am 11 Mai 2020, 19:45:23

Titel: mqtt2 legt per autocreate für jedes publish per moquitto_pub ein device an.
Beitrag von: andreas.maurer am 11 Mai 2020, 19:45:23
Nabend zusammen.

ich versuche grade von einem mosquitto server auf MQTT2 um zu ziehen. Dabei stoße ich auf das Problem, dass mit das Autocreate für jedes Publish ein neues device anlegt.

mal ein Beispiel:

defmod MQTT2_mosq_OEzNgwGke60SrsWOPI MQTT2_DEVICE mosq_OEzNgwGke60SrsWOPI
attr MQTT2_mosq_OEzNgwGke60SrsWOPI IODev mqtt2_server
attr MQTT2_mosq_OEzNgwGke60SrsWOPI readingList mosq_OEzNgwGke60SrsWOPI:fhem/aga:.* aga
attr MQTT2_mosq_OEzNgwGke60SrsWOPI room MQTT2_DEVICE


gesendet habe ich : mosquitto_pub -h <server> -p <port> -t fhem/aga -m test

was mache ich falsch, was muss ich ändern?

Andreas
Titel: Antw:mqtt2 legt per autocreate für jedes publish per moquitto_pub ein device an.
Beitrag von: Otto123 am 11 Mai 2020, 19:47:38
Hallo Andreas,

ich glaube die Antwort liegt hier: https://forum.fhem.de/index.php?topic=107958.0

Gruß Otto
Titel: Antw:mqtt2 legt per autocreate für jedes publish per moquitto_pub ein device an.
Beitrag von: rudolfkoenig am 11 Mai 2020, 20:24:11
Eigentlich ignoriert MQTT2_DEVICE aus diesem Grund alles, was mit clientId mosqpub.* sich anmeldet, aber offensichtlich haben die mosquitto Maintainer sich gezwungen gefuehlt, das zu aendern.

@andreas.maurer:
Um autocreate zu vermeiden, bitte bei mosquitto_pub zusaetzlich -i mosqpub angeben.
Welche Version von mosquitto_pub verwendest du? Und welche Distribution?
Titel: Antw:mqtt2 legt per autocreate für jedes publish per moquitto_pub ein device an.
Beitrag von: andreas.maurer am 11 Mai 2020, 20:36:13
danke für eure Antworten.

Ich nutze die aktuelle mosquitto build. Die sendet das wohl was anders. Schon echt dämlich immer hinter anderen her programmieren zu müssen.

Hier: https://forum.fhem.de/index.php/topic,109932.msg1039187.html#msg1039187 hatte ich das schon gelesen. Wenn ich aber mit -i mosqpub aufrufe, kommt gar nichts an.
ich habe jetzt ein andere clientID genutzt und nun kommen Daten an.

Für mich ist das jetzt gelöst, wenn ihr das noch intern abfangen wollt ..

Andreas
Titel: Antw:mqtt2 legt per autocreate für jedes publish per moquitto_pub ein device an.
Beitrag von: rudolfkoenig am 11 Mai 2020, 21:23:05
ZitatWenn ich aber mit -i mosqpub aufrufe, kommt gar nichts an.
Mit dieser Option legt MQTT2_DEVICE nichts automatisch an, und ich habe angenommen, das wolltest du.
Um nicht _staendig_ was Neues anzulegen, muss man etwas Anderes fuer -i nehmen.

Ab sofort wird ^(mosqpub|mosq_) ignoriert, wenn es um autocreate geht.
Titel: Antw:mqtt2 legt per autocreate für jedes publish per moquitto_pub ein device an.
Beitrag von: andreas.maurer am 11 Mai 2020, 21:28:04
Zitat von: rudolfkoenig am 11 Mai 2020, 21:23:05
Mit dieser Option legt MQTT2_DEVICE nichts automatisch an, und ich habe angenommen, das wolltest du.
Um nicht _staendig_ was Neues anzulegen, muss man etwas Anderes fuer -i nehmen.

Ab sofort wird ^(mosqpub|mosq_) ignoriert, wenn es um autocreate geht.
Ich hatte das so interpretiert, dass dann die ClientId einfach weg gelassen wird und erst ab dem : genutzt wird. Das wäre mein Ansatz gewesen um ein autocreate mit nicht ,,staendig" :) wechselnden Devices zu realisieren.

Andreas
Titel: Antw:mqtt2 legt per autocreate für jedes publish per moquitto_pub ein device an.
Beitrag von: rudolfkoenig am 11 Mai 2020, 21:38:18
Sorry, verstehe ich nicht, vmtl. zu spaet.

MQTT2_CLIENT kriegt _immer_ ein clientId, und das ist das "Echte", wenn es ueber MQTT2_SERVER angebunden ist, und ein "fake", wenn MQTT2_CLIENT verwendet wird.
Titel: Antw:mqtt2 legt per autocreate für jedes publish per moquitto_pub ein device an.
Beitrag von: Beta-User am 12 Mai 2020, 10:30:33
Hmm, es scheint so zu sein, dass mittels mosquitto_pub tatsächlich was an FHEM gesendet werden soll.

Der TE scheint nun die CID in der readingList weggelassen zu  haben, damit das klappt.

Im Wiki steht dazu auch schon länger was: https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#St.C3.A4ndig_neue_Devices.3F, ggf. sollten wir (@Otto123?) dann noch ergänzen, wie man z.B. von einem entfernten Rechner via mosquitto_pub (aus einem cron-Script?) Daten schicken kann?

@andreas.maurer: Vielleicht können wir deinen Anwendungsfall als Basis nehmen, dann müßtest du aber etwas näher erläutern, was du eigentlich konkret machen willst...?