FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: Frieder am 17 September 2021, 06:57:50

Titel: MsgDialog: svg plot nicht nur an default peer
Beitrag von: Frieder am 17 September 2021, 06:57:50
Hi, ich komme nicht weiter. Ich lasse mir einen plot über msgDialog per telegram schicken. Das funktioniert super. Aber leider nur bei mir, da ich als default peer eingetragen bin. Wenn je anderes diesen Dialog aufruft, bekomme trotzdem ich den plot.

Ich habe die entsprechende Stelle aus dem Waschmaschinen Beispiel genommen:

{
  "test": {
    "commands": "set %TelegramBot% cmdSend {plotAsPng('SVG_FileLog_Temp_rohr_1')}"
  }
}
Titel: Antw:MsgDialog: svg plot nicht nur an default peer
Beitrag von: subseven am 28 September 2022, 16:12:24
Auch wenn das Thema älter ist, stande ich gerade vor dem selben Problem. Hier vllt als Hilfe für andere, meine Lösung:

{
"1. Verbrauch": {
"match": "Verbrauch",
"commands": [
"{my $peer = substr(AttrVal(\"$recipient\",\"msgContactPush\",\"0\"),12);;fhem (\"set telegrambot cmdSend $peer \\{ plotAsPng(\\'rr_Pascal_Verbrauch\\')\\}\");; }"
],
"message": [
"TelegramBot_MTYPE=queryInline (%me%) "
]
}
}


Es wird auf dem Empfängerobjekt (Roomate) die PeerID ausgelesen, indem das Attribut msgContactPush zerlegt wird. die "12" ist auf die Länge des eigenen Telegrambotnamen anzupassen.
Titel: Antw:MsgDialog: svg plot nicht nur an default peer
Beitrag von: Beta-User am 28 September 2022, 16:25:54
Interessehalber: Es sollte doch eigentlich gehen, den plotAsPng-Aufruf in "message" zu tätigen, oder?

Also in etwa so:
                "message": [
                        { plotAsPng('rr_Pascal_Verbrauch') },
"TelegramBot_MTYPE=queryInline (%me%) "
]
Titel: Antw:MsgDialog: svg plot nicht nur an default peer
Beitrag von: subseven am 28 September 2022, 19:51:33
Funktioniert bei mir nicht. FHEM stürzt ab und befindet sich danach im Loop, weil er die noch nicht bearbeitete Telegramnachricht verarbeiten will, bei der er dann wieder abstürzt.
Da aber ggü. einer normalen Nachricht der Plot als "cmdSend" abgesendet wird, bin ich auch nicht davon ausgegangen, dass das geht.
Eventuell gibt es ja noch einen eleganteren Weg.

Titel: Antw:MsgDialog: svg plot nicht nur an default peer
Beitrag von: Beta-User am 28 September 2022, 20:20:54
Dann sorry und danke für's Testen.
Wenn ich mal Muße habe, schaue ich vielleicht, ob mir dazu was bzgl. des Codes einfällt, aber in msgDialog bin ich auch noch nicht sooo tief drin.