TelegramBot - Antwort, bzw. Nachricht nur für den Benutzer der sendet?

Begonnen von benshee, 18 April 2025, 17:25:54

Vorheriges Thema - Nächstes Thema

benshee

Hallo,

ich habe einen TelegramBot installiert. Grundsätzlich funktioniert er auch wie er soll.
Ich habe ein notify erstellt, damit User1 und User2 über Telegram die Kaffeemaschine ein und ausschalten können.
Hier mal mein Notify:

ChatBot:msgText.* {
if ($EVTPART1 eq 'Bezzera') {
if ($EVENT =~ 'an') {
fhem("set Bezzera on");
fhem("set ChatBot  message \@7711043691 \@7778427997 Bezzera wurde angeschaltet");
}
elsif ($EVENT =~ 'aus') {
fhem("set Bezzera off");
fhem("set ChatBot message \@7711043691 \@7778427997 Bezzera wurde ausgeschaltet");
}
}
else {
}
}

Wenn nun User1 in meinem Fall @7711043691 den Befehl "Bezzera aus" sendet, bekommt er als Bestätigung die Meldung "Bezzera wurde ausgeschaltet"
Die gleiche Meldung bekommt aber zeitgleich auch der User2 .

Wie bekomme ich es hin, dass wenn User1 den Befehl "Bezzera aus" sendet nur der User1 die Meldung "Bezzera wurde ausgeschaltet" bekommt und nicht Usser2
Es sollte auch umgekehrt funktionieren, also User2 sendet den Befehl und nur User2 bekommt eine Rückmeldung.

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.
Bin über jede Hilfe dankbar.

Gruß
Thomas


TomLee

Hallo,

einfach msgPeerId auslesen und nur an diesen User die Nachricht senden?

Gruß Thomas

Beta-User

msgConfig (und ergänzend msgDialog) können das ggf. vereinfachen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

benshee

Zitat von: TomLee am 18 April 2025, 18:02:05Hallo,

einfach msgPeerId auslesen und nur an diesen User die Nachricht senden?

Gruß Thomas

Kannst du mir sagen, wie der Code dazu lautet, bzw wie ich das in mein Notify einbinden kann?

TomLee

Mit ReadingVal (und nicht ReadingsNum, die ID könnte auch mit 0 beginnen, falls die mal geändert würde) kannst msgPeerId in einer Variable "speichern".

Die hängst dann einfach in dem FHEM-Befehl an das \@:

fhem("set Bezzera on;set ChatBot message \@$var Bezzera wurde angeschaltet");
ungetestet