Hauptmenü

Callmonitor

Begonnen von oaotto_123, 27 September 2024, 13:38:14

Vorheriges Thema - Nächstes Thema

oaotto_123

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

Otto123

#1
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

oaotto_123

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

tobi01001

Hi,

pack mal die beiden $NAME im ReadingsVal in "", also "$NAME".

Gruß,
Tobias
FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

Otto123

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.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

oaotto_123

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz