Bildergalerie im Webfront

Hallo,

wenn ich mehrere Bilder im Webfront parallel anzeigen lassen will, habe ich da eine Möglichkeit? Ich habe an sowas wie z.B. eine Übersicht gedacht und beim Anwählen, wird nur das angewählte Bild dargestellt. Es geht mir um die Bilder meiner Überwachungskamera, sodass ich abends mit wenigen Blicken sehen kann, was am Tag passiert ist. Die Kamera erstellt bei jedem Alarm eine Bilderserie. Bisher gehe ich vom Windows PC aus über WINSCP an den Server, kopiere mir den Ordner und schaue mir die Bilder an. Das ist aber natürlich etwas umständlich.
Wie habt ihr sowas gelöst?

MfG
Marcel

Wenn du alle Bilder als Medienobjekte in einer Kategorie hast, kannst du diese im Inhaltswechsler direkt „durchzappen“.

Hilft das?

paresy

Bisher muss ich sagen habe ich die Bilder als Snapshot der Kamera auf dem Rasperry, auf dem auch IPS läuft… Wenn ich alle Bilder als Medienobjekt in IPS bekannt machen würde, wäre eine ganze Menge Performance nötig nehme ich an?!?

Was wäre denn der richtig weg, um das Ganze mal auszuprobieren.
ICh habe vor einigen Wochen schonmal hiermit herum probiert:
IPS_CreateMedia — IP-Symcon :: Automatisierungssoftware
Allerdings bekam ich es nicht hin, an die erstellte Instanz vom Medientyp eines der Bilder zu knüpfen.
Die .jpg Dateien liegen wie gesagt auf dem Raspberry unter /var/www usw…

Eine Art Übersicht, wie ich Sie z.B. im Explorer habe, kann ich im WF nicht darstellen nehme ich an?

VG

Genau, so ein Übersicht ist nicht möglich. Verknüpfen willst du es mit dieser Funktion: IPS_SetMediaFile — IP-Symcon :: Automatisierungssoftware

Ggf. ist es cooler, wenn du einen WebHook nutzt und dann dir ein eigenes Skript erstellst, welches dann tatsächlich eine Bilder-Galerie anzeigt. Ist sicherlich mehr arbeit - aber das Ergebnis wird eher das sein, was du dir wünscht.

paresy

Ok danke für die Info. Werde ich bei Gelegenheit mal ausprobieren.
Theoretisch könnte ich aber eine Page z.B. mit dem SpitPane so aufteilen, dass z.B. 4 Inhaltswechsler angezeigt werden mit unterschiedlichen Bildern oder? Es treten ja in der Regel auch nicht 50 Alarmmeldungen pro Tag ein, an der die Kamera Snapshots schießt.

Wie bekomme ich es hin, dass ich dateien aus einem anderen Verzeichniss laden kann? Das Skript liegt im standard ordner /var/lib/symcon/scripts.
Die Bilder aber in /var/www/upload/alarms usw.
Mit Include müsste das eigentlich gehen, aber ich bekomme ständig fehlermeldungen
Ich würde gerne auf den Ordner alarms wechseln und die darin befindlichen bilddateien zu laden?

Die Fehlermeldungen würden uns helfen dir zu helfen :smiley:

paresy

Oh ja natürlich :smiley:

Ich bekomme mit

include "../../../www/upload/alarms";
$ImageFile = "../www/upload/alarms/20191028200423736-motion.jpg";  // Image-Datei
IPS_SetMediaFile(14449 , $ImageFile, true);    // Image im MedienPool mit Image-Datei verbinden

immer eine Meldung:
Warning: include(/var/www/upload/alarms/): failed to open stream: Success in /var/lib/symcon/scripts/38480.ips.php on line 2

Ich denke mit dem Include bin ich auf dem richtigen weg aber ich weiß gerade nicht wie weiter.

Die Ordnerstruktur, wie man vermutlich auch an der Fehlermeldung sehen kann, ist diese:
var–>
| www–>
| upload–>
| alarms
|–>lib
–>symcon
–> scripts

Ist „alarms“ eine Datei oder ein Ordner?

include erlaubt nur Dateien soweit ich weiß.

Gruß Heiko

Hallo Heiko,

alarms ist ein Ordner. Darin liegen die .jpg Dateien.
Ich weiß das ich in dem Skript irgendwie bekannt machen muss, dass die Dateien in einem anderen Ordner liegen und die daraus eben öffnen bzw. an IPS_SetMediaFile übergeben .
Ich weiß nur eben nicht wie.:confused:

include ist aus meiner Sicht falsch und überhaupt nicht notwendig, es ist „nur“ dafür da in ein Script ein „anderes“ Script zu includieren.

Wenn du Bilder in symcon als MediaElement setzen möchtest, dann ist der Ansatz von deinem Code schon richtig, aber symcon kann, soweit ich weiß, nicht außerhalb seiner eigenen Ablagestruktur zugreifen. Die Bilder sollten also im Media Ordner oder einem Unterordner davon liegen.

Und es funktioniert eben auch nicht einen anderen Ort für abgelegte Dateien in ips php Skripten bekannt zu machen? Das kann ich mir nicht so richtig vorstellen muss ich sagen. Ich muss bei Gelegenheit nochmal mit den opendir() und readdir() befehlen von php herumspielen, ob das nicht zu einer Lösung führt.
In ein Paar anderen Foren hab ich ähnliche Beiträge gesehen, wo jemand einen Webserver mit Bildergalerie programmieren wollte. Die Bilder lagen ebenfalls woanders als an dem Ort, wo das init-php-Skript lag. Letztendlich hat er das irgendwie über die o.g. Funktionen realisiert. Ich habe hoffentlich am Wochenende mal Zeit das genauer auszuprobieren.

Hätte ich vielleicht auch schon eher finden können:

Aus der Referenz unter Medien:

„Es ist unbedingt notwendig, dass sich die Dateien innerhalb des Hauptordners “IP-Symcon\” oder einem Unterordner befinden. Aus Sicherheitsgründen sind andere Verzeichnisse nicht zulässig. Dies gilt nicht für das Hinzufügen von Dateien, sondern einzig für den Zugriff.“

Was ist auf dem Raspberry denn der Hauptordner?

„Wo finde ich was?
/usr/bin/symcon - Executable
/usr/share/symcon/ - Static Data (IP-Symcon Installation)
/var/lib/symcon/ - Variable Data (Settings, Skripte, Medien…)
/var/log/symcon/ - Log Files (Logfiles…)“

Ich habe es mittlerweile so gelöst, dass ich die Snapshots unter media abspeichere, und über einen Inhaltswechsler im Webfront diese im Sekundentakt durchlaufe. So kann man abends „mal eben schnell“ sehen was am Tag passiert ist.

Hierzu noch die Frage: Kann ich den auto. Wechsel im Sekundentakt auch temporär stoppen, um ein bestimmtes Bild länger betrachten zu können? Ähnlich wie bei Facebook oder Whatsapp, wobei ich nur das Bild gedrückt halten muss?

EDIT: Eine weitere Idee wäre noch eine Bool-Variable mit ins WF zu setzen, welche bei Betätigung die Intervallzeit vom Wechsler auf 0 sec schaltet. Kann ich den Wechsler überhaupt per Skript konfigurieren, also konkret die Intervallzeit oder geht das nur im Webfront-Editor?