Hallo,
möchte über den Callmonitor mit einem notify
eine Meldung auf meiner Box aufploppen lassen,
finde aber den Fehler nicht bekomm auch keine Fehlermeldung
my_callmonitor:.*ring {
my $number = ReadingsVal($NAME,"internal_number",99);
my $handy="";
if ($number == xxxx1) {$handy="tel1"}
if ($number == xxx2) {$handy="tel2"}
if ($number == xxxx3) {$handy="tel3"}
fhem{ GetFileFromURL("http://192.168.178.177/control/message?popup=[my_callmonitor:external_name]\n [my_callmonitor:external_number]")}
}
Der befehl geht sendet aber nur "Text"
{ GetFileFromURL("http://192.168.178.177/control/message?popup=Text") }
das geht auch
my_callmonitor:.*ring {
my $number = ReadingsVal($NAME,"internal_number",99);
my $handy="";
if ($number == xxxx1) {$handy="tel1"}
if ($number == xxx2) {$handy="tel2"}
if ($number == xxxx3) {$handy="tel3"}
fhem("set teleBot message \@$handy Anruf von: [my_callmonitor:external_name]\n [my_callmonitor:external_number] \n ( $mday:$month:$year / $hms Uhr)")
}
Gruß Otto
Hi,
könnte so gehen (ungetestet und nicht "schön gemacht"):
my_callmonitor:.*ring {
my $number = ReadingsVal($NAME,"internal_number",99);
my $external_number = ReadingsVal($NAME,"external_number",99);
my $external_name = ReadingsVal($NAME,"external_name",99);
my $handy="";
if ($number == xxxx1) {$handy="tel1"}
if ($number == xxx2) {$handy="tel2"}
if ($number == xxxx3) {$handy="tel3"}
fhem{ GetFileFromURL("http://192.168.178.177/control/message?popup=$external_name\n $external_number")}
}
Info: im set Befehl geht set magic ([my_callmonitor:external_number]) im GetFileFromUrl() gibt es das nicht.
Gruß Otto
Hallo, danke schon mal ,bekomm da aber die Fehlermeldung
Global symbol "$external_name" requires explicit package name (did you forget to declare "my $external_name"?) at (eval 14849289) line 7.
Global symbol "$external_number" requires explicit package name (did you forget to declare "my $external_number"?) at (eval 14849289) line 7.
wie kann ich das umgehen ?
Gruß Otto
Hi,
pack mal die beiden $NAME im ReadingsVal in "", also "$NAME".
Gruß,
Tobias
Sorry, jetzt erst gesehen: Die Zeile
fhem{ GetFileFromURL("http://192.168.178.177/control/message?popup=$external_name\n $external_number")}
ist doch Unfug? Das muss einfach ohne fhem{} aufgerufen werden
GetFileFromURL("http://192.168.178.177/control/message?popup=$external_name\n $external_number");
GetFileFromURL() ist kein FHEM Befehl sondern eine Perlfunktion.
Hallo habs so probiert:
my_callmonitor:.*ring {
my $number = ReadingsVal($NAME,"internal_number",99);
my $handy="";
if ($number == xxxx1) {$handy="tel1"}
if ($number == xxx2) {$handy="tel2"}
if ($number == xxxx3) {$handy="tel3"}
GetFileFromURL("http://192.168.178.177/control/message?popup=$external_name\n $external_number");
}
wenn ich so eingebe kommen die Fehler..:
Global symbol "$external_name" requires explicit package name (did you forget to declare "my $external_name"?) at (eval 787546) line 7.
Global symbol "$external_number" requires explicit package name (did you forget to declare "my $external_number"?) at (eval 787546) line 7.
Gruß Otto
Da fehlt jetzt wieder die Hälfte, also nochmal im Ganzen:
my_callmonitor:.*ring {
my $number = ReadingsVal($NAME,"internal_number","error");
my $handy="";
my $external_number = ReadingsVal($NAME,"external_number","error");
my $external_name = ReadingsVal($NAME,"external_name","error");
if ($number == xxxx1) {$handy="tel1"};
if ($number == xxx2) {$handy="tel2"};
if ($number == xxxx3) {$handy="tel3"};
GetFileFromURL("http://192.168.178.177/control/message?popup=$external_name\n $external_number");
}
Gruß Otto