Autor Thema: Callmonitor: Notification auf XBMC  (Gelesen 1871 mal)

bt25

  • Gast
Callmonitor: Notification auf XBMC
« am: 24 April 2015, 09:52:15 »
Moin,
mein Ziel ist es eine Notification auf mein XBMC/Kodi zu schicken wenn Jemand anruft.
Dies habe ich gefunden:
## Anruf-Monitor
define TelefonAnruf notify FritzBoxMonitor:event:.(connect|ring) { \
my $internalNumber = (ReadingsVal("FritzBoxMonitor","internal_number",99));;\
my $externalNumber = (ReadingsVal("FritzBoxMonitor","external_number",99));;\
my $externalName = (ReadingsVal("FritzBoxMonitor","external_name",99));;\
if ($EVTPART1 eq "ring")\
{ \
fhem 'set WoZi msg "Anruf von '.$externalNumber.'" "'.$externalName .'" 5000 info';;\
}\
}

aber der Syntax scheint mit dem aktuellen FHEM nicht mehr zu funktionieren:

Zitat
TelefonAnruf return value: Unknown command :event:.(connect|ring), try help.

Kann man das so lösen oder brauche ich unbedingt eine 99_myUtilsTelefon.pm?

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 10611
    • Otto's Technik Blog
Antw:Callmonitor: Notification auf XBMC
« Antwort #1 am: 24 April 2015, 10:01:24 »
Hallo,

bei mir funktioniert FBMon:.*ring set ... nach wie vor im notify.

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,ET9200,Arduino nano,ESP8266

bt25

  • Gast
Antw:Callmonitor: Notification auf XBMC
« Antwort #2 am: 24 April 2015, 10:31:23 »
Also dann so?
## Anruf-Monitor
define TelefonAnruf notify FritzBoxMonitor:.*ring { \
my $internalNumber = (ReadingsVal("FritzBoxMonitor","internal_number",99));;\
my $externalNumber = (ReadingsVal("FritzBoxMonitor","external_number",99));;\
my $externalName = (ReadingsVal("FritzBoxMonitor","external_name",99));;\
if ($EVTPART1 eq "ring")\
{ \
fhem 'set WoZi msg "Anruf von '.$externalNumber.'" "'.$externalName .'" 5000 info';;\
}\
}

Das funktioniert bei mir ins soweit das kein Fehler mehr kommt... aber auch keine Notification und das Log ist auch leer :-/

Offline Paul

  • Sr. Member
  • ****
  • Beiträge: 738
Antw:Callmonitor: Notification auf XBMC
« Antwort #3 am: 24 April 2015, 10:37:53 »
Nehme mal das if raus
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

bt25

  • Gast
Antw:Callmonitor: Notification auf XBMC
« Antwort #4 am: 24 April 2015, 19:07:07 »
Okay dass gar nichts im Log stand war mein Fehler...
Jetzt bekomme ich folgendes:

Zitat
2015.04.24 16:31:54 5: Triggering TelefonAnruf
2015.04.24 16:31:54 4: TelefonAnruf exec {
   my $internalNumber = (ReadingsVal("AnrufMonitor","internal_number",99));;
   my $externalNumber = (ReadingsVal("AnrufMonitor","external_number",99));;
   my $externalName = (ReadingsVal("AnrufMonitor","external_name",99));;
   Fhem 'set WoZi msg "Anruf von '.$externalNumber.'" "'.$externalName .'" 5000 info';;
   Fhem 'set XBMC msg "Anruf von '.$externalNumber.'" "'.$externalName .'" 5000 info';;
}
2015.04.24 16:31:54 1: PERL WARNING: String found where operator expected at (eval 1501) line 5, near "Fhem 'set WoZi msg "Anruf von '"
2015.04.24 16:31:54 3: eval: {
   my $internalNumber = (ReadingsVal("AnrufMonitor","internal_number",99));
   my $externalNumber = (ReadingsVal("AnrufMonitor","external_number",99));
   my $externalName = (ReadingsVal("AnrufMonitor","external_name",99));
   Fhem 'set WoZi msg "Anruf von '.$externalNumber.'" "'.$externalName .'" 5000 info';
   Fhem 'set XBMC msg "Anruf von '.$externalNumber.'" "'.$externalName .'" 5000 info';
}
2015.04.24 16:31:54 1: PERL WARNING:    (Do you need to predeclare Fhem?)
2015.04.24 16:31:54 1: PERL WARNING: String found where operator expected at (eval 1501) line 6, near "Fhem 'set XBMC msg "Anruf von '"
2015.04.24 16:31:54 3: eval: {
   my $internalNumber = (ReadingsVal("AnrufMonitor","internal_number",99));
   my $externalNumber = (ReadingsVal("AnrufMonitor","external_number",99));
   my $externalName = (ReadingsVal("AnrufMonitor","external_name",99));
   Fhem 'set WoZi msg "Anruf von '.$externalNumber.'" "'.$externalName .'" 5000 info';
   Fhem 'set XBMC msg "Anruf von '.$externalNumber.'" "'.$externalName .'" 5000 info';
}
2015.04.24 16:31:54 3: TelefonAnruf return value: syntax error at (eval 1501) line 5, near "Fhem 'set WoZi msg "Anruf von '"
« Letzte Änderung: 24 April 2015, 19:10:16 von bt25 »

Offline anfichtn

  • Jr. Member
  • **
  • Beiträge: 99
Antw:Callmonitor: Notification auf XBMC
« Antwort #5 am: 25 April 2015, 17:37:24 »
die funktion heisst "fhem". nicht "Fhem" oder irgendwie anders.

:)

Grüße

anfichtn
FHEM 5.6 + Pilight + Pimatic auf BananaPro mit Bananian 15.08 r01
FB7270 v2
LDA382A mit WifiLight
MAX-Cube 2 Fensterkonstakte, 3 HK-Thermostate, 1 WandThermostat
[...]

Offline carzl

  • Full Member
  • ***
  • Beiträge: 100
Antw:Callmonitor: Notification auf XBMC
« Antwort #6 am: 13 März 2018, 13:04:56 »
Ich grab das Thema mal wieder aus... Die Anrufinfo von Fhem nach Kodi klappt bei mir gut, ein Notify auf den FB_Callmonitor macht bei mir

Anrufmonitor:event:.ring {my $name=(ReadingsVal("Anrufmonitor","external_name",0));my $nummer=(ReadingsVal("Anrufmonitor","external_number",0));fhem ("set WZ_Kodi msg 'Anruf von' '$name ($nummer)' 20000 http://192.168.178.28:8083/fhem/www/pictures/Telefon.jpg");}
Statt des "info"-Symbols lasse ich in Kodi also ein Foto meines Festnetztelefons anzeigen, was physisch auf dem RPi liegt, soweit so gut.

Nun würde ich aber das Foto gern dynamisch machen und durch ein Foto des Anrufers ersetzen. Man könnte also die Kontaktfotos in einen Ordner kippen (bei mir "fhem/www/pictures") und mit den selben Namen benennen, wie sie der Callmonitor als "external_name" rausgibt. Nur - wie kann ich den Aufruf der .jpg dynamisch bauen, dort müsste ja dann entweder direkt "external_name" rein oder eine Variable, die man immer mit dem gerade reinkommenden "external_Name" betankt.

Hat jemand eine Idee oder sowas mal gebaut?

Danke!
Carsten
wenig Zeit, deshalb auch nach Monaten noch Newbie...

Fhem 5.7 @RasPi3Jessie + Fhem 5.7 @RasPi2Wheezy;
CUL, JeeLink, FHT80b, FS20S6A, FS20S4A, FS20ST4, S300TH, FritzDECT200, TX29DTH, Fritzbox7362, HarmonyHub, HueBridge v2, Sonos Play:1

Offline nils_

  • Sr. Member
  • ****
  • Beiträge: 925
Antw:Callmonitor: Notification auf XBMC
« Antwort #7 am: 13 März 2018, 14:46:29 »
du setzt doch den $name schon in deinem notify (ganz am anfang)

jetzt kannst du dir doch den string/pfad zu dem bild zusammenbauen.
versuch mal:
Anrufmonitor:event:.ring {my $name=(ReadingsVal("Anrufmonitor","external_name",0));my $nummer=(ReadingsVal("Anrufmonitor","external_number",0));fhem ("set WZ_Kodi msg 'Anruf von' '$name ($nummer)' 20000 http://192.168.178.28:8083/fhem/www/pictures/". $name .".jpg");}
bild muss dann unter fhem/www/pictures mit entsprechendem $name.jpg liegen

ausnahmefälle für nicht gesetzten external-name und damit evtl. nicht vorhandenes bild musst du noch einbauen.
viele Wege in FHEM es gibt!

Offline carzl

  • Full Member
  • ***
  • Beiträge: 100
Antw:Callmonitor: Notification auf XBMC
« Antwort #8 am: 16 März 2018, 17:15:46 »
Hallo nils,

danke für deine Hilfe! Klappt aber leider nicht  :(

Ein Leerzeichen im dynamischen Dateinamen führt dazu, dass statt "Anruf von" der Teil "http://192~" als Titel in der Kodi-Benachrichtigung durch. Bist du sicher, dass ". $name .".jpg die richtige Def ist, um den Dateinamen zu generieren?

Danke.
wenig Zeit, deshalb auch nach Monaten noch Newbie...

Fhem 5.7 @RasPi3Jessie + Fhem 5.7 @RasPi2Wheezy;
CUL, JeeLink, FHT80b, FS20S6A, FS20S4A, FS20ST4, S300TH, FritzDECT200, TX29DTH, Fritzbox7362, HarmonyHub, HueBridge v2, Sonos Play:1

Offline nils_

  • Sr. Member
  • ****
  • Beiträge: 925
Antw:Callmonitor: Notification auf XBMC
« Antwort #9 am: 19 März 2018, 08:18:50 »
nein sicher bin ich mir natürlich nicht :D


bei $name hab ich nicht an leerzeichen gedacht. sorry.
vielleicht legst du die dateien mit der nummer ab.

dann musst du natürlich $nummer.jpg zusammen bauen im notify.

so?
Anrufmonitor:event:.ring {my $name=(ReadingsVal("Anrufmonitor","external_name",0));my $nummer=(ReadingsVal("Anrufmonitor","external_number",0));fhem ("set WZ_Kodi msg 'Anruf von' '$name ($nummer)' 20000 http://192.168.178.28:8083/fhem/www/pictures/". $nummer.".jpg");}

//edit
letztlich ginge der name natürlich auch. da muss dann halt nur was gemacht werden wegen den leerzeichen (ersetzen, escapen, ...).

viele Wege in FHEM es gibt!