[gelöst] cmdalias wird nicht immer genutzt

Begonnen von igami, 30 September 2017, 13:10:08

Vorheriges Thema - Nächstes Thema

igami

Momentan bastel ich an einem msgDialog Modul.
In der msgDialog_Notify sub wird eine andere sub Aufgerufen mit der Zeile

    fhem("msg push \@$recipients $message");

Damit wird mit dem msg Befehl die Antwort gesendet und dieser wendet sich dann an meinen TelegramBot.

TelegramBot lässt es zu Nachrichten im Nachhinein zu verändern.
Um dies zu automatisieren wollte ich ein cmdAlias haben was auf

set myTelegramBot message @<ID> <Nachricht>

reagiert. Ein erster versuch ist

defmod message2queryEditInline cmdalias set .+ message .+ AS {\
  Debug("Triggered");;\
}


Nur leider reagiert das cmdAlias nicht auf die Aufrufe die aus meinem Modul kommen.
Wenn ich einen der Befehle

msg @Michael Test
{fhem("msg \@Michael Test")}

ausführe bekomme ich wie gewollt die "Triggered" Meldung im Log.

Woran kann es liegen, dass das cmdAlias beim Aufruf aus dem Modul nicht genutzt wird?

Grüße,
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

rudolfkoenig

cmdalias funktioniert nur, falls der Befehl ueber AnalyzeCommand aufgerufen wird, was der Normalfall sein sollte. Man kann intern ein set aber theoretisch auch ueber CommandSet oder den direkten Aufruf des SetFns ausloesen, dann greift cmdalias nicht.

Ich wuerde an deiner Stelle mit "attr global verbose 5" weitermachen.

igami

Habe den Fehler schon gefunden . trifft ja nicht auf Zeilenumbrüche zu. Habe es nun auf "set .+ message (.|\n)+ AS" geändert und siehe da, es Funktioniert :)

Magst du das vielleicht noch einbauen, dass . auch auf Zeilenumbrüche zutrifft? Ist dann ja einfach ein s beim regex dran hängen, ich bin mir nur grad nicht sicher an welcher Stelle geprüft wird. Zeile 83 und 87?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

rudolfkoenig