Hallo
habe TelegramBot erfolgreich eingerichtet.
Dann ein Notify erstellt mit dem ich die Texte die empfangen werden in abgearbeit werden sollen.
Genau so wie hier im CODE läuft es einwand frei
auch der Text wird zurück gesendet
teleBot:msgText.* {
if ($EVTPART1 eq 'Befehl') {
fhem("set teleBot send
Licht an / aus
Bett an / aus");
}
elsif ($EVTPART1 eq 'Resiver') {
my $e2duo = ReadingsVal("E2vuDUO", "power", "");
fhem("set teleBot send VU DUO : $e2duo");
}
elsif ($EVTPART1 eq 'Bier') {
if ($EVENT =~ 'an') {
my $text1 = $EVENT;
fhem("set HANDY1_D 1");
fhem("set HANDY2_D 1");
fhem("set HANDY3_D 1");
fhem("set teleBot send Befehl : $text1");
}
elsif ($EVENT =~ 'aus') {
my $text2 = $EVENT;
fhem("set HANDY1_D 0");
fhem("set HANDY2_D 0");
fhem("set HANDY3_D 0");
fhem("set teleBot send Befehl : $text2");
}
}
}
wenn ich jetzt das Wort "Bier" in "Schrank" ändere dann werden die Befehle für die "HANDYx_D" nicht aus geführt , aber der Text wird zurück gesendet.
Wie gesagt mit "Bier" geht es einwand frei
Ich kann Dir sagen, dass Bank oder Frank auch nicht funktionieren würde.
Das Problem ist, dass ($EVENT =~ 'an') bei Schrank immer match, da an darin vorkommt. Denn Du sendest ja "Bier an"
also könntest Du auf ($EVENT =~ 'Schrank an') erweitern dann würde es vermutlich auch mit Schrank gehen...
ABER ACHTUNG: Wenn Du nicht entsprechende Absicherungen vorgenommen hast, dann kann bei Dir jeder diese Befehle ausführen. Das kann ja wohl nicht sinnvoll sein