Hi,
ich habe folgendes notify erstellt:
Cam:LastSnapFilename:.* {
my $r1 = Value("Cam:LastSnapFilename");;
my $r2 = Value("Cam.Bewegung.Dummy");;
if ($r1 = ".*" && $r2 eq "on") {
fhem ("set telegrambot sendImage @12345678 /media/Snapshots/[Cam:LastSnapFilename]");} }
Leider ignoriert er die Empfänger ID und sendet stattdessen an den eingetragenen defaultPeer.
Kann mir jemand sagen wie ich das notify richtig erstelle?
Danke, Dave
PeerID prüfen.
Es muss die Id sein, und nicht der Username.
Evtl manuell den Befehl im Fhemweb prüfen
set telegrambot sendImage @12345678 /media/Snapshots/dummyDatei
Ansonsten, verbose 5 auf TelegramBot setzten, und Log schauen.
Danke aber das ist nicht das Problem.
Der Befehl funktioniert im Fhemweb, ich nutze ihn so ähnlich auch anderweitig.
Ich vermute das Problem liegt an dem @ innerhalb eines "Script´s" Spich innerhalb von {(" ");}
sub NachrichtVersenden($$)
{
my ($Wer, $Was) = @_;
my $text = "set Nachrichten message @" . $Wer . " " . $Was;
Log 3, "Telegram an: " . $Wer . " Text: " . $Was;
fhem($text);
so funktioniert es bei mir
Das @ escapen oder single quotes verwenden.
Hi, hast Du mal versucht das @ zu escapen? Also \@ zu nehmen. Alternativ: Ich meine ich hätte auch mal was ,mittels Variable in diesem Kontext gelesen...
Edit: Schaust Du hier für Lösungen ;-)
https://forum.fhem.de/index.php?topic=56628.msg481451#msg481451
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
So hab ich´s zum laufen bekommen:
Cam:LastSnapFilename:.* {
my $r1 = Value("Cam:LastSnapFilename");;
my $r2 = Value("Cam.Bewegung.Dummy");;
if ($r1 = ".*" && $r2 eq "on") {
fhem ('set telegrambot sendImage @12345678 /media/Snapshots/[Cam:LastSnapFilename]');} }
Also einfach die " durch ' ersetzt.
Danke für die Hilfe!