[gelöst] Modul Notify mit msg send und Residents

Begonnen von cryptik, 19 Februar 2020, 13:20:04

Vorheriges Thema - Nächstes Thema

cryptik

Hallo zusammen,

ich versuche innerhalb einer Notify auf eine eingehende Nachricht aus Telegram ebenso zu reagieren.
z.B.
Ich: Status
Fhem: Alles i.O.

Nun möchte ich, dass die Rückmeldung nicht an den defaultpeer geht, sondern entweder an einen fest definierten peer, z.B. @rr_name, oder an den, welcher die Nachricht an FHEM gesendet hat ("ReadingsVal("WEB_TelegramBot", "msgChatId", "")")

Es folgt ein Auszug aus meinem Code:

elsif ($EVTPART1 eq 'Hilfe') {
        fhem("set $NAME send
Filer - Starte Fileserver
Rest - Restmüll zählen
Bio - Biomüll zählen
Status - Heizungsstatus
Benzin - Benzinpreise
Diesel - Dieselpreise");


Theroetisch müsste nach dem Befehl 'send' der peer folgen (send @rr_name), das funktioniert jedoch nicht.

Zitat aus der CMDRef
ZitatDas Zeichen @ wird ersetzt durch den Gerätenamen.
Um % oder @ im Text selbst benutzen zu können, müssen sie verdoppelt werden (%% oder @@).

Funktioniert aber auch nicht (@@rr_name).

Ich könnte mir vorstellen, dass es an der Abkündigung liegt.
ZitatAchtung: Folgende Vorgehensweise ist abgekündigt, funktioniert bis featurelevel 5.6 und wird in einem zukünftigen Release von FHEM nicht mehr unterstützt. Wenn keine der oben genannten Variablen ($NAME/$EVENT/usw.) in der Anweisung gefunden wird, werden Platzhalter ersetzt.

Daher meine Frage, gibt es eine Möglichkeit, meine Fragestellung innerhalb von notify anders umzusetzen?

rudolfkoenig

@ in Perl ist Sonderzeichen, und muss ggf. geschuetzt werden.

Die @@/%% Schreibweise ist seit featurelevel 5.7 nicht mehr notwedig, weil @ und % nicht mehr mit NAME und EVENT ersetzt werden.


cryptik

Wunderbar einfach  ;D
Und hier die funktionierende Lösung:
"\@"

my $peer = ReadingsVal("WEB_TelegramBot", "msgChatId", "");
        fhem("set $NAME send \@$peer
Filer - Starte Fileserver
Rest - Restmüll zählen
Bio - Biomüll zählen
Status - Heizungsstatus
Benzin - Benzinpreise
Diesel - Dieselpreise");

        }