[Gelöst] MQTT-Device auf weiterer Instanz

Begonnen von rabehd, 02 April 2025, 12:22:24

Vorheriges Thema - Nächstes Thema

rabehd

Ich habe 2 FHEM-Instanzen.
Auf einer Instanz habe ich den MQTT2_SERVER und entsprechende MQTT2_DEVICE.

Kann ich auf der 2. Instanz auch die MQTT2_DEVICE haben?
Ich müßte doch die Topics des MQTT2_SERVER aus der ersten Instanz abbonieren?
Ein MQTT2_CLIENT auf der 2. Instanz verbindet sich mit dem MQTT2_SERVER (opened), trotz autocreate werden aber keine Device angelegt.

Suchergebnisse habe ich gelesen, aber nicht wirklich verstanden.
Auch funktionierende Lösungen kann man hinterfragen.

Beta-User

Zitat von: rabehd am 02 April 2025, 12:22:24Ich habe 2 FHEM-Instanzen.
Auf einer Instanz habe ich den MQTT2_SERVER und entsprechende MQTT2_DEVICE.

Kann ich auf der 2. Instanz auch die MQTT2_DEVICE haben?
Ich müßte doch die Topics des MQTT2_SERVER aus der ersten Instanz abbonieren?
Ein MQTT2_CLIENT auf der 2. Instanz verbindet sich mit dem MQTT2_SERVER (opened), trotz autocreate werden aber keine Device angelegt.
Prinzipiell sollte das kein Problem sein, allerdings wird MQTT2_CLIENT erst mal "nur" eine einzige MQTT2_DEVICE-Instanz anlegen, sobald "irgendwas" vom MQTT2_SERVER übermittelt wird - ohne "neue Messages" (oder retain) passiert selbstredend auch nichts weiter.

Soweit die blanke Theorie, ohne "raw-Def" oder vergleichbaren Infos (und auf welcher IP was zu erreichen ist), kann man nicht mehr sagen.
Server: HP-elitedesk@Debian 12, 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

rudolfkoenig

Zitattrotz autocreate werden aber keine Device angelegt.
Zusaetzlich zu der obigen Bemerkungen: es gibt ein autocreate Attribut und eine autocreate Instanz. Beide sollten vorhanden sein.

rabehd

Zitat von: Beta-User am 02 April 2025, 12:44:28sobald "irgendwas" vom MQTT2_SERVER übermittelt wird
Wir weiß ich das er es tut?

Server der 1. Instanz
defmod MQTT2Broker MQTT2_SERVER 1883 global
attr MQTT2Broker autocreate simple
attr MQTT2Broker keepaliveFactor 0
attr MQTT2Broker respectRetain 1

Client der 2. Instanz
defmod MainMQTT MQTT2_CLIENT 172.31.xx.yy:1883
attr MainMQTT autocreate complex
attr MainMQTT rawEvents .*
attr MainMQTT subscriptions Klima/Innenklima_WZ
attr MainMQTT verbose 3

Zitat von: rudolfkoenig am 02 April 2025, 13:00:16autocreate Instanz
Welcher Decvice-Type wäre das?
Auch funktionierende Lösungen kann man hinterfragen.

Beta-User

Zitat von: rabehd am 02 April 2025, 13:01:46Welcher Decvice-Type wäre das?
autocreate.

Zitat von: rabehd am 02 April 2025, 13:01:46Wir weiß ich das er es tut?
Ich würde dazu an beiden MQTT2_.*-IO "show MQTT traffic" anschalten.

Zitat von: rabehd am 02 April 2025, 13:01:46attr MainMQTT subscriptions Klima/Innenklima_WZ
Das ist vermutlich kein "richtiger" Topic, oder wie ist das Sende-Topic auf dem "eigentlichen" Gerät angelegt?
Versuche es erst mal etwas globaler, also z.B.
Klima/#
Zitat von: rabehd am 02 April 2025, 13:01:46attr MQTT2Broker autocreate simple
Das ist der default, kann man sich sparen (schadet aber auch nicht, und hat nichts mit autocreate auf der 2. Instanz zu tun).
Server: HP-elitedesk@Debian 12, 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

rabehd

Zitat von: Beta-User am 02 April 2025, 13:07:24
ZitatWelcher Decvice-Type wäre das?
autocreate.
Habe ich

Zitat von: Beta-User am 02 April 2025, 13:07:24Ich würde dazu an beiden MQTT2_.*-IO "show MQTT traffic" anschalten.
...und schon scheitere ich, müßte ja ein Attribut sein.

Zitat von: Beta-User am 02 April 2025, 13:07:24Das ist vermutlich kein "richtiger" Topic, oder wie ist das Sende-Topic auf dem "eigentlichen" Gerät angelegt?
Ich vermute doch.
Zitatsubscriptions  Klima/Innenklima_WZ/cmnd/# Klima/tasmotas/cmnd/# cmnd/SH_Innenwetter_WZ_fb/#
Ich habe es aber auf Deinen vorschlasg geändert, sehe aber keine Veränderung.

Auch funktionierende Lösungen kann man hinterfragen.

Beta-User

Zitat von: rabehd am 02 April 2025, 14:13:16Habe ich
Das muss auch aktiv sein, aber davon gehe ich jetzt mal aus.

Zitat von: rabehd am 02 April 2025, 14:13:16...und schon scheitere ich, müßte ja ein Attribut sein.
Nein. Das ist ein "Knopf" jeweils oben in der Detailansicht der Devices.

Zitat von: rabehd am 02 April 2025, 14:13:16Ich habe es aber auf Deinen vorschlasg geändert, sehe aber keine Veränderung.
Da Tasmota: die Teleperiode ist um?

Und: der Topic für temp/hum dürfte in etwa
Klima/Innenklima_WZ/SENSORS sein => dein altes Setting sür subscriptions klappt damit dann definiv nicht, das ist "MQTT"-Sprache, kein regex.

Bei meinem Vorschlag wäre auch erst mal dass mit drin, auf das (spiegelbildlich) der Tasmota lauscht (/cmnd/#). Dasmuss ggf. per ignoreRegexp eliminiert werden, wenn der Topic am Ende "globaler" bleibt.
Server: HP-elitedesk@Debian 12, 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

rabehd

Zitat von: Beta-User am 02 April 2025, 14:22:03Das ist ein "Knopf" jeweils oben in der Detailansicht der Devices.
:o Den Link habe ich jetzt gefunden. Somit sehe ich auch Traffic.
Zitat14:59:20.704
   
RCVD
   
Klima/Innenklima_WZ/LWT
   
Online
15:02:52.810
   
RCVD
   
Klima/Innenklima_WZ/STATE
   
{"Time":"2025-04-02T14:02:53","Uptime":"7T05:25:41","UptimeSec":624341,"Heap":158,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":20,"MqttCount":52,"Berry":{"HeapUsed":3,"Objects":39},"Wifi":{"AP":1,"SSId":"Radium88","BSSId":"50:E6:36:38:78:7D","Channel":7,"Mode":"11n","RSSI":70,"Signal":-65,"LinkCount":46,"Downtime":"0T00:01:52"}}
15:02:52.810
   
RCVD
   
Klima/Innenklima_WZ/SENSOR
   
{"Time":"2025-04-02T14:02:53","DS18B20":{"Id":"3CE104573C71","Temperature":27.0},"BME280":{"Temperature":22.7,"Humidity":33.8,"DewPoint":5.9,"Pressure":1004.6},"ESP32":{"Temperature":42.6},"PressureUnit":"hPa","TempUnit":"C"}

Das Ganze bei attr MainMQTT subscriptions Klima/Innenklima_WZ/#
Jetzt müßte ich herausbekommen, wie ich das Klimadevice anlege, bzw. warum es nicht angelegt wird.




Auch funktionierende Lösungen kann man hinterfragen.

Beta-User

Zitat von: rabehd am 02 April 2025, 15:11:00Jetzt müßte ich herausbekommen, wie ich das Klimadevice anlege, bzw. warum es nicht angelegt wird.
Gedanken dazu:
- vielleicht ist es schon da? => "list TYPE=MQTT2_DEVICE"
Würde darauf tippen, dass der Topic irgendwo in einem "Großdevice" "vergraben" ist.

- Du solltest auch einfach das entsprechende M2D aus deiner Hauptinstallation kopieren können. Einschränkungen:
-- das IODev muss ggf. geändert werden (Reading/Attribut)
-- Alle CID-Angaben müssen aus der readingList (falls sie drin sind), siehe Wiki "Schritt für Schritt".
Server: HP-elitedesk@Debian 12, 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

rabehd

Zitat von: Beta-User am 02 April 2025, 15:19:17- vielleicht ist es schon da? => "list TYPE=MQTT2_DEVICE"


Zitat von: Beta-User am 02 April 2025, 15:19:17- Du solltest auch einfach das entsprechende M2D aus deiner Hauptinstallation kopieren können.
Wäre eine Option, die auch so nicht funktionierte.
Die Ursache war, dass ich keine "clientId" mitgegeben habe. So wird jetzt ein ein Device automatisch angelegt.
defmod MainMQTT MQTT2_CLIENT 172.31.31.60:1883
attr MainMQTT autocreate complex
attr MainMQTT clientId InnenklimaWZ
attr MainMQTT rawEvents .*
attr MainMQTT subscriptions Klima/Innenklima_WZ/#
attr MainMQTT verbose 3

@Beta-User: Danke für Deine Hilfe und Anstöße

Offen ist für mich noch die Frage, was ist, wenn ich weitere Topics/Devices von der Hauptinstanz haben will. Aber die Frage steht heute noch nicht.

Auch funktionierende Lösungen kann man hinterfragen.

rabehd

Zitat von: rabehd am 02 April 2025, 17:04:49Offen ist für mich noch die Frage, was ist, wenn ich weitere Topics/Devices von der Hauptinstanz haben will. Aber die Frage steht heute noch nicht.
Für Andere und für später.
"attr MQTT2_decive bridgeRegexp" sollte der Lösungsschlüssel sein. https://forum.fhem.de/index.php/topic,116162.0.html
Und wer hat das alles zusammengefasst? Beta-User! Danke
Auch funktionierende Lösungen kann man hinterfragen.