Warum scheitert MQTT2 bei autocreate complex ?

Begonnen von krikan, 30 Juli 2026, 20:28:38

Vorheriges Thema - Nächstes Thema

krikan

Am MQTT2_SERVER - Device
defmod fhemMqtt MQTT2_SERVER 1883 global
attr fhemMqtt autocreate complex
attr fhemMqtt ignoreRegexp homeassistant/[^:"]+/config|tasmota/discovery/[^/:]+/(config|sensors)

setstate fhemMqtt 2026-07-30 20:17:36 nrclients 1
setstate fhemMqtt 2026-07-30 19:45:55 state Initialized

wird mir folgender MQTT-Traffic angezeigt:
    
20:17:36.156

mosq_7

sbfspot

{"Timestamp": "30/07/2026 20:17:36","SunRise": "30/07/2026 05:57:00","SunSet": "30/07/2026 21:24:00","InvSerial": 2100115963,"InvName": "SN: 2100115963","InvTime": "30/07/2026 20:17:28","InvStatus": "Ok","InvTemperature": 44.670,"InvGridRelay": "Geschlossen","EToday": 15.714,"ETotal": 77272.417,"PACTot": 89.000,"UDC1": 266.000,"UDC2": 256.060,"IDC1": 0.179,"IDC2": 0.190,"PDC1": 47.000,"PDC2": 48.000}

Trotz "autocreate complex" wird das MQTT2_DEVICE nicht automatisch generiert. Ich musste das MQTT2-DEVICE manuell anlegen mit:
defmod Dachkraftwerk MQTT2_DEVICE sbfspot
attr Dachkraftwerk readingList .* { json2nameValue($EVENT, '', $JSONMAP,'','Timestamp') }

Ich finde das irritierend und frage mich, warum das so ist. An ignoreRegexp kann es doch nicht liegen. Ist der MQTT-Traffic bspw. so ungewöhnlich bzw. nicht standardkonform oder was übersehe ich?

rudolfkoenig

mosq_7 klingt nach leeren ClientID.
Solche Nachrichten lösen kein autocreate aus, da FHEM unterschiedliche Nachrichten nicht dem gleichen Clientzuordnen kann.

krikan

Zitat von: rudolfkoenig am 30 Juli 2026, 20:57:30mosq_7 klingt nach leeren ClientID.
Ja, das ist ein Teil des Problems. Eine leere ClientId sehe ich aber nur im Log bei verbose 5. Einen Hinweis habe ich in der Weboberfläche nicht gefunden; gibt es den?

Aber auch wenn ich die ClientId für mosquitto_pub manuell auf mosq_7 oder mosq-7 setze, springt autocreate bei meinen Versuchen nicht an und FHEM "tut so" als wäre die ClientId leer. (siehe auch https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/10_MQTT2_DEVICE.pm?rev=30252#L216)

Ein mosq_NNNN ist damit nur ein Hinweis auf eine fehlende ClientId ("..klingt nach..")

Irgendwie empfinde ich das -mangels gefundenem Hinweis- als verwirrend. Aber sicherlich hat das seinen Grund.  :)

Danke für die Unterstützung.

Beta-User

Zitat von: krikan am 31 Juli 2026, 17:09:26Irgendwie empfinde ich das -mangels gefundenem Hinweis- als verwirrend. Aber sicherlich hat das seinen Grund.  :)
Habe jetzt https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#autocreate_funktioniert_anscheinend_nicht? nachgebessert...

Hintergrund: Zum Testen hat Rudi gerne mal mosquitto_pub verwendet und wollte nicht jedes Mal ein neues Device haben (was nachvollziehbar ist, aber insbesondere für Einsteiger einigermaßen verwirrend ist).
Server: HP-elitedesk@Debian 13, 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