ich habe mit iP-Symcon neu gestartet und von den Möglichkeiten sehr angetan ich möchte nun erreichen, dass ich innerhalb des Webfront, meinen Touchscreen in der Diele zum Anzeigen div. Bilder nutzen kann (Diashow).
Eventuell hat sowas schon mal jemand hier umgesetzt.
Ich habe einen gefaketen Screenshot angehängt, wie ich mir das vorstelle.
Folgende Mögichkeiten stelle ich mir vor:
Auswahl eines belibiegen Verzeichnisses mit Bildern
Sobald die Kategorie Diashow ausgewählt ist wird automatisch ein Bild nach dem anderen angezeigt.
die Zeit zwischen den Bildern ist einstellbar
Die Bilder werden automatisch auf die zur Verfügung stehende Höhe skalliert.
Nice to have:
Sanftes überblenden
Tasten für Vor / Zurück / Pause / Play in der unteren Statuszeile von Webfront
Schön wäre zumindest die Grundfunktion mit Boardmitteln von Webfront umsetzen zu können.
ich schau mir die Sachen mal an, ein eigenes Module wäre natürlich super, ich denke das ist für einige interessant, die einen Touchscreen zur Homeautomation Steuerung im Haus verbaut haben.
Im Moment habe ich die Diashow als Bildschirmschoner auf dem mac mini laufen der hinter dem Touchscreen hängt. Bei dieser Lösung habe ich aber keine Möglichkeit parallel Statusmeldungen wie z.B. Post im Briefkasten oder Klingel in abwesenheit bestätigt darzustellen, da diese Infos natürlich hinter dem Bildschirmschoner verschwinden.
Ein Modul würde beides sauber im Webfront verbinden, ich könnte z.B. das Icon in der oberen Statuszeile animieren sobald Post im Briefkasten liegt und dies erkennen obwohl gleichzeitig die letzten Urlaubsbilder über den Screen laufen.
hab da ein Problem mit der Ausführung. Bei mir erscheint nur ein Kästchen mit Symbol drin, aber kein Bild.
Hab unter dem WebFront Configurator eine eigene Seite angelegt und als Adresse …/user/Diashow/Diashow.php eingegeben.
Das gepostete Script hab ich unter der Adresse abgelegt und einige Bilder ins Verzeichniss gelegt aber leider funktioniert es irgendwie nicht.
Diesen Code-Schnipsel hatte ich auch schon gefunden, ist aber vorallem deshalb unbefriedigend, da er nicht in der Lage ist die Bilder zu skallieren und auf lokale Verzeichnisse zuzugreifen.
Ist aber zunmindest ne gute Basis um daraus was vernünftiges zu bauen, mal sehen was ich daraus machen kann, wenn ich etwas Zeit finde.
ich denke die Show über eine eigene Seite einbinden ist die einfachste und beste Lösung.
Das ganze per Modul zumachen ist zwar möglich, aber bei jedem Update musst Du wieder alles anpassen.
Es gab mal eine angefangene Doku über ein Modul, diese wurde aus bestimmten Gründen entfernt. Wenn Du so was für dich selber machen willst, ist das beste Beispiel das Wettermodul. Dort siehst Du dann auch was Du alles anpassen musst und wo. Das ganze ist nicht ohne.
Sowtwas zu machen macht eigentlich nur Sinn, wenn es denn auch mit nach IPS übernommen wird.
Ich habe das ganze ja beim Wettermodul gemacht, solange Horst da nichts dran ändert ist das ja kein Problem.
Ist halt nur >Show wird geladen< auf der Seite zu sehen.
Aber die Bilder werden nicht geladen. Sind auch nur .jpg Bilder im Ordner.
Nutze ich das von Dir gepostete erste Skript funktioniert es und ich bekomme die Bilder zu sehen.
Benutze FireFox
ich weiß nicht, ob dieser Tread noch aktuell ist, habe aber nichts aktuelleres gefunden…
Ich habe versucht die Anleitung mit allen Änderungen nachzuvollziehen. Da Code lautet dann m.E. wie folgt:
<?
//Diashow(1) mit PHP und JavaScript
//Verzeichnis der Bilder
$verzeichnis = "../user/Diashow/";
//Geschwindigkeit in Millisekunden
// 3000 = 3 Sekunden
$speed = 3500;
echo "
<script type='text/javascript'>
var Animation = new Array();
var bild = new Array();
var window_height;
var window_width;
var i = 0;
";
function file_extension($filename)
{
return end(explode(".", $filename));
}
$folder = openDir($directory);
$by = 0;
while ($file = readDir($folder)) {
if($file != "." && $file != ".." && $file[0] != "." && strtolower(file_extension($file)) == "jpg") {
// $file[0] != "." to suppress Thumbnailfiles of MacOS
$fullname="$directory$file";
echo "bild[$by]='$fullname';
";
$by++;
}
}
closeDir($folder);
echo "
for (var r = 0; r < $by; r++) {
Animation[r]=new Image(); Animation[r].src=bild[r];
}
function anzeigen() {
if (i < $by) {
document.images.dummy.src=Animation[i].src;
// window_height = window.innerHeight-20;
// window_width = window.innerWidth;
// document.images.dummy.height=window_height;
i++;
}
else {
i=0;
}
setTimeout('anzeigen()', $speed);
}
</script>
<body onLoad='anzeigen();'>
<div style='text-align: center; color:#FFFFFF;'><img name='dummy' alt='Show wird geladen'></div>
";
?>
Bilder sind im oben genannten Verzeichnis.
Seite im Webfront ist eingerichtet, leider sehe ich nur ein weißen Hintergrund mit dem Tooltip „Show wird geladen“ auf einem Bild-Platzhalter (was ja zumindest darauf hindeutet, dass das Skript gefunden wird…)
habe den Fehler gefunden:
es war die vermischte Verwendung der Variablennamen „$Verzeichnis“ und „$directory“…
Ist jetzt korrigiert und läuft.
Habe aber trotzdem noch ein paar Fragen:
Gibt es schon ein Lösung zur automatischen Skalilerung im IE?
Was muss man ändern, damit der Hintergrund die „typischen“ Webfront-Farben hat?
Wäre es möglich, dass das Webfront nach einer gewissen Zeit von „Untätigkeit“ auf diese Seite springt - quasi als IPS-Webfront-Bildschirmschoner?