FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: lepOManta am 09 März 2017, 20:33:34

Titel: TelegramBot über Notify das Wort Schrank geht nicht
Beitrag von: lepOManta am 09 März 2017, 20:33:34
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
Titel: Antw:TelegramBot über Notify das Wort Schrank geht nicht
Beitrag von: viegener am 09 März 2017, 22:43:19
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