Hallo zusammen,
ich bin auf der Suche nach einer Möglichkeit auf ein MQTT-Device einen Topic mit Leerzeichen zu übertragen.
Beispiel: Dies ist ein Test
Versucht habe ich es mit allen möglichen Kombinationen die mir einfielen. " ",' ',\ \,$EVTPART1,{$EVTPART1}. Gefunden habe ich zu dem Thema nur Beiträge aus 2017 bzw.2018. Gibt es mittlerweile eine Lösung die ich noch nicht gefunden habe? Am liebsten über die setList. Alternative wäre von dem Device das den Text ausgeben möchte ein devicetopic anzulegen und dies an auszugeben. Dies ist allerdings sehr umständlich und nicht immer machbar.
Wünschen würde ich mir eine Form wie set $DEVICE say Dies ist ein Test.
Für Anregungen bin ich dankbar.
Gruß
Roman
Zitatich bin auf der Suche nach einer Möglichkeit auf ein MQTT-Device einen Topic mit Leerzeichen zu übertragen.
Wenn es um MQTT2 geht: mit FHEM Befehlen ist das nicht moeglich.
Man kann einen Workaround basteln mit
{ MQTT2_SERVER_doPublish(undef, $defs{ServerName}, $myTopic, $myMsg, 0) }
Klingt eigentlich eher nach Leerzeichen in der Payload?
Da könnte man $EVENT am ersten Leerzeichen in zwei Teile splitten. Hatten wir schonmal, müsste aber suchen. (sonos2mqtt?)
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L5677
Sorry Topic war die falsche Benennung. Payload ist korrekt.
@TomLee: Deine Antwort verstehe ich nicht?! Meinst du den Eintrag im Template unter setList?
Zitat von: romakrau am 16 März 2026, 12:25:14@TomLee: Deine Antwort verstehe ich nicht?! Meinst du den Eintrag im Template unter setList?
Er hat mir das suchen abgenommen. Ist zwar etwas anders gelöst wie per Split, aber so geht es euch auch :) .
Den Perl-Teil musst du anpassen.
ZitatIst zwar etwas anders gelöst wie per Split, aber so geht es euch auch :) .
Du hast damals den Vorschlag gemacht, es ohne split umzusetzen:
https://forum.fhem.de/index.php?msg=1280794
ZitatMeinst du den Eintrag im Template unter setList?
Ja. Schau Dir hier (https://wiki.fhem.de/wiki/Notify#Syntax) an was in $EVENT steht, um die Ersetzung von $EVTPART0 inkl. nachfolgendem Leerzeichen zu verstehen.
Zitat von: TomLee am 16 März 2026, 13:41:53ZitatIst zwar etwas anders gelöst wie per Split, aber so geht es euch auch :) .
Du hast damals den Vorschlag gemacht, es ohne split umzusetzen:
https://forum.fhem.de/index.php?msg=1280794
Das mit "split" bezog sich darauf: https://forum.fhem.de/index.php?msg=1351221.
Aber egal, beides funktioniert ja. Was effizienter ist, kann ich nicht sagen...
Danke für die beiden unterschiedlichen Lösungsansätze. Werde ich morgen früh testen können.