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

Hallo,
erst einmal ein gesundes neues und erfolgreiches Jahr.
Ich habe folgendes gemacht:
sudo apt-get install --reinstall mysql-server mysql-client
dann
sudo ps -aux | grep mysql
Ergebnis etwas gekürzt:
root 7898 0.0 0.0 1392 484 pts/1 S 12:40 0:00 /bin/sh /usr/bin/mysqld_safe
mysql 8249 0.3 1.6 315040 32868 pts/1 Sl 12:40 0:08 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/lib/mysqld/mysqld.pid --socket=/var/lib/mysqld/mysqld.sock --port=3306
Trotzdem Fehlermeldung im Firefox beim Starten von infoframe:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)
Auffällig ist: --socket=/var/lib/mysqld/mysqld.sock --port=3306 das zusätzliche d an mysqld.sock gegenüber der Fehlermeldung eine Zeile höher
 
Was mit aufgefallen ist:
Code:
root@SERVER:/var/lib# l /var/lib | grep mysql
drwx------ 12 mysql  mysql   4,0K Jan  2 06:59 mysql

root@SERVER:/var/lib# l /var/run/ | grep mysql
drwxr-xr-x  2 mysql       root          80 Jan  2 06:59 mysqld

root@SERVER:/var/lib# l /var/run/mysqld/mysqld.sock
srwxrwxrwx 1 mysql mysql 0 Jan  2 06:59 /var/run/mysqld/mysqld.sock

du kannst das ganze in der console testen:
mysql -u"user" -p"passwort" (beides mal kein leerzeichen zwischen option und argument) Ich würde das ganze als root testen, damit du jedem zufriffsproblem aus dem weg gehst.
Falls der zugriff mit root klappt, kannst du das ganze auch mit dem user infoframe, oder wie auch immer versuchen.

Falls es mit root nicht klappt schau dir mal die config von mysql an zu finden unter: /etc/mysql/my.cnf
Code:
[client]
.....
socket		= /var/run/mysqld/mysqld.sock
......
[mysqld]
....
socket					= /var/run/mysqld/mysqld.sock
....
stehen unter client und mysqld der selbe pfad zu mysqld.sock -datei?

wenn ja, dann vergleiche mit der php-config. Default config ist /etc/php5/apache2/php.ini
Code:
[MySQL]
....
; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
; http://php.net/mysql.default-port
mysql.default_port =

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
mysql.default_socket =
....
evlt in der php.ini den default_socket aus der my.cnf eintragen

Onkel Google spricht:
http://dev.mysql.com/doc/refman/4.1/en/problems-with-mysql-sock.html
 
Zuletzt bearbeitet:
Tag zusammen,

hat Google irgendwas verändert? Seit ein paar Tagen wird bei mir der Google Kalender im Infoframe nicht angezeigt.

Leute, kann mir jemand bitte helfen das Problem herauszufinden? Wie bereits erwähnt, die Einstellungen habe ich nicht verändert auch die Login Daten zum Google Calender passen. In welcher Log-Datei könnte der Fehler abgebildet sein?

Hier der Auszug aus der config.ini:

[CalendarPlugin]
; Hinweis: Alle auf der Google-Seite selektierten Kalender werden auch hier angezeigt.
; Sollen bestimmte Kalender ausgeblendet werden, müssen diese im Google-Kalender deselektiert (nicht entfernt!) werden.
user = "benutzer"
password = "password"
; Anzahl der angezeigten Tage (3 = heute, morgen und übermorgen)
number_of_days = 5
 
Zuletzt bearbeitet:
He zusammen
So mein Benzinplugin läuft jetzt auch super,ich habe das Benzinplugin MTS verwendet läuft super,auch die Aktuallisierung des Datums funktioniert.

Ihr habt mich jetzt neugierig gemacht mit dem Callplugin.Wie läuft das mit dem Callmonitor auf der Box??
Gibt es schon ein fertiges Plugin ??


Volker
 
Hallo Volker,
in der Urfassung läuft der Callmonitor auf der Fritzbox und ruft den Infoframe mit entsprechenden Parametern auf, die Infoframe-Software kümmert sich um alles Weitere. Wenn man allerdings, so wie wir, einen eigenen Server laufen hat, kann man sich diesen Umweg sparen und den Callmonitor auf dem Server laufen lassen. Er nutzt die Anrufmeldung auf Port 1012 der Originalfirmware und kann dann ohne Umwege über den Infoframe direkt auf Infoframe Tabellen zugreifen, das ist bei eingehenden Anrufen ein wenig schneller, der größte Vorteil ist aber, dass der Infoframe auch mit Originalfirmware läuft.
Wie bereits in einem Artikel geschrieben, habe ich listen2fritz von http://www.gromeck.de/projekte/software/listen2fritz/ genommen und für mich angepasst. Ob es eine ähnliche Software für Deinen Windowsserver gibt weiss ich nicht, musst Du mal Google fragen, der weiss das bestimmt :)

Gruß, Michael...
 
Hallo Michael.
Danke für Deine Erklärung.Interessant wäre diese Geschichte nur, wenn man die Orginal Firmware verwenden kann.Ich hatte neulich Probleme mit meinem DSL. Da musste ich immer wieder von Freetz zurück zur Orginalfirmware da AVM immer die Logs haben wollte.Und der jetzige Callmonitor funktioniert bei mir halt nicht sehr zuverlässig.Im Moment geht er halt nicht.Fehler jetzt keine Anzeige im Infoframe.
Fehler bei Testanruf im FreetzCallmonitor
Code:
[0:0] processing rule '*:*' '^' '^' '/var/tmp/infoframe/refresh.sh "action=call&event=$EVENT&src_name=$(urlencode "$SOURCE_NAME")&src_address=$(urlencode "$SOURCE_ADDRESS")&dst_name=$(urlencode "$DEST_NAME")&dst_address=$(urlencode "$DEST_ADDRESS")&duration=$DURATION"'
[0:0] event 'in:request' matches pattern '*:*'
[0:0] parameter SOURCE='********' matches pattern '^'
[0:0] parameter DEST='**********' matches pattern '^'
[0:0] SUCCEEDED
[0:0] ACTION: '/var/tmp/infoframe/refresh.sh "action=call&event=$EVENT&src_name=$(urlencode "$SOURCE_NAME")&src_address=$(urlencode "$SOURCE_ADDRESS")&dst_name=$(urlencode "$DEST_NAME")&dst_address=$(urlencode "$DEST_ADDRESS")&duration=$DURATION"'
Connecting to 192.168.178.20 (192.168.178.20:80)

tmp.jpg              100% |*******************************|    65   0:00:00 ETA
Connecting to 192.168.178.20 (192.168.178.20:80)

tmp.jpg              100% |*******************************|    65   0:00:00 ETA
Connecting to 192.168.178.20 (192.168.178.20:80)

tmp.jpg              100% |*******************************|    65   0:00:00 ETA
Connecting to 192.168.178.29:5050 (192.168.178.29:5050)
wget: can't connect to remote host (192.168.178.29): Connection refused
Connecting to 192.168.178.29:5050 (192.168.178.29:5050)
wget: can't connect to remote host (192.168.178.29): Connection refused
Connecting to 192.168.178.29:5050 (192.168.178.29:5050)
wget: can't connect to remote host (192.168.178.29): Connection refused
[0:0] action failed with an exit status of 1

Die Nummern bei Source und Dest habe ich entfernt.

Hast Du ne Idee?? Kann es sein das es mit der neuen AVM Firmware 6.05 zu tun hat???




Volker
 
Zuletzt bearbeitet:
Hallo Volker,
Code:
[...]
Connecting to 192.168.178.[B][COLOR="#FF0000"]20[/COLOR][/B] (192.168.178.20:80)
[...]
wget: can't connect to remote host (192.168.178.[B][COLOR="#FF0000"]29[/COLOR][/B]): Connection refused
[...]
Hast Du ne Idee?? Kann es sein das es mit der neuen AVM Firmware 6.05 zu tun hat???
ich glaube nicht, der Fehler kommt doch erst in der refresh.sh.
Kann es sein, dass Dein Rahmen nach upgrade auf die neue Firmware eine neue IP-Adresse bekommen hat, du in der refresh.sh aber noch die alte stehen hast?

Gruß, Michael...
 
Hallo Michael
Also das habe ich kontrolliert.Mein Rechner wo Infoframe läuft hat die 20 und der Rahmen die 29.
Das sehe ich sowohl im Rahmen als auch in der Box.

Volker
 
Poste doch mal Deine refresh.sh
 
Code:
#!/bin/sh
# refresh infoframe image

# config
localpath="/var/tmp/infoframe"
serverscript="http://root:[email protected]/infoframe/index.php"
samsung_ip_address="192.168.178.29"
samsung_rss_id="143560439"

# try 3 times to download picture until error is displayed
tries=1
while true
do
	# download new picture
	wget "$serverscript?$1" -O $localpath/tmp.jpg
	# do some checks (error/warning string in file? downloaded file should be at least 10k of size?)
	# if error occured we do a next try
	err=0
	warn=0
	filesize=0
	if [ -f $localpath/tmp.jpg ]
	then
		err=`grep -i 'error' $localpath/tmp.jpg | wc -l`
		warn=`grep -i 'warning' $localpath/tmp.jpg | wc -l`
		filesize=`du $localpath/tmp.jpg | cut -f1`
	fi
	
	
	# process checking result
	if [ $err == 0 ] && [ $warn == 0 ] && [ $filesize -ge 10 ]
	then
		mv $localpath/tmp.jpg $localpath/info.jpg
		break
	else
		if [ $tries -ge 3 ]
		then
			date +%d-%m-%Y_%H-%M-%S >> $localpath/download.log
			echo "*** ERROR OR WARNING FOUND: filesize= $filesize ***" >> $localpath/download.log
			rm $localpath/tmp.jpg 2> /dev/null
			cp $localpath/error.jpg $localpath/info.jpg
			break
		else
			# just wait some seconds, then try again
			tries=$(expr $tries + 1)
			sleep 5
		fi
	fi
done


# Samsung SPF-83v specific tasks
# ===============================
# disable and enable picture cache for this rss feed to make immediately refresh possible
wget -s "http://$samsung_ip_address:5050/configuration/storage.htm?CheckRssNameId=$samsung_rss_id&Checked=false"
wget -s "http://$samsung_ip_address:5050/configuration/storage.htm?CheckRssNameId=$samsung_rss_id&Checked=true"
# force samsung picture frame to immediately refresh picture by simulate clicking on "next" in web interface
wget -s "http://$samsung_ip_address:5050/configuration/photo_frame.htm?next"

Die Probleme habe ich von Anfang an, mal ging es mal nicht.
Spoo3ner hat da auch schon mal geschaut.Damals dachten wir es liegt an der Datenbankabfrage.
Kannst hier nochmal nachlesen.http://www.ip-phone-forum.de/showthread.php?t=206194&page=97 post 1936.
Das Tauschen das Plugins hat nichts gebracht. Auch das Umstellen der Datenbank brachte jetzt keinen Erfolg.

Volker
 
Deine refresh.sh geht von einem Fehler aus, wenn das Bild kleiner als 10 Blocks ist.
Es könnte doch sein, dass korrekte Bilder auch mal kleiner sein können.
Füge doch mal den Parameter "-b" in die Zeile
Code:
filesize=`du $localpath/tmp.jpg | cut -f1`
ein, also:
Code:
filesize=`du -b $localpath/tmp.jpg | cut -f1`
 
Hi Michael
Danke für deine Hilfe . Leider ist der Fehler immer noch der Gleiche.
Ich tippe immer noch auf einen Datenbankfehler ,weil die IF Calls in der Datenbank immer leer ist.

Volker
 
Hallo Volker,
zumindest liegt es nicht am Callmonitor sondern am Plugin. Mit einem anderen Callmonitor hättest Du also die gleichen Probleme.
 
Ja, nur da konnte ich es mit Tausch vom Plugin und Neuanlegen der Datenbank beheben.Jetzt funktioniert dieser Trick leider nicht mehr.
Aber ist auch nicht so schlimm,ich hab ja noch eine analoge Anzeige an meiner Fritzbox die mir verpasste Anrufe anzeigt.
Ich bin so froh das der Rest jetzt läuft.:D:D Vielleicht wird das Projekt mit dem fritzeigenen Callmonitor nochmal aufgegriffen.
Ich warte mal ab.


Danke für deine Hilfe

Volker
 
Hallo zusammen
Hat mir ja keine Ruhe gelassen mit dem Callplugin.Ich habe mich nochmal auf Fehlersuche begeben und bin fast fündig geworden.Es liegt an der neuen xampp Version.
Ich habe es mit meiner alten xampp Versoin getestet ,da funktioniert es.Datenbank ist mit latin1 erstellt ,genau wie meinen.Auch die Plugins sind identisch.Ich habe sie auch getauscht,ohne Erfolg.
Dann habe ich noch alle "extension" in der php.ini kontrolliert auch alles identisch.Dann habe ich zum Test die funktionierende php.ini in das nicht funktionierende xampp kopiert,hat aber auch nicht funktioniert.
Woran kann es denn jetzt noch liegen??

Volker
 
CallPlugin

Hallo Volker,

letzter Versuch :)

Wenn es sich um ein Problem mit dem Zeichensatz handelt, versuch mal folgendes: Du solltest in der CallPlugin.php am Ende eine Funktion addCall haben.
PHP:
private function addCall($type, $name, $address, $duration) {
	if ($name == "")
	$name = 'Unbekannt';
	$query = "INSERT INTO if_calls (id, type, timestamp, name, address, duration) VALUES (NULL, $type, CURRENT_TIMESTAMP, '$name', '$address', $duration)";
	// [...]
}

tasuche das "$query=..." mal gegen
PHP:
$query = "INSERT INTO if_calls (id, type, timestamp, name, address, duration) VALUES (NULL, $type, CURRENT_TIMESTAMP, '".mysql_real_escape_string($name)."', '".mysql_real_escape_string($address)."', $duration)";

Wenn es dann immer noch nicht funkt, gebe ich auf.

Gruß...
 
Zuletzt bearbeitet:
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.