FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: Pythonf am 23 Februar 2016, 00:00:19

Titel: Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: Pythonf am 23 Februar 2016, 00:00:19
Ich hab auf einem Raspberry Pi TabletUI auf dem 7"-Display mit Chromium im Kiosk mode laufen:
http://forum.fhem.de/index.php/topic,48604.msg413811.html#msg413811 (http://forum.fhem.de/index.php/topic,48604.msg413811.html#msg413811).
Leider läd chrome die Seite nach einiger Zeit nicht mehr und ich muss den Browser manuell refreshen. Geht ja ganz einfach: Auf der Tastatur F5 drücken. Da ich aber keine Tastatur dauerhaft angeschlossen habe möchte ich das ganze irgendwie anders lösen.
Habt ihr Ideen? Crownjob hab ich gefunden aber vielleicht gibt es bessere Möglichkeiten, als den Browser mit killall regelmäßig zu beenden und dann irgendwie neu zustarten.

Beste Grüße
Fabian
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: Dr. Boris Neubert am 24 Februar 2016, 19:19:11
Hallo,

ich verwende auf meinem Raspberry mit Touchscreen, den ich als elektronischen-Bilderrahmen-cum-Hausautomationssteuerung verwende, folgendes Skript, um RSS zu starten. Dich interessiert dabei vermutlich xte.

#!/bin/sh
xset s off
xset -dpms
xset s noblank
unclutter &
while :
do
        epiphany-browser -a --profile $HOME/.config/ http://example.com:8083/fhem/rss/rapad.html > /tmp/epiphany.$$.log 2>&1 &
        PID=$!
        sleep 20
        xte "key F11" -x:0
        wait $PID
done


Grüße
Boris
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 24 Januar 2017, 18:57:46
Hallo

Ich habe eingendlich das gleiche Problem...

Schaut mal...

https://213.252.140.23/index.php/topic,37043.msg568285.html#new

Letztes Post
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: Laire am 27 Januar 2017, 02:13:12
Zitat von: Dr. Boris Neubert am 24 Februar 2016, 19:19:11
Hallo,

ich verwende auf meinem Raspberry mit Touchscreen, den ich als elektronischen-Bilderrahmen-cum-Hausautomationssteuerung verwende, folgendes Skript, um RSS zu starten. Dich interessiert dabei vermutlich xte.

#!/bin/sh
xset s off
xset -dpms
xset s noblank
unclutter &
while :
do
        epiphany-browser -a --profile $HOME/.config/ http://example.com:8083/fhem/rss/rapad.html > /tmp/epiphany.$$.log 2>&1 &
        PID=$!
        sleep 20
        xte "key F11" -x:0
        wait $PID
done


Grüße
Boris

Hallo Boris,

wie hast du das mit dem Bilderrahmen realisiert? Zur Zeit habe ich einfach als Bildschirmschoner laufen.
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: Dr. Boris Neubert am 27 Januar 2017, 19:43:35
Hallo,

ich setze mittlerweile ein anderes Skript ein:

$HOME/.config/lxsession/LXDE/autostart

@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@unclutter &                                                                               
@xset dpms 0 0 0
@xset dpms force on
@chromium-browser --allow-cross-origin-auth-prompt --start-fullscreen http://meinfhemserver.example.com:8083/fhem/rss/rapad.html


Der Raspi ist so konfiguriert, dass er in die graphische Benutzeroberfläche (X) bootet und den Benutzer pi ohne Kennwort anmeldet. Sobald die Oberfläche steht, wird über obiges Autostart-Skript Chrome gestartet und der HTML-Feed rapad aufgerufen. Der HTML-Feed ist mit meinem RSS-Modul in FHEM realisiert.

Viele Grüße
Boris
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 27 Januar 2017, 20:00:27
Hallo

Das scrpit habe ich so auch halt ne andere Weboberfläche...bzw. habe ich es nach dieser Anleitung gemacht.. https://213.252.140.23/index.php/topic,37043.msg568285.html#new

Mein Problem besteht darin das er manchmal über crontab nicht refresht...

Hast du dazu auch ne Lösung und brauchst du keinen refresh??

Läuft das Script den ohne Probleme usw..??

Danke dir
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: Dr. Boris Neubert am 27 Januar 2017, 20:27:06
Hier noch die Definition des RSS-Geräts in FHEM:

#
# rapad
#

define rapad RSS jpg has.home.neubert-volmar.de /opt/fhem/conf/Etc/rapad.layout
attr rapad alias Rapad
attr rapad bg /opt/fhem/PictureFrame/s800x480
attr rapad group Bilderrahmen
attr rapad refresh 15
attr rapad room System
attr rapad size 800x480
attr rapad tmin 1
attr rapad noscroll 1
attr rapad viewport width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0

Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 27 Januar 2017, 20:48:57
Habe das ganze auf einen RPI 2 laufen mit Raspian v 2.0.1

Wie gesagt ich hole mit über den RPI (mit Display) einfach die Weboberfläche von dem RPI der mir über Solarview die Daten vom WR loggt..

Weil der RPI mit Display mit Touch in der Wand verbaut ist somit kann ich jeden Tag draufschauen...

Nur muss ich auch jeden Tag einen Refresh machen mit dem RPi mit Display damit ich die aktuelle Anzeige vom RPI mit Logger habe...also die aktuelle grafische Darstellungen weil das eben Solarview wenn man es sich auf einen Display darstellen lässt nicht macht...

Wie gesagt morgen stelle ich Bilder ein von meine Script.. laut Anleitung hier aus dem Forum hier...

Mein Script muss ich sagen schaut etwas anders aus als das von Boris vielleicht liegst daran...

Autostart mit Kiosk mode usw funktioniert...nur eben manchmal der refresh nicht...bzw.. wenn ich dann test refreshs mache geht's...ich denke das sich da irgendwo irgendwie was aufhängt....Vielleicht hast du ja ne Lösung Boris weil ich gesehen habe du hasts ja auch so oder??

Danke
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 27 Januar 2017, 21:05:53
Anschauen tuts eingendlich so...

so schauts eigendlich aus wie gessgt etwas anders

und xdotool

sudo apt-get install xdotool


anschließend öffnen wir den Autostart mit

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

hier passen wir es wie folgt an

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
#@xset s off
#@xset -dpms
#@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@/usr/bin/chromium-browser --noerordialogs --disable-session-crashed-bubble --disable-infobars --Kiosk http://10.0.0.X:xy


nun das Ganze Speichen mit "Strg+O" und dann verlassen mir "Strg+X"

Nun konfigurieren wir noch die Automatische Aktualisierung der Seite.

Dazu legen wir der Übersicht halber noch einen Pfad an indem wir eingeben

cd /home/pi

und dann

mkdir scripts

nun gehen wir wieder in unser Standard Verzeichnis zurück mit

cd ..

dort geben wir nun ein

sudo nano /home/pi/scripts/refresh.sh

anschließend fügen wir dort folgendes ein

#!/bin/sh

WID=$(xdotool search --onlyvisible --class chromium|head -1)
xdotool windowactivate ${WID}
xdotool key ctrl+F5


hier speichern wir es wieder mit "Strg+O" und schließen es mit "Strg+X"
Nun machen wir das Script noch ausführbar mit

sudo chmod +x /home/pi/scripts/refresh.sh
        !!muss hier 755 stehen weil ich habs genau so ausführbar gemacht!!


Nun erstellen wir noch die crontab dazu geben wir ein

crontab -e

03 5 * * * DISPLAY=:0 /home/pi/scripts/refresh.sh







Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: Dr. Boris Neubert am 28 Januar 2017, 09:15:29
Zitat von: gexle am 27 Januar 2017, 20:48:57
Wie gesagt ich hole mit über den RPI (mit Display) einfach die Weboberfläche von dem RPI der mir über Solarview die Daten vom WR loggt..

Die Weboberfläche ist FHEMWEB, ja?
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 28 Januar 2017, 09:20:15
Hallo

FhemWeb..nein

So sieht diese aus..läuft auf einen RPI mit Raspian...

Was meinst könnte man das irgendwie ändern das es zuverlässiger funktioniert??
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: Dr. Boris Neubert am 28 Januar 2017, 09:29:18
Fürs Protokoll: diese Frage hat nichts mit FHEM zu tun.

Die Problemstellung ist, einen Browser im Kiosk-Mode die angezeigte Webseite periodisch neu laden zu lassen. Ich würde das lösen, indem ich eine im Browser anzuzeigende HTML-Seite erstelle, die die fremde Seite vollflächig als Frame einbindet, und den Inhalt des Frame per Javascript periodisch neu lädt. In diese Aufgabe müsste ich mich erst einarbeiten. Im Web sollten sich Anleitungen finden.

Ich kann leider nicht weiter helfen.

Viele Grüße
Boris
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 28 Januar 2017, 09:33:16
Du hast do auch diesen Code

@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@unclutter &                                                                               
@xset dpms 0 0 0
@xset dpms force on
@chromium-browser --allow-cross-origin-auth-prompt --start-fullscreen http://meinfhemserver.example.com:8083/fhem/rss/rapad.html

und das ist meiner ...

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
#@xset s off
#@xset -dpms
#@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@/usr/bin/chromium-browser --noerordialogs --disable-session-crashed-bubble --disable-infobars --Kiosk http://10.0.0.X:xy


Ich dachte vielleicht stimmt da was nicht

Du hast sicher mehr Ahnung als ich:)

Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: Dr. Boris Neubert am 28 Januar 2017, 09:45:37
Ja, aber bei mir sorgt die Webseite http://meinfhemserver.example.com:8083/fhem/rss/rapad.html für den Refresh. GGf. kannst Du Dir von dem HTML-Code, den RSS ausliefert, etwas abschauen. Die Demo-Konfiguration, die bei FHEM dabei ist, beinhaltet ein Beispiel.
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 04 Februar 2017, 10:30:23
Hallo

Ich habe eine Frage ich bekomme mein Touch nicht in den den Standby modus also display aus...

Das wäre das script...

Kann ich da was weglassen das es funktioniert??

Display wäre 7Zoll Touch von Pollin...

wenn ich dann auf das Touch drücke soll das BIld wieder da sein...

Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 04 Februar 2017, 11:18:22
Kann man bei dmps irgendwie ne Zeit eingeben??

Werd nicht so wirklich schlau draus?

Danke
Titel: Antw:Chromium Autorefresh - TabletUI - RasperryPi 7"-Touchdisplay
Beitrag von: gexle am 04 Februar 2017, 14:46:15
Hallo

Ich versuche nichts anderes als das Display in den Energiespar Modus zuversetzen...also sowie am PC wo man einstellen kann nach 2 min in den Energiesparmodus...also Bildschirm aus...


lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@xset s off
@xset -dpms
@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@chromium-browser --allow-cross-origin-auth-prompt --start-fullscreen http://10.0.0.x:XY

Wenn ich das so lasse dann bleibt das Display immer an was ich nicht möchte...

Hier steht das

https://www.danpurdy.co.uk/web-development/raspberry-pi-kiosk-screen-tutorial/

Next add these lines underneath the screensaver line


@xset s off
@xset -dpms
@xset s noblank

This disables power management settings and stops the screen blanking after a period of inactivity.
Dadurch werden die Energieverwaltungseinstellungen deaktiviert und nach einem Zeitraum der Inaktivität der Bildschirm ausgeblendet.

Macht es aber nicht bleib immer an..

Ich habe das gefunden weis aber nicht wirklich wie ich das umsetzen soll...
https://wiki.archlinux.de/title/DPMS

Danke