Neues Modul Telefonmonitor (TM)

Begonnen von Elektrolurch, 20 September 2014, 14:17:38

Vorheriges Thema - Nächstes Thema

moonsorrox

#75
ich wollte das TM jetzt mal probieren, bekomme aber die gleiche Fehlermeldung wie sie auch im #2 Posting von dir erklärt wird.

Du schreibst
ZitatDu hast doch:
define meineFritzBox FB_CALLMONITOR 192.168.10.1

ich habe es bisher so:
Zitatdefine Fritz_Box FB_CALLMONITOR 10.0.0.1:1012

Also sollte doch mein define so aussehen wenn ich das richtig verstanden habe

define myTM TM Fritz_Box

oder habe ich da was falsch verstanden..?

Edith:// kann mir einer dazu was schreiben was an Fritz_Box falsch ist
Das ist die Fehlermeldung
TM_Define: Fritzbox does not exists or ist not of type FB_CALLMONITOR
Please define myTM first
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

dancatt

Hallo,

folgende Warnung kommt bei mir im Log

TM_Monitor: status:  ring
2014.11.08 11:30:08.085 3: Anruf (ring) von Peter Pan 0123456789 callID: 1324s65dfsdf46sdf1sd
2014.11.08 11:30:08.086 1: PERL WARNING: Use of uninitialized value $linefilter in concatenation (.) or string at ./FHEM/99_myUtilsTM.pm line 226.
2014.11.08 11:30:18.982 3:
TM_Monitor: status:  connect
2014.11.08 11:31:33.977 3:
TM_Monitor: status:  disconnect
2014.11.08 12:10:10.876 3:
TM_Monitor: status:  call
2014.11.08 12:10:10.878 1: PERL WARNING: Use of uninitialized value $linefilter in concatenation (.) or string at ./FHEM/99_myUtilsTM.pm line 226.
2014.11.08 12:10:17.321 3:
TM_Monitor: status:  connect
2014.11.08 12:29:57.597 3:
TM_Monitor: status:  disconnect

wurde ja schon eine Seite vorher hier im Thread erwähnt. Ich benutze keinen LineFilter. Ich habe gelesen dass in der nächsten Version die Perl Warnung nicht mehr auftritt.
Wird die neue Version immer hier im ersten Beitrag hochgeladen?
Wann kommt ungefähr die nächste Verison?
Kann man das Modul nicht direkt in Fhem hochladen?

Vielen Dank.
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

Elektrolurch

Bis jetzt habe ich nur noch ein paar "minor-fixes" und wenn dann bis zum Jahresende nichts gravierendes kommt, aktualisiere ich den ersten Beitrag wieder.
Tja, klar, könnte man auch ein offizielles fhem - Modul draus machen. Dann müsste ich mir erst eimal einen developer-account einrichten und dann ist noch das Problem mit "Hochladen" und html für die command-ref. Z.B. kann ich mit git nicht arbeiten, da dies mein Screenreader nicht unterstützt und für einen html-Editor gilt das gleiche. Anklickbare Ikonen sind leider mal für Screenreader häufig nicht selektierbar.
Da wäre es hilfreich, wenn sich von den "Altgedienten" ev. ein Mentor anbieten würde.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

Roaster

Servus Elektrolurch,

Was den Entwicklerzugang angeht,  da kann ich dich leider auch nicht unterstützen da ich dazu keine Möglichkeit habe.

Was ich jedoch sagen kann ist, dass der Monitor läuft und das schon  seit einiger Zeit. Vor kurzem hat er sich, wie bereits weiter oben erwähnt, mal geziert, die Anrufdauer zu aktualisieren.

Vielleicht kannst du dir in einer späteren Erweiterung doch nochmal Gedanken machen, ob man nicht eine vorhandene Anrufbeantworter Aufzeichnung auch im Callmonitor anzeigen könnte, evtl. als eigenes Attribut.
Dabei wäre es wünschenswert, wenn man dann über eine readingsGroup auch noch Zugriff auf die entsprechende Datei in der Fritzbox haben könnte um den aufgezeichneten Anruf beispielsweise auf einem Tablet abspielen zu können.

Grüße,
Michael

bergadler

Ich hätte dazu gern mal ein Problem.
Seitdem ich vorgestern endlich mal wieder einen gesamte FHEM Update gefahren habe,
gibt es bei einem Anruf jetzt folgende Warnings im Logfile:
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string eq at ./FHEM/99_myUtilsTelefon.pm line 187.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string eq at ./FHEM/99_myUtilsTelefon.pm line 187.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $ab in string eq at ./FHEM/99_myUtilsTelefon.pm line 192.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string gt at ./FHEM/99_myUtilsTelefon.pm line 198.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string eq at ./FHEM/99_myUtilsTelefon.pm line 187.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $ab in string eq at ./FHEM/99_myUtilsTelefon.pm line 192.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string gt at ./FHEM/99_myUtilsTelefon.pm line 198.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string eq at ./FHEM/99_myUtilsTelefon.pm line 187.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $ab in string eq at ./FHEM/99_myUtilsTelefon.pm line 192.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string gt at ./FHEM/99_myUtilsTelefon.pm line 198.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string eq at ./FHEM/99_myUtilsTelefon.pm line 187.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $ab in string eq at ./FHEM/99_myUtilsTelefon.pm line 192.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string gt at ./FHEM/99_myUtilsTelefon.pm line 198.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string eq at ./FHEM/99_myUtilsTelefon.pm line 187.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $ab in string eq at ./FHEM/99_myUtilsTelefon.pm line 192.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $intCallDuration in string gt at ./FHEM/99_myUtilsTelefon.pm line 198.
2014.11.15 19:08:10 1: PERL WARNING: Use of uninitialized value $ab in string eq at ./FHEM/99_myUtilsTelefon.pm line 192.

Der Anruf selbst wird aber mit allen Parametern (IncomingIcon, Name,Nummer, Dauer) in der erzeugten Anrufliste korrekt eingetragen.

Kann man dagegen was machen?
Und wenn ja, wie?
Fehlen noch Angaben?

Gruß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

JoWiemann

Hallo Elektrolurch,

ich habe mich ein bisschen in Dein wirklich hervorragendes Modul eingemischt und folgende Ergänzungen vorgenommen:

icon, group und method-call in die $hash->{AttrList} aufgenommen

und den entsprechenden Aufruf method-call in if ($hash->{stat} eq "call") ... aufgenommen, da ich selber einen entsprechenden Aufruf benötige.

Für das bisher geleistete vielen Dank Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Spartacus

Hallo zusammen,
ich habe heute auch mal das Modul installiert. Soweit klappt auch alles, allerdings bekomme ich es nicht hin, die Symbole anzeigen zu lassen. Irgendetwas mache ich offenbar noch falsch!

define FB7390 FB_CALLMONITOR 192.168.x.x
#
define CallMon TM FB7390
attr CallMon maxlines 4
attr CallMon monitor-type all
attr CallMon symbol-answering-machine AB
attr CallMon symbol-connected connected
attr CallMon symbol-incoming incoming
attr CallMon symbol-incoming-noconnect incoming_noconnect
attr CallMon symbol-outgoing outgoing
attr CallMon symbol-outgoing-noconnect outgoing_noconnect
attr CallMon update 2
#
#
define Anrufliste readingsGroup <Pos>,<Art>,<Datum>,<Name>,<Nummer>,<Dauer>\
CallMon:A0,B0,C0,D0,E0 CallMon:A1,B1,C1,D1,E1 CallMon:A2,B2,C2,D2,E2 CallMon:A3,B3,C3,D3,E3 CallMon:A4,B4,C4,D4,E4
attr Anrufliste mapping {'CallMon' => '{sprintf("%d.",$ROW-1);;;;}'}
attr Anrufliste nameStyle style="font-weight:bold"
attr Anrufliste noheading 0
attr Anrufliste valueIcon { 'A0.incoming' => 'phone_ring_in@green', 'A0.incoming_noconnect' => 'phone_ring_in@red', 'A0.outgoing' => 'phone_ring_out@green', 'A0.outgoing_noconnect' => 'phone_ring_out@red', 'A0.AB' => 'phone_answersing@blue', 'E0.connected' => 'phone_ring@yellow', 'A1.incoming' => 'phone_ring_in@green', 'A1.incoming_noconnect' => 'phone_ring_in@red', 'A1.outgoing' => 'phone_ring_out@green', 'A1.outgoing_noconnect' => 'phone_ring_out@red', 'A1.AB' => 'phone_answersing@blue', 'E1.connected' => 'phone_ring@yellow', 'A2.incoming' => 'phone_ring_in@green', 'A2.incoming_noconnect' => 'phone_ring_in@red', 'A2.outgoing' => 'phone_ring_out@green', 'A2.outgoing_noconnect' => 'phone_ring_out@red', 'A2.AB' => 'phone_answersing@blue', 'E2.connected' => 'phone_ring@yellow', 'A3.incoming' => 'phone_ring_in@green', 'A3.incoming_noconnect' => 'phone_ring_in@red', 'A3.outgoing' => 'phone_ring_out@green', 'A3.outgoing_noconnect' => 'phone_ring_out@red', 'A3.AB' => 'phone_answersing@blue', 'E3.connected' => 'phone_ring@yellow', 'A4.incoming' => 'phone_ring_in@green', 'A4.incoming_noconnect' => 'phone_ring_in@red', 'A4.outgoing' => 'phone_ring_out@green', 'A4.outgoing_noconnect' => 'phone_ring_out@red', 'A4.AB' => 'phone_answersing@blue', 'E4.connected' => 'phone_ring@yellow' }


Danke und Gruß,
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

bobby1000

Erst einmal vielen Dank für eure Arbeit an dem Modul. Echt klasse.
Ich habe in den letzten Tagen die beiden Treads zu dem Thema komplett durchgelesen. Callmonitor für Anfänger sowie diesen und habe die unterschiedlichen Versionen in mein FHEM eingebaut. Meist sogar mit positivem Ergebnis.
Aber nun habe cih entweder den Faden verloren oder irgend etwas nicht verstanden.
Bis gestern hatte ich die Version aus Callmonitor für Anfänger laufen, mit dem Ergebnis das die Liste nicht aktualisiert wurde und die Icons nicht richtig dargestellt wurden. Womit ich ja auch nicht alleine war.
Heute habe ich alles durch die Versionen aus diesem Tread ersetzt. Aber irgendwie finde ich nicht wie die eigene Vorwahl eingestellt werden muss und auch die Sache mit dem Telefonbuch der Fritz Box finde ich nicht. geschweige denn die Rückwertssuche.

Hier noch meine fhem.cfg
define FB7390 FB_CALLMONITOR 192.168.1.1
#
define CallMon TM FB7390
attr CallMon maxlines 4
attr CallMon monitor-type all
attr CallMon symbol-answering-machine AB
attr CallMon symbol-connected connected
attr CallMon symbol-incoming incoming
attr CallMon symbol-incoming-noconnect incoming_noconnect
attr CallMon symbol-outgoing outgoing
attr CallMon symbol-outgoing-noconnect outgoing_noconnect
attr CallMon update 2
#
#
define Anrufliste readingsGroup <Pos>,<Art>,<Datum>,<Name>,<Nummer>,<Dauer>\
CallMon:A0,B0,C0,D0,E0 CallMon:A1,B1,C1,D1,E1 CallMon:A2,B2,C2,D2,E2 CallMon:A3,B3,C3,D3,E3 CallMon:A4,B4,C4,D4,E4
attr Anrufliste mapping {'CallMon' => '{sprintf("%d.",$ROW-1);;;;}'}
attr Anrufliste nameStyle style="font-weight:bold"
attr Anrufliste noheading 0
attr Anrufliste room Telefon
attr Anrufliste valueIcon { 'A0.incoming' => 'phone_ring_in@green', 'A0.incoming_noconnect' => 'phone_ring_in@red', 'A0.outgoing' => 'phone_ring_out@green', 'A0.outgoing_noconnect' => 'phone_ring_out@red', 'A0.AB' => 'phone_answersing@blue', 'E0.connected' => 'phone_ring@yellow', 'A1.incoming' => 'phone_ring_in@green', 'A1.incoming_noconnect' => 'phone_ring_in@red', 'A1.outgoing' => 'phone_ring_out@green', 'A1.outgoing_noconnect' => 'phone_ring_out@red', 'A1.AB' => 'phone_answersing@blue', 'E1.connected' => 'phone_ring@yellow', 'A2.incoming' => 'phone_ring_in@green', 'A2.incoming_noconnect' => 'phone_ring_in@red', 'A2.outgoing' => 'phone_ring_out@green', 'A2.outgoing_noconnect' => 'phone_ring_out@red', 'A2.AB' => 'phone_answersing@blue', 'E2.connected' => 'phone_ring@yellow', 'A3.incoming' => 'phone_ring_in@green', 'A3.incoming_noconnect' => 'phone_ring_in@red', 'A3.outgoing' => 'phone_ring_out@green', 'A3.outgoing_noconnect' => 'phone_ring_out@red', 'A3.AB' => 'phone_answersing@blue', 'E3.connected' => 'phone_ring@yellow', 'A4.incoming' => 'phone_ring_in@green', 'A4.incoming_noconnect' => 'phone_ring_in@red', 'A4.outgoing' => 'phone_ring_out@green', 'A4.outgoing_noconnect' => 'phone_ring_out@red', 'A4.AB' => 'phone_answersing@blue', 'E4.connected' => 'phone_ring@yellow' }


Sorry, wenn ich hier total auf dem Schlauch stehe.

Vielen Dank schon einmal für eure Hilfe.

Elektrolurch

Hallo,

Zitat:
wie die eigene Vorwahl eingestellt werden muss und auch die Sache mit dem Telefonbuch der Fritz Box finde ich nicht. geschweige denn die Rückwertssuche.

Das ist so:

Das Modul FBCallMonitor realisiert die Generierung von Ereignissen, auf Grund von Anrufen auf Deiner FB. Da diese sequentiell hintereinander kommen, müssen diese irgendwo zwischengespeichert werden, um sie sinnvoll in einer Liste darstellen zu können.

Der erste Ansatz hierzu war von mir ein Stückchen Code für eine 99_myUtils..., das wurde dann auch in dem Beitrag "Callmonitor für Anfänger" weitergeführt.
Das Stückchen Code war quasi mein Anfängerwerk :-).

Aus dem Ganzen habe ich dann ein eigenes Modul gebaut (TM), bei dem man auch kein notify mehr auf das Objekt aus dem FBCallMonitor definieren muss und welches nun auch über Attribute konfigurierbar ist. Das TM ersetzt den alten Code....! Und beseitigt im PÜbrigen auch das Problem mit der Aktualisierung der Anzeigenliste.... das ist nämlich ein Problem in fhem, dass von notifys aus keine weiteren notifys mehr generiert werden können.....

Das was Du da einstellen möchtest, musst Du im FBCallMonitor Objekt machen, dass hat nichts direkt mit dem TM zu tun.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

bobby1000

Klar war ja eigentlich nahe liegend. Hätte mir auch auffallen können.
Habe es sofort eingesetzt und wen wunderts es funktioniert wieder alles.

Nochmals vielen Dank für das klasse Modul und natürlich die schnelle Hilfe

cotecmania

Hallo,

ich möchte die Spalte B mit der Uhrzeit/Datum (hh:mm tt.mm.jjjj) umformatieren.
Wenn ich nur zum Test die erste Zeile so definiere : attr Anrufliste2 valueFormat {'B0' => substr($VALUE, 6, 5)} erscheint zwar korrekt tt.mm aber im logfile habe ich 8 warnings, obwohl der String ja 16 Zeichen lang ist. jemand ne Idee ?

2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64436) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64440) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64445) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64446) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64450) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64451) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64455) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64460) line 1.
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

cotecmania

Hi,

Zitat von: cotecmania am 12 Januar 2015, 21:32:44
Hallo,

ich möchte die Spalte B mit der Uhrzeit/Datum (hh:mm tt.mm.jjjj) umformatieren.
Wenn ich nur zum Test die erste Zeile so definiere : attr Anrufliste2 valueFormat {'B0' => substr($VALUE, 6, 5)} erscheint zwar korrekt tt.mm aber im logfile habe ich 8 warnings, obwohl der String ja 16 Zeichen lang ist. jemand ne Idee ?

2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64436) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64440) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64445) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64446) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64450) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64451) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64455) line 1.
2015.01.12 21:26:27 1: PERL WARNING: substr outside of string at (eval 64460) line 1.

Habe es jetzt so gelöst :

attr Anrufliste2 valueFormat {if($READING =~ 'B[0-9]' && length($VALUE) > 10) {$VALUE = substr($VALUE, 6, 5).'-'.substr($VALUE, 0, 5)}}

Im Logfile ist übrigens noch ein störender Zeilenumbruch drin :

2015.01.15 09:23:56 3:
TM_Monitor: status:  ring

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

cotecmania

Hallo,

neues Problem : "method-ring" funktioniert nicht

2015.01.15 19:33:56 3:
TM_Monitor: status:  ring
2015.01.15 19:33:56 3: Anruf (ring) von Bond James 007 callID: 0
2015.01.15 19:33:56 3: TM_Proc:  action set DS_TabletDisplay on
2015.01.15 19:33:56 2: IT set ELRO_B on


Die IT-Steckdose schaltet nicht obwohl im Logfile korrekt drin.
Wenn ich diesen Befehl manuell in FHEM absetzte schaltet die Dose immer zuverlässig !

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

AET_FHEM

Hallo

ich wollte das Thema auch mal testen leider bekomm ich die Meldung:

Subroutine myUtilsTelefon_Initialize redefined at ./FHEM/99_myUtilsTM.pm line 22, <$fh> line 7.
Subroutine SendSMS redefined at ./FHEM/99_myUtilsTM.pm line 34, <$fh> line 7.
Subroutine FBCall redefined at ./FHEM/99_myUtilsTM.pm line 46, <$fh> line 7.
Subroutine FBHangOn redefined at ./FHEM/99_myUtilsTM.pm line 61, <$fh> line 7.
Subroutine TelefonAktion redefined at ./FHEM/99_myUtilsTM.pm line 72, <$fh> line 7.
Subroutine EventZeit redefined at ./FHEM/99_myUtilsTM.pm line 96, <$fh> line 7.
Useless use of a variable in void context at ./FHEM/99_myUtilsTM.pm line 184, <$fh> line 7.
Subroutine TelefonMonitor redefined at ./FHEM/99_myUtilsTM.pm line 105, <$fh> line 7.

hab ich was falsch gemacht?
wollte es zuerst mit Callmonitor für Anfänger umsetzen und bin dann auf den Beitrag gestoßen ....

Elektrolurch

Du hast jetzt zwei verschiedenen Versionen.

Die 99_myUtilsTelefon brauchst Du nicht mehr. Für den TM ist nur die 99_myUtilsTM notwendig.
Auch das notify auf das FBCallMonitor - Objekt kannst Du löschen.
(siehe Beitrag 1 vom TM)

Elektrolurch
configDB und Windows befreite Zone!