Neues Modul Telefonmonitor (TM)

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

Vorheriges Thema - Nächstes Thema

kvo1

Hallo Markus


ich bekomme aus dem Callmonitor folgende Meldung

Zitat2015.06.09 21:03:21 3: NTFY return:  FB7272:could not identify remote phonebooks


Ist aber vorhanden !
reverse-search-phonebook-file               ./log/Fritz_Box_Telefonbuch.xml

sorry , sicher ganz trivial ?

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Markus Bloch

Hallo klaus,
zeig mal bitte deine gesamte Attributsliste von deinem Callmonitor-Device

Danke
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)

kvo1

Hallo Markus,
hier bitte

define FB7272 FB_CALLMONITOR 192.168.69.1
attr FB7272 country-code 0049
attr FB7272 fritzbox-remote-phonebook 1
attr FB7272 fritzbox-remote-phonebook-via web
attr FB7272 group FritzBox Callmonitor
attr FB7272 icon phone_dial@LightSeaGreen
attr FB7272 local-area-code 030
attr FB7272 reverse-search dasoertliche.de,phonebook,textfile,klicktel.de
attr FB7272 reverse-search-cache 1
attr FB7272 reverse-search-cache-file /opt/fhem/callmoncache.txt
attr FB7272 reverse-search-phonebook-file ./log/Fritz_Box_Telefonbuch.xml
attr FB7272 reverse-search-text-file /opt/fhem/textfile.txt
attr FB7272 room Telefon

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Markus Bloch

Zitat von: Tom_S am 09 Juni 2015, 21:04:13
jetzt weis ich auch, warum mir das noch nicht aufgefallen ist. Auf dem Raspi geht es ja.
ist dann der Tip für Windows.
Du kannst es ja vielleicht als default für Windows einbauen.

LG Tom_S

Ich habe es bei mir im Modul als Standard "%a, %d %b %Y %H:%M:%S" genommen. Funktioniert unter Linux genauso.

Viele Grüße

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)

Markus Bloch

Zitat von: kvo1 am 09 Juni 2015, 22:15:13
Hallo Markus,
hier bitte

define FB7272 FB_CALLMONITOR 192.168.69.1
attr FB7272 country-code 0049
attr FB7272 fritzbox-remote-phonebook 1
attr FB7272 fritzbox-remote-phonebook-via web
attr FB7272 group FritzBox Callmonitor
attr FB7272 icon phone_dial@LightSeaGreen
attr FB7272 local-area-code 030
attr FB7272 reverse-search dasoertliche.de,phonebook,textfile,klicktel.de
attr FB7272 reverse-search-cache 1
attr FB7272 reverse-search-cache-file /opt/fhem/callmoncache.txt
attr FB7272 reverse-search-phonebook-file ./log/Fritz_Box_Telefonbuch.xml
attr FB7272 reverse-search-text-file /opt/fhem/textfile.txt
attr FB7272 room Telefon

klaus

Hallo Klaus,

sieht eigentlich soweit gut aus. Was steht denn im FHEM Log so, wenn du ein "set FB7272 rereadPhonebook" ausführst?

Wenn du noch das set-Kommando "password" hast, dann musst du noch das Passwort dort mitgeben. Also "set FB7272 password <Passwort>" damit das Modul sich in deiner FritzBox einloggen kann.

Viele Grüße

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: kvo1 am 09 Juni 2015, 19:42:31
@Rene,
könnte es sein das Dir irgend eine Lib fehlt (bist doch auf Debian 8  umgestiegen , oder ?)
ja ich habe Debian 8 Jessie drauf... in der Tat vllt. fehlt echt irgend ein Paket...! Ich weiß es leider nicht

Zitat von: Markus Bloch am 09 Juni 2015, 19:45:11
Erläutere dein Problem mal bitte etwas näher mit ein paar Bildern evtl.

OK ich habe die aktuelle Version von dir installiert. Meine geposteten Fehler bringen nichts.
Wie soll ich jetzt weiter verfahren, was soll ich hier an Bilder, List, einstellen oder Code..?

Vorab mal ein Bild welches mir die leere Liste und darüber meine bisherige Anrufliste anzeigt, wie man sieht gibt es Anrufe die angezeigt werden.

Folgender Fehler passiert bei mir wenn ich in den Attributen der Anrufliste das Attr. "list-type" von all auf incoming setzen möchte... stürzt Fhem komplett ab...
Wenn ich dann mit putty drauf gehe sehe ich "fhem not running", dann starte ich fhem wieder und es erscheinen eine Menge Fehler, zugegeben es sind noch andere Module dabei... aber warum passiert das gerade wenn ich dieses Attribut in der Anrufliste ändern möchte... Ich weiß da leider gar nicht weiter..
Hier mal die Anzeige der fehler beim starten
root@cubietruck:~# /etc/init.d/fhem status
fhem is not running
root@cubietruck:~# /etc/init.d/fhem start
Starting fhem...
Daemon with PID 8685 started!
Can't bind socket: Address already in use
root@cubietruck:~# keys on reference is experimental at ./FHEM/42_SYSMON.pm line                                                                                           4295, <$fh> line 19.
keys on reference is experimental at ./FHEM/42_SYSMON.pm line 4573, <$fh> line 1                                                                                          9.
Using a hash as a reference is deprecated at ./FHEM/72_FB_CALLLIST.pm line 300, <$fh> line 427.
keys on reference is experimental at ./FHEM/72_FB_CALLLIST.pm line 300, <$fh> line 427.
Using a hash as a reference is deprecated at ./FHEM/72_FB_CALLLIST.pm line 324, <$fh> line 427.
keys on reference is experimental at ./FHEM/72_FB_CALLLIST.pm line 324, <$fh> line 427.
Using a hash as a reference is deprecated at ./FHEM/72_FB_CALLLIST.pm line 326, <$fh> line 427.
keys on reference is experimental at ./FHEM/72_FB_CALLLIST.pm line 326, <$fh> line 427.
Using a hash as a reference is deprecated at ./FHEM/72_FB_CALLLIST.pm line 328, <$fh> line 427.
keys on reference is experimental at ./FHEM/72_FB_CALLLIST.pm line 328, <$fh> line 427.
Using a hash as a reference is deprecated at ./FHEM/72_FB_CALLLIST.pm line 330, <$fh> line 427.
keys on reference is experimental at ./FHEM/72_FB_CALLLIST.pm line 330, <$fh> line 427.
Using a hash as a reference is deprecated at ./FHEM/72_FB_CALLLIST.pm line 332, <$fh> line 427.
keys on reference is experimental at ./FHEM/72_FB_CALLLIST.pm line 332, <$fh> line 427.
Using a hash as a reference is deprecated at ./FHEM/72_FB_CALLLIST.pm line 337, <$fh> line 427.
keys on reference is experimental at ./FHEM/72_FB_CALLLIST.pm line 337, <$fh> line 427.
Using a hash as a reference is deprecated at ./FHEM/72_FB_CALLLIST.pm line 475, <$fh> line 427.
keys on reference is experimental at ./FHEM/72_FB_CALLLIST.pm line 475, <$fh> line 427.
each on reference is experimental at ./FHEM/02_RSS.pm line 676, <$fh> line 28.
root@cubietruck:~#


Da wäre doch schon evtl. ein Anhaltspunkt...!
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

#261
Zieh bitte mal die neue Version die ich zuletzt gepostet habe, dort habe ich die angemeckerten stellen geändert. Du hast ein sehr altes Perl, welches an dieser Stelle noch zickig ist, weil das genutzte Feature von Perl bei dir noch "experimental" ist. Das ist aber leider die Philosophie von Debian.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Falls es wieder abstürzen sollte, mach mal bitte folgendes:

1. Starte dein FHEM über Putty in der Konsole neu über /etc/init.d/fhem
2. lass die Konsole offen und geh in den Webbrowser, öffne dein FHEM und führe die Attributänderung wieder durch damit FHEM wieder abstürzt
3. Nun sollte in der Konsole die Fehlermeldung stehen und die bräuchte ich mal

Danke. Das was du aktuell gepostet hast sind nur Warnungen während der Ausführungen. Der eigentliche Fehler ist da aber nicht dabei.

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 09 Juni 2015, 22:34:35
Zieh bitte mal die neue Version die ich zuletzt gepostet habe, dort habe ich die angemeckerten stellen geändert. Du hast ein sehr altes Perl, welches an dieser Stelle noch zickig ist, weil das genutzte Feature von Perl bei dir noch "experimental" ist. Das ist aber leider die Philosophie von Debian.

Kurze Info vorab...! ich glaube die Perl Version ist gar nicht so alt, denn aktuell ist die 5.22
Jetzt mache ich mal das was du vorgeschlagen hast..

Fhem info:
  Release  : 5.6
  OS       : linux
  Arch     : arm-linux-gnueabihf-thread-multi-64int
  Perl     : v5.20.2
  uniqueID : c2dbdbb464be56874da43f89e2f6e62c
  upTime   : 00:11:04
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

moonsorrox

#264
so ich habe fhem mit "/etc/init.d/fhem start" gestartet

Das Attribut geändert und das zeigt er mir in putty
Zitatroot@cubietruck:~# /etc/init.d/fhem start
Starting fhem...
Daemon with PID 9460 started!
Can't bind socket: Address already in use
root@cubietruck:~# Type of argument to keys on reference must be unblessed hashref or arrayref at ./FHEM/72_FB_CALLLIST.pm line 324.

es dauert auch eine ganze Weile bis ich dann fhem erneut wieder starten kann

EDITH:
ich habe noch eine komische Fehlermeldung bekommen:
(process:8939): Pango-WARNING **: error opening config file '/root/.config/pango/pangorc': Permission denied

sieht nach einem Rechte Problem aus...
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

Tausch mal bitte Zeile 324 durch folgende Zeile aus:

        @list = grep {  ($hash->{helper}{DATA}{$_}{direction} ne "incoming") or ($hash->{helper}{DATA}{$_}{direction} eq "incoming" and ++$count > $limit) }  sort {$b <=> $a} keys %{$hash->{helper}{DATA}} if($listtype eq "incoming");
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

kvo1

Zitat von: Markus Bloch am 09 Juni 2015, 22:22:15
Hallo Klaus,

sieht eigentlich soweit gut aus. Was steht denn im FHEM Log so, wenn du ein "set FB7272 rereadPhonebook" ausführst?

Wenn du noch das set-Kommando "password" hast, dann musst du noch das Passwort dort mitgeben. Also "set FB7272 password <Passwort>" damit das Modul sich in deiner FritzBox einloggen kann.

Viele Grüße

Markus
Hallo Markus,
jetzt geht es , ich habe das Passwort nochmal gesetzt ..

2015.06.09 22:51:35 4: FB_CALLMONITOR (FB7272) - identifying available phonebooks
2015.06.09 22:51:35 4: FB_CALLMONITOR (FB7272) - phonebooks successfully identified
2015.06.09 22:51:35 4: FB_CALLMONITOR (FB7272) - found phonebook: Telefonbuch
2015.06.09 22:51:35 3: FB_CALLMONITOR (FB7272) - phonebooks found: Telefonbuch (id: 0)
2015.06.09 22:51:35 4: FB_CALLMONITOR (FB7272) - requesting phonebook id 0 (Telefonbuch)
2015.06.09 22:51:36 4: FB_CALLMONITOR (FB7272) - get export for phonebook: 0
2015.06.09 22:51:36 5: FB_CALLMONITOR (FB7272) - received http response code 200
2015.06.09 22:51:36 4: FB_CALLMONITOR (FB7272) - found A_Papa with number 0170xxxxxxxxxx

Ein GROSSES DANKESCHÖN

Klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

moonsorrox

keine Chance stürzt wieder ab...

Ich denke es liegt auf keinen Fall an der Callist, es sind ja bei dem Absturz noch einige Module dabei die er auch anmeckert.
Das muss ein generelles Problem sein..

Ich habe das auf beiden Systemen auf meinem Testsystem und auch auf dem Produktivsystem...
Da ist bestimmt etwas mit Perl Modulen, denn Debian 8 ist ja recht Neu
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

Ja das kann sein. Einen Versuch hätte ich noch.

Tausche mal bitte die gesamte Funktion FB_CALLLIST_cleanupList() durch diese aus:

#####################################
# cleans up the list from all unwanted entries
sub FB_CALLLIST_cleanupList($)
{
    my ($hash) = @_;
   
    my $name = $hash->{NAME};
    my $limit = int(AttrVal($hash->{NAME}, "number-of-calls", 5));
    my $listtype = AttrVal($hash->{NAME}, "list-type", "all");
    my $count = 0;
    my $index;
   
    my @list;
   
    if(exists($hash->{helper}{DATA}) and (scalar keys %{$hash->{helper}{DATA}}) > 0)
    {
        Log3 $name, 4, "FB_CALLLIST ($name) - cleaning up call list";
       
        if($listtype ne "all")
        {
            @list = grep {  ($hash->{helper}{DATA}{$_}{direction} ne "incoming") or ($hash->{helper}{DATA}{$_}{direction} eq "incoming" and ++$count > $limit) }  sort {$b <=> $a} keys %{$hash->{helper}{DATA}} if($listtype eq "incoming");
           
            @list = grep { ($hash->{helper}{DATA}{$_}{direction} ne "outgoing") or ($hash->{helper}{DATA}{$_}{direction} eq "outgoing" and ++$count > $limit)  } sort {$b <=> $a} keys %$hash->{helper}{DATA} if($listtype eq "outgoing");
           
            @list = grep { ((not $hash->{helper}{DATA}{$_}{running_call}) and (not $hash->{helper}{DATA}{$_}{missed_call}) or $hash->{helper}{DATA}{$_}{direction} eq "outgoing") or ($hash->{helper}{DATA}{$_}{direction} eq "incoming" and $hash->{helper}{DATA}{$_}{missed_call} and  ++$count > $limit)  } sort {$b <=> $a} keys %$hash->{helper}{DATA} if($listtype eq "missed-calls");
           
            @list = grep { (not $hash->{helper}{DATA}{$_}{running_call}) and ++$count > $limit } sort {$b <=> $a} keys %$hash->{helper}{DATA} if($listtype eq "completed");
           
            @list = grep { (not $hash->{helper}{DATA}{$_}{running_call}) or ($hash->{helper}{DATA}{$_}{running_call} and ++$count > $limit)} sort {$b <=> $a} keys %$hash->{helper}{DATA} if($listtype eq "active");

        }
        else
        {
            @list = grep { ++$count > $limit } sort {$b <=> $a} keys %$hash->{helper}{DATA};
        }

        foreach $index (@list)
        {
            Log3 $name, 5, "FB_CALLLIST ($name) - deleting old call $index";
            delete($hash->{helper}{DATA}{$index});
        }
    }
    else
    {
         Log3 $name, 4, "FB_CALLLIST ($name) - list is empty. no cleanup needed";
    }
}
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Zitat von: kvo1 am 09 Juni 2015, 22:56:38
Hallo Markus,
jetzt geht es , ich habe das Passwort nochmal gesetzt ..

2015.06.09 22:51:35 4: FB_CALLMONITOR (FB7272) - identifying available phonebooks
2015.06.09 22:51:35 4: FB_CALLMONITOR (FB7272) - phonebooks successfully identified
2015.06.09 22:51:35 4: FB_CALLMONITOR (FB7272) - found phonebook: Telefonbuch
2015.06.09 22:51:35 3: FB_CALLMONITOR (FB7272) - phonebooks found: Telefonbuch (id: 0)
2015.06.09 22:51:35 4: FB_CALLMONITOR (FB7272) - requesting phonebook id 0 (Telefonbuch)
2015.06.09 22:51:36 4: FB_CALLMONITOR (FB7272) - get export for phonebook: 0
2015.06.09 22:51:36 5: FB_CALLMONITOR (FB7272) - received http response code 200
2015.06.09 22:51:36 4: FB_CALLMONITOR (FB7272) - found A_Papa with number 0170xxxxxxxxxx

Ein GROSSES DANKESCHÖN

Klaus

Super zu hören.

Kleiner Tipp: Sobald man den Namen einer FB_CALLMONITOR-Definition ändert, muss das Passwort neu eingegeben werden, da es an den Devicenamen gebunden ist um Missbrauch zu verhinden.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)