InfoFrame: Digitaler Bilderrahmen (Anzeige von Anrufen, E-Mails, Termine, Wetter...)

Hallo Peter,

dann lass uns doch nicht dumm sterben:p Mich würde sehr interessieren, ob ich einen Fehler in meinem Plugin habe, der bei mir nur noch nicht aufgetreten ist.
Poste doch bitte mal das Plugin.

Die Seite clever-tanken verarbeitet tatsächlich auch den Text bei der Eingabe, gut zu wissen.

Gruß, Michael...

Hallo jono.

Das sind die minimalen Einstellungen.
Du kannst das google-api-client-master hinkopieren wo du willst, solange du das mit require_once /irgend/ein/pfad/auf/deinem/computer/autoload.php; im code einbindest.

Gruß, Michael...
 
Callmonitor mit listen2fritz

Hallo jono.

Was willst Du mit zwei Callmonitoren? Wenn der Callmonitor sowieso auf der Box läuft, brauchst Du listen2fritz nicht. Du musst Dir dann nur das original CallsPlugin und Tabellen aus dem Anfangspost runterladen. Ich habe seinerzeit die Variante "Callmonitor auf den Pi" bevorzugt, weil ich dann kein Freetz aufspielen muss.

Aber egal, das musst Du wissen.

Für die Sourcen ist /usr/src immer ein gute wahl.

Ich habe folgende Ändeungen vorgenommen (ZIP im Anhang):
  • der LogEvent wurde um Type und Image erweitert.
  • Bei alten Anschlüssen wird von der Fritzbox POTS statt der Nummer angezeigt. Abschnitt [fritzboxfon] in der config wurde um die Option POTS=Meine Nummer erweitert. Damit kann man dann wieder die korrekte Nummer einstellen.
  • Abschnitt [log:mysql] in der config um lognumber erweitert. Ich möchte nur bestimmte Nummern loggen.
  • Abschnitt [notify:script] Option call um die parameter in:request, in:connect in:disconnect und in:cancel und das gleiche für out:* erweitert. Die Parameter, die man auch vom Callmonitor in Freetz kennt.

Folgende Pakete mit mit apt-get install installieren, falls nicht bereits vorhanden.
  • libreadline6-dev
  • libmysqlclient-dev

In /usr/src/listen2fritz dann ein ./configure
und wenn das durchgelaufen ist ein make

Wenn alles gut gegangen ist, liegt in /usr/src/listen2fritz/src jetzt Deine ausführbare listen2fritz. Diese in ein bin-Verzeichnis kopieren (z.B. /usr/local/bin) und die angpasste listen2fritz.conf nach /etc kopieren. Für den automatischen Start beim Hochfahren des Systems lasse ich /usr/local/bin/listen2fritz durch die /etc/rc.local starten. Bitte nicht make install verwenden, das setzt eine SUSE-Umgebung voraus und funktioniert nicht korrekt.

Funktionsweise:
  • listen2fritz horcht auf dem Port 1012 der Fritzbox tritt bei Bedarf in Aktion.
  • listen2fritz schreibt Anrufe in die Tabelle if_call_log und ruft infoframe.php auf, damit die Anrufinformationen sofort angezeit werden.
  • das CallsPlugin übernimmt dann alles weitere: Ausgabe von Nummer, Type und Bild anhand der Daten von if_call_log.
  • als Telefonbuch benutzt listen2fritz if_phonebook.
  • if_phonebook lasse ich einmal täglich per cron mittels /var/www/GoogleContactsUpdate.php mit meinen Google Kontakten aktualisieren. Die Bilder der Kontakte liegen in /var/www/cache/google_contacts_images

Viel Spass :)

P.S. /var/www/GoogleContactsUpdate.php holt sich auch die Geburtstage aus den Kontakten und schreibt sie in if_calendar.
 

Anhänge

  • listen2fritz-0.9.4-changes.zip
    17.5 KB · Aufrufe: 14
Zuletzt bearbeitet:
Hallo Michael,
danke für die ausführliche Beschreibung.

Was willst Du mit zwei Callmonitoren? Wenn der Callmonitor sowieso auf der Box läuft, brauchst Du listen2fritz nicht. Du musst Dir dann nur das original CallsPlugin und Tabellen aus dem Anfangspost runterladen. Ich habe seinerzeit die Variante "Callmonitor auf den Pi" bevorzugt, weil ich dann kein Freetz aufspielen muss.

Ich brauche natürlich nur einen Callmonitor. Ich möchte den von der FB nutzen. Das originale CallsPlugin aus deinem Paket habe ich ja, aber welche Tabellen meinst du?
 
Hallo jono.

das CallsPlugin aus meinem Paket ist mit nichten das Originale.
Im ersten Post dieses Threads findest Du das Original. Da meine Tabellen auf listen2fritz angepasst sind musst Du diese natürlich auch ändern. Wie die Tabelle für das Original aufgebaut ist, findest Du in der original dbconn.php. Entsprechend kannst Du dann natürlich if_call_log und if_phonebook löschen und den Code zu Erstellung der Tabellen aus der dbconn entfernen.

Des weiteren musst Du dann in der infoframe.php folgenden Code hinter den Block foreach ($config as $key=>$elem){... blah blah...} wieder einfügen. Das ist so um die Zeile 63/64.

PHP:
// process call action if exist
if(($_GET['action'] == 'call') && $plugins['CallsPlugin'])
{
	$plugins['CallsPlugin']->processCallEvent($_GET['event'], $_GET['src_name'], $_GET['src_address'], $_GET['dst_name'], $_GET['dst_address'], $_GET['duration']);
}

Ich weiß nicht, wie Du die Anzeige realisierst, aber ich meine gelesen zu haben, dass ein Browser läuft um das Bild anzuzeigen. Für den CallPlugin sollte die Anzeige natürlich, bei einem eingehenden Anruf, innerhalb einer angemessenen Zeit reagieren, der Callmonitor von der Fritzbox muss also mit geeignetem Script und Parametern den Browser auf deinem Odroid anschubsen. Mir fällt da so ad hoc nichts ein, vielleicht hat einer Anderer aus der InfoFrame-Gemeinde ein ähnliches Setup laufen und kann hier seine Erfahrungen einbringen?

Gruß, Michael...

EDIT:
funktioniert eigentlich das MailPlugin?
 
Zuletzt bearbeitet:
Hallo Michael,
vielen Dank für deine ausführliche Antwort.
Folgende Prämissen habe ich für infoframe aud dem Odroid-C1 (ca. 5 -8 mal mehr Leistung als RasPi):

1. Fritzbox hat das originale OS, im Moment 6.05, weil mehrere Programme darauf laufen, die bei einem Neustart der Box unbedingt gestartet werden müssen
2. infoframe hat ein 9"-Touch-Display (Odroid-VU) mit 1280 x 800 Auflösung, darauf habe die config.ini umgestellt, das sieht sehr gut im Firefox aus
3. CallsPlugin: Fritbox <----> listen2fritz ----> infoframe (CallsPlugin), so habe ich deine Installation verstanden, so soll es auch bei mir sein
4. Folgende PlugIns sollen bei mir laufen:
- Wetter
- Kalender mit Terminen
- Sonne und Mond
- CallsPlugin
- FeedPlugin, ev. verschiedene
- BenziPlugin
- möglicherweise auch das EFAPlugin, da habe ich aber noch nicht die äquivalente Seite im Netz gefunden
- SlidePlugin, Start auch über Touchpanel möglich
5. das MailPlugin habe ich nicht ausprobiert, könnte ich aber machen, wenn der Rest läuft

Was nicht läuft: Kalender, CallsPlugin, hier bin ich mir nicht sicher, ob nicht ein oder mehrere Pakete fehlen, weil das OS für den kleinen Odroid verschlankt wurde.
Für das CallsPlugin würde ich schon auf listen2fritz setzen. Das FritzBox OS bleibt auch zukünftig das Originale.
Die zusätzlichen Programme auf der FB laufen später auf dem Odroid, das funktioniert bereits.

Hallo jono.

[*]der LogEvent wurde um Type und Image erweitert.
[*]Bei alten Anschlüssen wird von der Fritzbox POTS statt der Nummer angezeigt. Abschnitt [fritzboxfon] in der config wurde um die Option POTS=Meine Nummer erweitert. Damit kann man dann wieder die korrekte Nummer einstellen.
[*]Abschnitt [log:mysql] in der config um lognumber erweitert. Ich möchte nur bestimmte Nummern loggen.
[*]Abschnitt [notify:script] Option call um die parameter in:request, in:connect in:disconnect und in:cancel und das gleiche für out:* erweitert. Die Parameter, die man auch vom Callmonitor in Freetz kennt.
[/LIST]

P.S. /var/www/GoogleContactsUpdate.php holt sich auch die Geburtstage aus den Kontakten und schreibt sie in if_calendar.

Hallo Michael,
ich habe, so wie du vorgeschlagen hast, alles umgesetzt. Was geht:
listen2fritz wird automatisch gestartet
in /var/log/listen2fritz.log stehen meine Anrufe
Was nicht geht:
es erfogt kein Eintrag in die Datenbank, deshalb folgende Fragen:
1. [notify:script]
script=/path/to/script/script.sh welches script ist gemeint?
2. [notify:script]
script=wget "http://infoframe/infoframe.php" -qO /dev/null muss da noch localhost davor?
3. was heist out, was soll dahinter? out steht ja nicht im script
4. POTS habe ich vorerst auskommentiert
5. muss nach Änderung des Scriptes neu kompiliert werden?
Vielen Dank für deine Hilfe!
 
listen2fritz

Hallo jono,

Was nicht geht:
es erfogt kein Eintrag in die Datenbank
darum kümmert sich in der listen2fritz.conf die Section
[log:mysql]
host=localhost
username=user
password=secret
database=InfoFrame
table=if_call_log
lognumber=123456welchenummersollgeloggtwerden

1. [notify:script]
script=/path/to/script/script.sh welches script ist gemeint?
ein Script, welches Du Dir selbst schreibst ;)

2. [notify:script]
script=wget "http://infoframe/infoframe.php" -qO /dev/null muss da noch localhost davor?
nee, gegen infoframe tauschen, so ist der Hostname meines Raspis. Aber das ist doch nur ein Beispiel. Dieser Aufruf macht bei Dir doch keinen Sinn, da Du das Bild ganz anders anzeigen lässt.
Du bräuchtest ein Script, welches den Firefox veranlasst die Seite http://localhost/infoframe.php neu zu laden.

3. was heist out, was soll dahinter? out steht ja nicht im script
och Möönsch, denk doch mal mit. :mad: Da steht out:*. ich war etwas schreibfaul, es gibt auch out:request, out:connect, etc. Halt das gleiche wie für in:* nur halt für ausgehende Verbindungen.
Die Section [notify:script] definiert ein Script, welches bei einer bestimmten Aktion call und bestimmten Nummern called_number, caller number aufgerufen wird. Siehe dazu auch das Beispiel in den listen2fritz Sourcen.

Beispiel:
[notify:script]
script=/root/loesche_meine_festplatte.sh
call=in:connect
called_number=123456789
caller_number=558456

[notify:script]
script=/root/MeineFrauRuftWiederBeiZalandoAn.sh
call=out:request
called_number=564651235

wenn die Nummer 123456789 von der Nummer 558456 angeruden wird und die Verbindung zustande kommt (in:connect) wird das script /root/loesche_meine_festplatte.sh ausgeführt.
wenn die Nummer 564651235 gewählt wurde wird das Script /root/MeineFrauRuftWiederBeiZalandoAn.sh ausgeführt.

4. POTS habe ich vorerst auskommentiert
wie beschrieben brauchst Du es ja auch nur, wenn du einen alten Festanschluss hast

5. muss nach Änderung des Scriptes neu kompiliert werden?
nein.

Solange Du testest würde ich das automatische Starten in der rc.local unterbinden und listen2fritz von der Console mit dem Parameter "-f" von Hand aufrufen, da siehst Du dann genau, was passiert.

Gruß, Michael...
 
Hallo Michael,
diesen Fehler habe ich gefunden:
Code:
7:17:19 listen2fritz[2414]:DEBUG:log_mysql.c:l2f_LOG_MYSQL_process:85: logging to mysql database ...
2015-01-22 17:17:19 listen2fritz[2414]:CRIT:log_mysql.c:l2f_LOG_MYSQL_process:96: [4] not configured -- skipped
2015-01-22 17:17:19 listen2fritz[2414]:DEBUG:log_mysql.c:l2f_LOG_MYSQL_process:192: complete
 
am ende des configure scripts kommt so was in der Art:
[...]
LDAP support : no
MYSQL support : yes
CURL support : no
logging to file : yes
logging to mysql : yes
lookup via ldap : no
lookup via mysql : yes
lookup via script : yes
notify via dreambox : no
notify via irc : yes
notify via mail : yes
notify via script : yes
notify via callback : no
[...]
MYSQL support muss auf yes stehen sonst funktionierts nicht.

hast Du libmysqlclient-dev installiert?

Nachtrag: Ich weiß jetzt nicht genau, ob die nötig sind, aber installier gleich libmysqlclient16 und libmysqlclient18 mit.
 
Zuletzt bearbeitet:
Hallo Michael,
das habe ich am Ende von configure gefunden:
Code:
#       summarize the configuration
#
echo "LDAP support        : $LDAP_ENABLED"
echo "MYSQL support       : $MYSQL_ENABLED"
echo "CURL support        : $CURL_ENABLED"
echo "logging to file     : $L2F_LOGGING_FILE"
echo "logging to mysql    : $L2F_LOGGING_MYSQL"
echo "lookup via ldap     : $L2F_LOOKUP_LDAP"
echo "lookup via mysql    : $L2F_LOOKUP_MYSQL"
usw.
libmysqlclient-dev ist installiert.
Diese lib libmysqlclient16 gibt es nicht und diese libmysqlclient18 war schon im System.
 
Zuletzt bearbeitet:
Hallo Michael,
ich bin 1mm weiter gekommen. Jetzt ist ein Datensatz im if_call_log gelandet, aber ohne Rufnummer. Da muss ich mal die Reihenfolge der Datensätze mit den angelieferten Daten vergleichen. Bis Duration ist belegt, die Callernummer und folgende Felder sind frei. Im Firefox ist keine Anzeige erschienen.
 
echo "LDAP support : $LDAP_ENABLED"
echo "MYSQL support : $MYSQL_ENABLED"
echo "CURL support : $CURL_ENABLED"
echo "logging to file : $L2F_LOGGING_FILE"
echo "logging to mysql : $L2F_LOGGING_MYSQL"
echo "lookup via ldap : $L2F_LOOKUP_LDAP"
echo "lookup via mysql : $L2F_LOOKUP_MYSQL"

Du bringst mich noch ins Grab :beerdigu: Es geht natürlich um die Ausgabe von configure, nicht um das script selbst.

die Callernummer und folgende Felder sind frei.
*_name und *_type werden anhand der Nummern aus if_phonebook geholt. Wenn keine Nummern übertragen werden bleiben die leer.

Im Firefox ist keine Anzeige erschienen.
Woher soll denn der Firefox auch wissen, dass Du angerufen wurdest?
Ich gebs auf, sorry...
 
Zuletzt bearbeitet:
Hallo marvin424,

ich habe mir jetzt auch ein Raspberry Pi zugelegt. Wäre es Dir möglich ein HowTo (ähnlich der Seite 1 aus diesem Thread) zu schreiben und evtl. modifizierte Dateien uns zur Verfügung zu stellen?
Ganz ehrlich seit dem erwähnen des Raspberry Pi Infoframe´s, bin ich echt neugierig geworden und finde die Idee ganz praktisch.

Es würde die Suche nach "teure" WLAN Bilderrahmen erübrigen sowie die Modifikation der FritzBox mit freetz. Nicht das ich freetz nicht toll finde, jedoch habe ich es immer nur wegen dem Infoframe aufgespielt.

Hoffe auf ein positives Feedback deinerseits :)
 
Du bringst mich noch ins Grab :beerdigu: Es geht natürlich um die Ausgabe von configure, nicht um das script selbst.

Bitte schön, klare Ansage, klares Ergebnis:
Code:
config.status: executing depfiles commands
LDAP support        : yes
MYSQL support       : yes
CURL support        : no
logging to file     : yes
logging to mysql    : yes
lookup via ldap     : yes
lookup via mysql    : yes
lookup via script   : yes
notify via dreambox : no
notify via irc      : yes
notify via mail     : yes
notify via script   : yes
notify via callback : no
 
@ht81

bei mir läuft das ganzen ebenfalls seit geraumer Zeit auf dem Raspi. Allerdings hat er nur den Part der Fritzbox (siehe Seite 1) übernommen. Läuft super und ist eigentlich ziemlich einfach einzurichten. Also wenn du eh Webspace nutzt, wäre es vielleicht ne Alternative.
 
@h-p-d

Das ist mein Stand auch. Aber die Box komplett abzulösen wäre echt einen Gedanken wert. Das sind aber zwei Baustellen: Callmonitor durch listen2fritz ersetzen und dann der "wget" des Bildes vom Raspi auf die Box um es dann wieder über den Mediaserver der Box auf den Philips zu bekommen....
 
Versteh ich das richtig das bei dir dann der Mediaserver noch auf der Box läuf? Geht doch komplett auf dem Raspi. Die Fritzbox ist nur noch als Router, ungefreezt, dabei. Callmonitor ist von Haus aus dabei. Ich lass mich aber mit einer Mail von der Fritzbox informieren, wenn anrufe waren. Die werden an eine eigens eingerichtete e-Mailadresse verschickt und im Mailplugin gesondert dargestellt. Somit ist listen2fritz für mich nicht erforderlich.
 
InfoFrame HowTo

Hallo ht81,
ok, ich hatte sowieso ein paar Aufzeichnungen, jetzt gab es wenigstens einen Grund die "Losezettelsammlung" zu ordnen.
Für das Howto habe ich wie von eisbärin gewünscht ein neues Thema aufgemacht:
InfoFrame: Digitaler Bilderrahmen auf dem Raspberry PI

@eisbärin,
gute Idee

Gruß, Michael...
 
Zuletzt bearbeitet:
Danke! Sehr schön gemacht.
Meine Empfehlung und Wunsch ist, daß du damit in einem neuen Thema anfängst und hier nur ein Link rein kommt. Alleine schon wegen der Länge dieses Themas.
 
Versteh ich das richtig das bei dir dann der Mediaserver noch auf der Box läuf? Geht doch komplett auf dem Raspi

Ja, der läuft noch auf der Box. Kannst Du mich kurz auf den Weg bringen, wie ich den Raspi hier in die Pflicht nehme?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.