FHEM Forum

FHEM => Automatisierung => Thema gestartet von: igami am 30 September 2017, 13:10:08

Titel: [gelöst] cmdalias wird nicht immer genutzt
Beitrag von: igami am 30 September 2017, 13:10:08
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
Titel: Antw:cmdalias wird nicht immer genutzt
Beitrag von: rudolfkoenig am 30 September 2017, 13:47:41
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.
Titel: Antw:cmdalias wird nicht immer genutzt
Beitrag von: igami am 30 September 2017, 14:03:42
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?
Titel: Antw:cmdalias wird nicht immer genutzt
Beitrag von: rudolfkoenig am 30 September 2017, 14:23:51
Habs eingebaut.