[gelöst] MQTT alle Topics publishen

Begonnen von grichter24, 24 April 2022, 17:08:59

Vorheriges Thema - Nächstes Thema

grichter24

Hallo zusammen,

ich komme leider nicht weiter. Daher natürlich das neue Thema. Gegoogled habe ich schon, finde aber nichts. Vielleicht geht es auch einfach nicht.

Ich habe im FHEM einen MQTT-Server installiert über define MQTT MQTT2_SERVER 1887 global
Dann noch einen Generic mit define mqttgeneric MQTT_GENERIC_BRIDGE

Damit möchte ich meine Gardena-Geräte publishen. Funktioniert auch alles wie es soll.

ABER...

Er published nur geänderte Topics. ICh möchte aber, das auch unveränderte Topics published werden.

Wo kann ich das einstellen, wenn es überhaupt geht?

Vielen Dank

Gruß
Gordon

betateilchen

Zitat von: grichter24 am 24 April 2022, 17:08:59
ICh möchte aber, das auch unveränderte Topics published werden.

Das macht keinen Sinn und widerspricht dem Zweck und dem Gedanken von MQTT.
Eine mqtt message entsteht, wenn es etwas "zu melden" gibt. Und das ist bei unveränderten topics nicht der Fall.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Beta-User

Bin auch skeptisch, aber falls es "nur" darum geht, woanders immer den letzten bekannten Status zu haben: mit retain-flag publishen?
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

ch.eick

Zitat von: betateilchen am 24 April 2022, 17:19:33
Das macht keinen Sinn und widerspricht dem Zweck und dem Gedanken von MQTT.
Eine mqtt message entsteht, wenn es etwas "zu melden" gibt. Und das ist bei unveränderten topics nicht der Fall.
Das ist leider aber wohl doch nicht immer so. Ich verwende den Sonos2MQTT Docker Container und da hat der Entlickler es wohl anders gemacht. Ich bekomme meistens auch unveränderte Inhalte, was mir dann leider auch einen Event im FHEM generiert. Da habe ich jetzt auf event-on-change-reading umgestellt.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

grichter24

ja, eigentlich sollten nur neue Events veröffentlicht werden. Aber mal als Beispiel mit meinem Rasenmäher:

wenn sich der Status ändert, also vom Laden zum Mähen z.B., dann wird das veröffentlicht.
Es gibt aber auch den Zeitplan, also wann der nächste Start ist. Dieser Wert wird nur veröffentlicht, wenn ich den Zeitplan in der Gardena-App verändere.

Ich publishe über FHEM nur, weil diese Daten in meinem Openhab, was ich schon jahrelang nutze, nicht verfügbar sind.
Ich bekomme sie aber auch nicht rein, da die unveränderten Topics halt nicht veröffentlicht werden.

Vielleicht muss ich die Frage anders stellen:

Kann man beim erstmaligen Verbinden mit dem MQTT alle initialwerte publishen? Wenn die sich dann ewig nicht ändern ist es ja egal, ich habe zumindest den aktuellen Stand. Wäre das das Retain-Flag?

HAbe ich schon versucht, aber irgendwie funktioniert das nicht. Wo müsste ich das einbauen?

Beta-User

retain setzt voraus, dass irgendwann mal ein publish stattfand, ganz ohne müsste man es anders lösen. Würde bei den betreffenden Readings ein :r an den eigentlichen Topic hängen, pauschal ist retain häufig kontraproduktiv....
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

grichter24

Mein Problem hat sich schon erledigt.

Da ich neben openhab und FHEM auch noch iobroker installiert habe, da jedes System zusätzliche Daten liefert, habe ich den Adapter iobroker-fhem installiert.

Dieser Adapter holt über telnet ALLE angegebenen Topics ab.

Für mich ist das ausreichend.

Vielen Dank für die Rückmeldungen :)

Beta-User

OK, schön, dass es [gelöst] ist (?!?).
Der "Sprech" ist allerdings ungewohnt ::) .
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

grichter24

ja, ist erledigt. Kann ich das hier irgendwo einstellen? Der oben genannte Weg ist für mich ok.

Was meinst du mit "Sprech"?

Beta-User

Zitat von: grichter24 am 24 April 2022, 19:42:57
ja, ist erledigt. Kann ich das hier irgendwo einstellen?
Ersten Post entsprechend bearbeiten, um es kenntlich zu machen wäre der "übliche Weg":
https://forum.fhem.de/index.php/topic,71806.0.html

Zitat
Was meinst du mit "Sprech"?
"Topic abholen" finde ich eine ungewohnte Sprechweise. "Topic" kenne ich aus der MQTT-Welt, in FHEM würde man vermutlich eher von Reading-Werten sprechen (wobei es  Readings eigentlich in FHEM immer nur in Bezug zu einem Device gibt). Der Adapter arbeitet jedenfalls vermutlich nicht mit MQTT...
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

grichter24

ja sorry, die "Sprache" ist für mich auch eher neu. Welche Begriffe hier richtig wären. Ich bin noch ganz neu in diesem Thema. Bei openhab als Alleinnutzung brauchte ich das nicht.

Aber ja, bei FHEM heisst das Reading :)