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

Um die Anrufe azeigen zu lassen (was, zumindest nach meinem Empfinden, mit Abstand das beste feature an dem infoframe ist) brauchst du Callmonitor. Um den Bilderrahmen minütlich zu aktualiesieren crontab, was meines wissens auch nur in Freetz zur Verfügung steht.
Die ganze Bildergenerierung läuft auf einem Webserver.

Also um es kurz zu machen: Es geht bestimmt ohne Probleme. Musst allerdings deine Fritzbox freetzen und dir einen Webhoster suchen. :)

So siets das ganze aus zur Zeit:
infoframe.jpg
brauche dringend Paketnummern! :D
 
Zuletzt bearbeitet:
Hallo friday,

verwende mal das Benzinplugin aus diesem Post. Das Problem mit dem Einheitspreis sollte dann nicht mehr auftauchen.

Hallo Spoon3er,

wie machst Du das denn mit den Mondphasen. Wärst Du so nett und würdest Deine Lösung veröffentlichen?
Noch eine Frage: Wie lässt Du denn zwei verschiedene Benzinsorten anzeigen? Hatte da auch schonmal was probiert, hat auf Anhieb aber nicht geklappt. Hast Du hier vielleicht auch einen Tipp? Ich würde gerne Diesel und Super anzeigen lassen. Vielen Dank!

Gruß
Hoobert
 
hi Hoobert,

diese änderung hab ich ja von dort und damit ging es auch wieder, jedoch die letzten tage irgendwie nichtmehr.
komisch, heute stimmt der preis mal wieder.
 
Hallo Spoon3er,

wie machst Du das denn mit den Mondphasen. Wärst Du so nett und würdest Deine Lösung veröffentlichen?
Noch eine Frage: Wie lässt Du denn zwei verschiedene Benzinsorten anzeigen?
...
Hallo Hoobert!

Bei dem Benziplugin habe ich mich damals auch schwer getan. Meine Lösung war einfach alles doppelt anzulegen: Sprich zwei Datenbanken einmal Super, einmal SuperPlus. Dementsprechend auch zwei Plugins und in der config.ini auch zwei Einträge. Nicht schön, aber es funzt. Da mich auch nur ein Ort in dem Plugin interessiert, habe ich die Ort-Schleife herausgenommen. Irgendwie war das eine Art Endlosschleife die bis 20+ Ortschaften hochgezählt hat bei mir. (mit "error_reporting( E_ALL );" aktivierrt)



Ich habe die Mondphasen bisher nur nicht Veröffentlicht, weil ich mir dachte, daß dies sehr speziell ist. :D

Der Aufbau bzw Ablauf des Plugins:
Die Mondphasen werden anhand einer Formel nur recht grob berechnet. Sprich auf +-7Stunden genau. Die Idee und Credits für die Formel gehen an:
http://www.die-seite.eu/wm-mondphasen.php
Die Frotschritsbalken werden anhand der Mondphasen berechnet und dann in den Icons gespeichert. Der Balken wird nur dann neu erzeugt, wenn sich Prozentzahlen ändern. Das Bild wird alle 5% getauscht.
Der Tweet kommt von https://twitter.com/mondkalender. Auch hier ein recht herzliches Dankschön :D
Jeden Tag um 10:00Uhr werden 3 tweets veröffentlicht, die ich in einer xml-datei speichere. Da es nur diese drei tweets gibt hier, hole ich die Infos auch nur einmal am Tag um 10:05 ab. danach, wechsel ich stündlich die Tweetanzeige (damit es nicht allzu langweilig wird) :)

Nun zum Code:
dbconn.php:
PHP:
		// table "if_moon"
	if(mysql_num_rows( mysql_query("SHOW TABLES LIKE 'if_moon'", self::$connection) ) != 1) {
		$query = "CREATE TABLE `if_moon` (
  				`id` int(11) NOT NULL auto_increment,
  				`tweetUpdate` datetime NOT NULL,
  				`balken` int(11) NOT NULL,
  				`tweetNr` int(11) NOT NULL,
  				`tweetRotate` datetime NOT NULL,
  				PRIMARY KEY  (`id`)
  				) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs; ";
		mysql_query($query, self::$connection) or die('Error, insert query failed: '.mysql_error());
	}

Da ich in dem Moonplugin ein neues Bild erzeuge, hat das immer das Infoframe-Bild überschrieben. Deswegen rufe ich das MoonPlugin in der WeatherPlugin.php auf. Innerhalb des doOutputs() ganz unten nach den schleifen habe ich dies hier eingefügt:
PHP:
					// output
					$wicon = ImageCreateFromPNG ( $icon );
					ImageCopyResampled($image, $wicon, imagesx($image)-95, $offset+5, 0, 0, imagesx($wicon)/2, imagesy($wicon)/2, imagesx($wicon), imagesy($wicon));
					ImageDestroy($wicon);
					$opt = array(
						'width' => 150,
						'align' => ALIGN_RIGHT
					);
					$text = $day."\n".$high."° | ".$low."°\n".$condition;
					imagettftextboxopt($image, 13, 0, imagesx($image)-245, $offset, $style['textcolor'], $style['fontb'], $text, $opt);		

				}
			}
		}
		
//**************************************************   Moonplugin   *******************************************************************
			 require('plugins/MoonPlugin.php');			
        $current_icon = 'resources/icons/mond'.$mondphasen_img.'.png';
				$wicon = ImageCreateFromPNG ( $current_icon );
				//ImageAlphablending ($wicon, true);
				ImageCopy($image, $wicon, imagesx($image)-90, +460, 0, 0, imagesx($wicon), imagesy($wicon));
				ImageDestroy($wicon);
				$opt = array(
					'width' => 280,
					'align' => ALIGN_RIGHT
				);
				$text = $phase_text;
				imagettftextboxopt($image, 13, 0, imagesx($image)-380, 515, $style['textcolor'], $style['fontb'], $text, $opt);
				
				$opt = array(
				'width' => 350,
				'align' => ALIGN_RIGHT
				);
				$text = $tweet;
				imagettftextboxopt($image, 9, 0, imagesx($image)-355, 535, $style['textcolor'], $style['fontb'], $text, $opt);
				
	
				$wicon = ImageCreateFromPNG ('resources/icons/balken.png');
				ImageCopy($image, $wicon, imagesx($image)-320, +570, 0, 0, imagesx($wicon), imagesy($wicon));
				ImageDestroy($wicon);
				
				$wicon = ImageCreateFromPNG ('resources/icons/raster.png');
				ImageCopy($image, $wicon, imagesx($image)-320, +570, 0, 0, imagesx($wicon), imagesy($wicon));
				ImageCopy($image, $wicon, imagesx($image)-170, +570, 0, 0, imagesx($wicon), imagesy($wicon));
				ImageCopy($image, $wicon, imagesx($image)-20, +570, 0, 0, imagesx($wicon), imagesy($wicon));
				ImageDestroy($wicon);
				
				imagettftextboxopt($image, 8, 0, imagesx($image)-650, 583, $style['textcolor'], $style['fontb'], 'Vollmond', $opt);
				imagettftextboxopt($image, 8, 0, imagesx($image)-350, 583, $style['textcolor'], $style['fontb'], 'Vollmond', $opt);
				imagettftextboxopt($image, 8, 0, imagesx($image)-500, 583, $style['textcolor'], $style['fontb'], 'Neumond', $opt);
				imagettftextboxopt($image, 7, 0, imagesx($image)-407, 578, $style['textcolor'], $style['fontb'], 'zunehmender Mond', $opt);
				imagettftextboxopt($image, 7, 0, imagesx($image)-556, 578, $style['textcolor'], $style['fontb'], 'abnehmender Mond', $opt);
//**************************************************************************************************************************************	 

	}
Ich habe paar Zeilen drüber mitkopiert um zu sehen wo das ganze steht bei mir.

Beim ersten starten werden in der Datenbank DATETIME(NOW()) gesetzt. Sprich das erste update erfolg erst in einer stunde bzw. der tweet dann am nächsten Tag um 10:05. Man kann ja die Zeit in der Datenbank manuell ändern, damit das Plugin gleich loslegen kann. :)

Im Anhang befindet sich das MoonPlugin.php und die icons.
Ich hoffe, ich hab da nix vergessen... ansonsten bitte melden
 

Anhänge

  • MoonPlugin.zip
    114.6 KB · Aufrufe: 20
Zuletzt bearbeitet:
Bei mir kommt bei Deinem MoonPlugin nur >>INSERT funzt nicht<< zurück. Könntest Du noch den Code zur Paketverfolgung hier veröffentlichen ???

LG
 
Bei mir kommt bei Deinem MoonPlugin nur >>INSERT funzt nicht<< zurück. Könntest Du noch den Code zur Paketverfolgung hier veröffentlichen ???

LG
Habe das MoonPlugin nochmal hochgeladen. Insert nochmal überarbeitet. Habe das "INSERT" nicht gerbaucht, weil ich die Datenbank ursprünglich mit der Hand angelegt hatte.
Der Code für die Paketverfolgungn ist noch nicht soweit - Haufen baustellen. ZB sind Abfragen für Paketdienste eingebunden, die ich noch nicht testen konnte... :(
 
Danke, jetzt funktioniert es.
 
Das gibts irgendwie nicht. Das Ding lief über Jahre problemlos, keine Veränderung auch bei speicheranbeiter.de lt. deren Support. Im Moment habe ich alle Plugins deaktiviert, die DB bereits mehrfach gelöscht und wieder neu angelegt.

Ich komme über "Error, insert query failed: Access denied for user ''@'localhost' (using password: NO)" nicht raus. Vlt. gibts eine Tipp für mich?
 
Kann eigentlich nur an den Benutzerrechten liegen. Evtl wurde der user @localhost mit einem Passwort versehen? Schau dir mal die Mysql-rechte-vergabe an. Die ist mitunter sehr, sagen wir mal, merkwürdig :confused:
Hier ist es ganz gut erklärt, finde ich. Schau dir vorallem mal die Suchreihenfolge an.
 
Hallo jnappert,

überprüfe mal die Angaben/Zugangsdaten zur Datenbank in der config.ini (v.a. den Eintrag bei db_user), evtl. hat sich hier bei Deinem Webhoster doch etwas geändert.

Hallo Spoon3er,

für die verschiedenen Benzinsorten habe ich jetzt auch alles doppelt angelegt, allerdings wird nur das erste BenzinPlugin ausgeführt, die andere Datenbank bleibt leer. Hast Du noch eine Idee, an was dies liegen könnte?

Gruß
Hoobert
 
sieht die ausgabe bei dir auch so aus wie bei mir? Bei mir war es einfach, daß $yoffset >= (imagesy($image) - 36. damit wurde das plugin einfach nicht mehr ausgegeben, obwohl es ja nicht unten angefügt wurde.
PHP:
            if ( (($entrylimit) && ($counter > $entrylimit)) || (($yoffset >= (imagesy($image) - 36)) && ($rest > 1)) ) {
                // show only n mails. If more mails are available show hint "x more stations..."
                if ($rest > 1)
                    $text = "... $rest weitere Tankstellen";
habe dann einfach gleich nach doOutput() {
yoffset=0; eingegeben. VORSICHT, das geht nur wenn zumindest das Plugin wo du es angibst IMMER das letzte Plugin in der config.ini ist. Sonst wird ja yoffset = 0 gesetzt und ein plugin schreibt über das nächste.. :)
Ich habe es bei beiden Plugin gemacht, weil mein screen ab und an doch schon richtig voll wird. Somit bin ich auf der sicheren seite, weil beide BenzinPlugins absolute koordinaten haben.

PHP:
	public function doOutput($image, $style, $updateData, &$yoffset) {
		$yoffset = 0;
 
Danke Spoon3er für den Tipp, allerdings ist dies nicht der Fehler, da beide Plugins bereits fixe Koordinaten haben. Der Haken muss irgendwo in der doUpdate() sein, da ja in der Datenbank schon kein Eintrag steht. Ich habe die beiden Plugins "BenzinPluginDiesel" und "BenzinPluginBenzin" benannt, die restlichen Einträge in der config.ini habe ich nicht umbenannt. Wenn ich in der config.ini das erste BenzinPlugin ausblende, dann funktioniert das zweite, aber nicht wenn beide aktiv sind. Die Klickbegrenzung von clever-tanken.de kann es ja eigentlich auch nicht sein, sonst würde es bei Dir ja auch nicht funktionieren, oder?

Gruß
Hoobert
 
Hast du alle querys in den Plugins angepasst? die adStation function unten auch angepasst?. in der dbconn sind beide datenbanken eingetragen? wenn die in der dbconn nicht vorhanden sind, werden die querys nicht ausgeführt. Das muss sowas in der art sein. Ansonsten mal in der index ER_ALL und dann mal die error.log vom apache nach dem pluginnamen durchsuchen. so mache ich das immer. Das ist ja kein error, sonst würde kein bild kommen, sondern nur ne warn oder sonst was, denk ich mal. Du kannst auch mysql-log anschauen. evtl musst du in der my.cnf das logging aktivieren!?
 
mal nochwas zum calendarplugin

sobald ich den aktiviere generiert der server kein bild mehr.
user und pw sind in der config eingetragen, aber die db wird nicht befüllt
 
tja, auch hier: error log vom apache anschauen. Wenn kein bild generiert wird ist es definitiv ein error und sollte dort dann geloggt werden...
 
mal nochwas zum calendarplugin - sobald ich den aktiviere generiert der server kein bild mehr.
Soweit bin ich inzwischen auch. Die Anmeldung an die DB geht jetzt wieder. Sobald ich jedoch das calendarplugin nicht mehr auskommentiere, gibts keine Bild mehr.
 
Hallo Zusammen !

Hab es mittlerweile geschafft die Uhrzeit, Datum und den Kalender zu implementieren.

Aber die Änderung mit dem Wetter krieg ich nicht hin. wenn ich die Infos ausprobiere die hier im thread stehen funktioniert auf einmal der DB login nichtmehr. Beim deaktivieren der weatherplugin wieder ohne probleme.

Folgendes steht in meiner config momt. drin :


[WeatherPlugin]
; Stadt für die Google-Weather-API
city = "Wuppertal"
api_key = XXXX
update_weather = 30


so sicher bin ich mir bei der 16 stellingen api von groundweather nicht aber mal abwarten.

Was läuft falsch, hat jemand eine Idee ?

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