Hat sich eigentlich am Callmonitor etwas geändert

Begonnen von moonsorrox, 05 März 2016, 14:43:05

Vorheriges Thema - Nächstes Thema

moonsorrox

mir fällt seit einigen Tagen auf, das meine RSS Anzeige keine entgangenen Anrufe mehr anzeigt, oder auch wenn der AB sie annimmt wurde dies immer angezeigt.
Hat sich in letzter Zeit irgend etwas am FB_Callmonitor verändert.

In der RSS Anzeige rufe ich das folgendermaßen auf :

###   1. verpasster Anruf - Datum, Zeit, Nummer, Anrufer

condition { anrufAnzeigen('A0')}
moveby 0 20

###   1. Datum
text 10 y { substr((ReadingsVal('CallMon','B0','')),5,12) }

###   1. Zeit
text 110 y { substr((ReadingsVal('CallMon','B0','')),0,5). '  Uhr' }

###   1. Nummer
text 200 y { ReadingsVal('CallMon','D0','') eq 'unknown' ? 'ohne Nummer' : ReadingsVal('CallMon','D0','') }

###   1. Name
text 320 y { ReadingsVal('CallMon','C0','') eq 'unknown' ? 'ohne Namen' : ReadingsVal('CallMon','C0','') }
moveto 10 y



#####   2. verpasster Anruf - Datum, Zeit, Nummer, Anrufer

condition { anrufAnzeigen('A1')}
moveby 0 20

###   2. Datum
text 10 y { substr((ReadingsVal('CallMon','B1','')),5,12) }

###   2. Zeit
text 110 y { substr((ReadingsVal('CallMon','B1','')),0,5). '  Uhr' }

###   2. Nummer
text 200 y { ReadingsVal('CallMon','D1','') eq 'unknown' ? 'ohne Nummer' : ReadingsVal('CallMon','D1','') }

###   2. Name
text 320 y { ReadingsVal('CallMon','C1','') eq 'unknown' ? 'ohne Namen' : ReadingsVal('CallMon','C1','') }
moveto 10 y


#####   3. verpasster Anruf - Datum, Zeit, Nummer, Anrufer

condition { anrufAnzeigen('A2')}
moveby 0 20

###   3. Datum
text 10 y { substr((ReadingsVal('CallMon','B2','')),5,12) }

###   3. Zeit
text 110 y { substr((ReadingsVal('CallMon','B2','')),0,5). '  Uhr' }

###   3. Nummer
text 200 y { ReadingsVal('CallMon','D2','') eq 'unknown' ? 'ohne Nummer' : ReadingsVal('CallMon','D2','') }

###   3. Name
text 320 y { ReadingsVal('CallMon','C2','') eq 'unknown' ? 'ohne Namen' : ReadingsVal('CallMon','C2','') }
moveto 10 y

condition 1


in der 99_myUtils
########################################################
##   Für die Anzeige verpasster Anrufe
########################################################

sub anrufAnzeigen {
   my ($reading) = shift;
   my $ret = ( (ReadingsVal('CallMon',$reading,'') eq 'incoming_noconnect') || (ReadingsVal('CallMon',$reading,'') eq 'AB') );
   return $ret;
}
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Markus Bloch

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

moonsorrox

aber die Geschichte mit der 99_myUtilsTelefon.pm war doch längst überholt..!? oder täusche ich mich da.?
Ich habe ja eigentlich bis vor ein paar Tagen - wie lange weiß ich jetzt aber nicht genau - keine Probleme gehabt. Ich habe mich letzte Woche schon mal gewundert das ein verpasster Anruf  nicht angezeigt wurde.

Deshalb stehe ich da jetzt ein wenig auf dem Schlauch, die Readingsgroup nutze ich auch schon immer dafür, was genau fehlt mir denn jetzt...?
"incoming_noconnect" wird das noch genutzt, oder besser gefragt, kann ich das noch so nutzen..?
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Markus Bloch

Zitat von: moonsorrox am 06 März 2016, 01:45:22
aber die Geschichte mit der 99_myUtilsTelefon.pm war doch längst überholt..!? oder täusche ich mich da.?

Ja, ist sie. Seit 06/2015 steht das Modul FB_CALLLIST dafür bereit, welches die gleichen Features implementiert ohne jeglichen Zusatz-Code in einer 99_myUtilsTelefon.pm oder dergleichen. Ein entsprechender Hinweis befindet sich auch in dem zugehörigen Wiki-Artikel "Callmonitor mit Anruferliste und Zusatzfunktionen"

Zitat von: moonsorrox am 06 März 2016, 01:45:22
Ich habe ja eigentlich bis vor ein paar Tagen - wie lange weiß ich jetzt aber nicht genau - keine Probleme gehabt. Ich habe mich letzte Woche schon mal gewundert das ein verpasster Anruf  nicht angezeigt wurde.

Deshalb stehe ich da jetzt ein wenig auf dem Schlauch, die Readingsgroup nutze ich auch schon immer dafür, was genau fehlt mir denn jetzt...?
"incoming_noconnect" wird das noch genutzt, oder besser gefragt, kann ich das noch so nutzen..?

Die Readings, welche du in deinem Code verwendest (A0-A2 ,B0-B2, C0-C2, incoming_noconnect) werden allesamt nicht durch FB_CALLMONITOR erzeugt. Warum diese seit geraumer Zeit nicht funktionieren weiß ich nicht und ehrlich gesagt, will ich mich da auch nicht drum kümmern. An den Readings von FB_CALLMONITOR wurde generell am Schema und den Daten seit längerem nichts geändert. Es gab lediglich eine Korrektur der Werte für das Reading "internal_connection": https://sourceforge.net/p/fhem/code/10739/ Diese Änderung betrifft besonders die Werte FON1-FON3, da diese in der Vergangenheit falsch angezeigt wurden. Scheint aber bisher niemanden aufgefallen zu sein.

Ich würde dir raten auf FB_CALLLIST umzusteigen. Diese Lösung wird von mir supported und weiterentwickelt. Dort kannst du dir eine oder mehrere Anruflisten nach eigenen Wünschen konfigurieren und optional auch Readings erstellen um die Liste in bspw. RSS anzuzeigen.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

moonsorrox

Danke Markus für dein ausführlichen Informationen  :)

Zitat von: Markus Bloch am 06 März 2016, 07:41:41
Ja, ist sie. Seit 06/2015 steht das Modul FB_CALLLIST dafür bereit, welches die gleichen Features implementiert ohne jeglichen Zusatz-Code in einer 99_myUtilsTelefon.pm oder dergleichen.
genau das meine ich doch...!  ;)

Zitat von: Markus Bloch am 06 März 2016, 07:41:41
Ich würde dir raten auf FB_CALLLIST umzusteigen.

das nutze ich doch, war mir jetzt nicht klar...! ich dachte das ist die Voraussetzung um überhaupt eine Anrufliste zu nutzen, welche ja bei mir ja erzeugt wird...!

Hier mal das list meiner FB_CALLLIST
hier sind eben auch einige Anrufe dabei, als ich nicht zuhause war also nicht angenommen habe und diese werden nicht angezeigt...!

Markus, ich weiß jetzt nicht wonach ich suchen soll damit das wieder funktioniert, hast du einen Einfall, was hier nicht OK ist..?
Meine Anzeige für die verpassten Anrufe generiere ich ja wie oben beschrieben mit "condition { anrufAnzeigen('A0')}"

Internals:
   CFGFN      ./FHEM/System.cfg
   DEF        Callmonitor
   FB         Callmonitor
   NAME       Anrufliste
   NOTIFYDEV  global,Callmonitor
   NR         3116
   NTFY_ORDER 50-Anrufliste
   STATE      Initialized
   TYPE       FB_CALLLIST
   Helper:
     DEFAULT_COLUMN_ORDER row,state,timestamp,name,number,internal,external,connection,duration
     Connection_map:
       Answering_Machine_1 Anrufbeantworter
       DECT_1     LIFAD
       DECT_2     EndOfGreen
       DECT_3     Eisbrecher
       DECT_4     Rammstein
     Data:
       1456905060.75991:
         call_duration 8
         call_id    0
         direction  incoming
         external_connection SIP0
         external_name unknown
         external_number 01xxxxxxxx
         internal_connection Answering_Machine_1
         internal_number 05xxxxxxxx
         last_event disconnect
       1456924957.29435:
         call_duration 98
         call_id    1
         direction  outgoing
         external_connection SIP0
         external_name 
         external_number 066xxxxxxxx
         internal_connection DECT_1
         internal_number 051xxxxxxxx
         last_event disconnect
       1456927070.98329:
         call_duration 37
         call_id    1
         direction  outgoing
         external_connection SIP0
         external_name xxxxxxxx
         external_number 06xxxxxxxx
         internal_connection DECT_1
         internal_number 05xxxxxxxx
         last_event disconnect
       1456928671.49445:
         call_duration 129
         call_id    1
         direction  outgoing
         external_connection SIP0
         external_name xxxxxxxx
         external_number 06xxxxxxxx
         internal_connection DECT_1
         internal_number 051xxxxxxxx
         last_event disconnect
       1456928957.37883:
         call_duration 32
         call_id    0
         direction  incoming
         external_connection SIP0
         external_name xxxxxxxx
         external_number 06xxxxxxxx
         internal_connection DECT_1
         internal_number 051xxxxxxxx
         last_event disconnect
       1456939194.35355:
         call_duration 55
         call_id    1
         direction  outgoing
         external_connection SIP0
         external_name xxxxxxxx
         external_number 05xxxxxxxx
         internal_connection DECT_2
         internal_number 05xxxxxxxx
         last_event disconnect
       1456939333.39212:
         call_duration 2260
         call_id    1
         direction  outgoing
         external_connection SIP0
         external_name xxxxxxxx
         external_number 0xxxxxxxx
         internal_connection DECT_1
         internal_number 051xxxxxxxx
         last_event disconnect
       1457006538.69356:
         call_duration 0
         call_id    0
         direction  incoming
         external_connection SIP0
         external_name unknown
         external_number 02xxxxxxxx
         internal_number 05xxxxxxxx
         last_event disconnect
         missed_call 1
       1457095126.11796:
         call_duration 0
         call_id    1
         direction  outgoing
         external_connection SIP0
         external_name xxxxxxxx
         external_number 05xxxxxxxx
         internal_connection DECT_2
         internal_number 051xxxxxxxx
         last_event disconnect
         missed_call 1
       1457101862.09088:
         call_duration 34
         call_id    0
         direction  incoming
         external_connection SIP0
         external_name unknown
         external_number unknown
         internal_connection DECT_4
         internal_number 05xxxxxxxx
         last_event disconnect
       1457109963.37296:
         call_duration 2277
         call_id    1
         direction  outgoing
         external_connection SIP0
         external_name xxxxxxxx
         external_number 03xxxxxxxx
         internal_connection DECT_4
         internal_number 05xxxxxxxx
         last_event disconnect
       1457178574.42097:
         call_duration 7
         call_id    0
         direction  incoming
         external_connection SIP0
         external_name xxxxxxxx
         external_number 050xxxxxxxx
         internal_connection Answering_Machine_1
         internal_number 05xxxxxxxx
         last_event disconnect
       1457183294.84753:
         call_duration 3
         call_id    1
         direction  outgoing
         external_connection SIP0
         external_name xxxxxxxx
         external_number 05xxxxxxxx
         internal_connection DECT_3
         internal_number 05xxxxxxxx
         last_event disconnect
       1457184764.22802:
         call_duration 100
         call_id    0
         direction  incoming
         external_connection SIP0
         external_name xxxxxxxx
         external_number 05xxxxxxxx
         internal_connection DECT_1
         internal_number 05xxxxxxxx
         last_event disconnect
     Icon_map:
       incoming.connected phone_call_end_out@lightgreen
       incoming.done phone_call_end_in@lightgreen
       outgoing.connected phone_ring_out@lightgreen
       outgoing.done phone_ring_out@lightgreen
       outgoing.missed phone_missed_out@red
       outgoing.ring phone_ring@lightgreen
Attributes:
   connection-mapping { 'DECT_1' => 'LIFAD','DECT_2' => 'EndOfGreen','DECT_3' => 'Eisbrecher','DECT_4' => 'Rammstein','Answering_Machine_1' =>'Anrufbeantworter'}
   icon-mapping {'incoming.connected' => 'phone_call_end_out@lightgreen','outgoing.connected' => 'phone_ring_out@lightgreen','outgoing.missed' => 'phone_missed_out@red','outgoing.ring' => 'phone_ring@lightgreen','incoming.done' => 'phone_call_end_in@lightgreen','outgoing.done' => 'phone_ring_out@lightgreen'}
   language   de
   list-type  all
   number-of-calls 14
   room       Telefon
   show-icons 1
   sortby     01
   time-format-string %a. %d %b %Y %T
   verbose    2
   visible-columns state,timestamp,name,number,connection,duration
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Markus Bloch

OK, das Problem was wir hier haben ist, dass du gerade FB_CALLLIST mir der Lösung aus dem Wikieintrag "Callmonitor mit Anruferliste und Zusatzfunktionen" vermischst. Beides sind zwar Lösungen die auf das selbe Ergebnis herauslaufen (anzeigen einer Anrufliste), die aber völlig verschieden arbeiten und direkt miteinander nix zu tun haben. Du kannst entweder die Wiki-Lösung nutzen, oder FB_CALLLIST. Beides zusammen über Kreuz geht aber nicht. Daher existiert im Wiki die Info-Box in dem Wiki-Artikel auf FB_CALLLIST umzusteigen.

Du versuchst gerade Readings, die aus der Wiki-Lösung stammen aus FB_CALLLIST auszulesen. Diese Readings existieren da ja aber nicht. Wie man deinem list-Output entnehmen kann, existieren aktuell keine Readings.

Deinem RSS-Code entnehme ich, dass du nur verpasste Anrufe per RSS anzeigen willst.

Dazu ist folgende Konfiguration deiner FB_CALLLISt notwendig:

define Anrufliste Callmonitor
attr Anrufliste connection-mapping { 'DECT_1' => 'LIFAD','DECT_2' => 'EndOfGreen','DECT_3' => 'Eisbrecher','DECT_4' => 'Rammstein','Answering_Machine_1' =>'Anrufbeantworter'}
attr Anrufliste icon-mapping {'incoming.connected' => 'phone_call_end_out@lightgreen','outgoing.connected' => 'phone_ring_out@lightgreen','outgoing.missed' => 'phone_missed_out@red','outgoing.ring' => 'phone_ring@lightgreen','incoming.done' => 'phone_call_end_in@lightgreen','outgoing.done' => 'phone_ring_out@lightgreen'}
attr Anrufliste language   de
attr Anrufliste list-type  missed-calls
attr Anrufliste number-of-calls 14
attr Anrufliste room Telefon
attr Anrufliste show-icons 1
attr Anrufliste sortby     01
attr Anrufliste time-format-string %a. %d %b %Y %T
attr Anrufliste verbose    2
attr Anrufliste visible-columns state,timestamp,name,number,connection,duration
attr Anrufliste create-readings 1


Wichtigste Änderung gegenüber deine jetzigen Konfiguration sind die folgenden 2 Attribute:


attr Anrufliste list-type  missed-calls
attr Anrufliste create-readings 1


Das Attribut "list-type" sorgt mit dem Wert "missed-calls" dafür, dass nur Anrufe in Abwesenheit in der Liste auftauchen. Das Attribut "create-readings" sorgt dafür, das für alle Anrufe, die in der Anrufliste auftauchen entsprechende Readings erzeugt werden, damit man die z.B. in RSS, TabletUI, usw. verwenden kann.

Deine RSS Konfiguration würde dann wie folgt aussehen (UNGETESTET!!!! Ich nutze kein RSS):

###   1. verpasster Anruf - Datum, Zeit, Nummer, Anrufer

moveby 0 20

###   1. Datum
text 10 y { substr((ReadingsVal('Anrufliste','1-timestamp','')),5,12) }

###   1. Zeit
text 110 y { substr((ReadingsVal('Anrufliste','1-timestamp','')),0,5). '  Uhr' }

###   1. Nummer
text 200 y { ReadingsVal('Anrufliste','1-number','') eq '-' ? 'ohne Nummer' : ReadingsVal('Anrufliste','1-number','') }

###   1. Name
text 320 y { ReadingsVal('Anrufliste','1-name','') eq '-' ? 'ohne Namen' : ReadingsVal('Anrufliste','1-name','')  }
moveto 10 y



Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

moonsorrox

Zitat von: Markus Bloch am 06 März 2016, 11:31:06
OK, das Problem was wir hier haben ist, dass du gerade FB_CALLLIST mir der Lösung aus dem Wikieintrag "Callmonitor mit Anruferliste und Zusatzfunktionen" vermischst. Beides sind zwar Lösungen die auf das selbe Ergebnis herauslaufen (anzeigen einer Anrufliste), die aber völlig verschieden arbeiten und direkt miteinander nix zu tun haben.
Ok das war mir gar nicht bewusst, dass ich da beides benutzt habe  :-\
Ja jetzt begreife ich auch etwas, ich habe meine Anzeigen immer aus dem Callmon (Callmonitor - FB_CM_EXTENDER) genutzt..

Zitat von: Markus Bloch am 06 März 2016, 11:31:06
Du kannst entweder die Wiki-Lösung nutzen, oder FB_CALLLIST. Beides zusammen über Kreuz geht aber nicht. Daher existiert im Wiki die Info-Box in dem Wiki-Artikel auf FB_CALLLIST umzusteigen.

Du versuchst gerade Readings, die aus der Wiki-Lösung stammen aus FB_CALLLIST auszulesen. Diese Readings existieren da ja aber nicht. Wie man deinem list-Output entnehmen kann, existieren aktuell keine Readings.
Ja jetzt dämmert es mir...!  ;) Ok ich werde die FB_CALLLIST nutzen

Zitat von: Markus Bloch am 06 März 2016, 11:31:06
Deinem RSS-Code entnehme ich, dass du nur verpasste Anrufe per RSS anzeigen willst.
ja klar, auf einem Tablet reicht es mir wenn ich nachhause komme und sehe "Aha, der oder der hat versucht mich anzurufen)

Das kann ich ja dann so machen das ich mir eine zweite Anrufliste in der Art "vAnrufliste" mit dem Attribut "attr vAnrufliste list-type  missed-calls" mache und diese dann mit RSS auslese...
Das wird funktionieren...!
Ich danke nochmals für den gehörigen Denkanstoß  ;)

Dann brauche ich aber auch Callmon nicht mehr...! ich habe ja FB_CALLLIST
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Markus Bloch

Zitat von: moonsorrox am 06 März 2016, 12:39:15
Das kann ich ja dann so machen das ich mir eine zweite Anrufliste in der Art "vAnrufliste" mit dem Attribut "attr vAnrufliste list-type  missed-calls" mache und diese dann mit RSS auslese...
Das wird funktionieren...!

Genau, so kann man es machen.

Zitat von: moonsorrox am 06 März 2016, 12:39:15
Ich danke nochmals für den gehörigen Denkanstoß  ;)

Gerne, dafür ist das Forum ja da ;)

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

moonsorrox

#8
So das habe ich nun alles wunderbar hinbekommen, alles wird auch dementsprechend angezeigt...!  :)

Eine Frage hätte ich aber doch noch, wenn ein Anrufer auf den AB spricht ist dies ja auch ein sogenannter Anruf in Abwesenheit, der wird aber bei eingestelltem Attribut "missed-calls" nicht erfasst, einerseits richtig weil ja der Ab ran ging, aber für mich ist das ja ebenso ein verpasster Anruf, kann man das irgendwie auch mit anzeigen lassen per Attribut..?

Meine RSS Anzeige funktioniert ebenfalls hervorragend, bis eben auf die AB - Anrufe
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Markus Bloch

Setz das Attribut "answMachine-is-missed-call". Das ist genau dafür da.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

moonsorrox

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM