Guten Tag alle Zusammen,
ich bin zurzeit dabei, einen Status Monitor für mein FHEM aufzubauen, auf dem ich immer, sehe was im Haus los ist. Nun bin ich leider an eine Stelle gekommen, wo ich nicht so recht weiter weiß und Hilfe benötige.
Zu meinem Vorhaben
Hardware: Raspberry Pi 2, 17" Monitor
Auf dem Raspberry läuft Raspbian und auf dem dann Chromium im Kiosk Mode.
Anleitung für den Kiosk Mode habe ich folgende genommen:
https://www.danpurdy.co.uk/web-development/raspberry-pi-kiosk-screen-tutorial/ (https://www.danpurdy.co.uk/web-development/raspberry-pi-kiosk-screen-tutorial/)
und als anzuzeigenden Link den http://192.168....../myrss.png
Das Erstellen der RSS Seite habe ich nach dem Wissen, das ich aus dem "[Workshop] 02_RSS.pm für Anfänger" habe.
Nun aber zu dem eigentlichen Problem das ich habe und der damit verbundenen Frage.
Nach dem Start zeigt mir der Raspberry die Seite problemlos im Full Screen an, aber er aktualisiert sie nicht selbstständig, dafür muss ich jedes mal F5 drücken damit es sie neu lädt.
Ist es irgendwie möglich, das dies automatisch alle X Sekunden gemacht wird ohne mein Zutun?
Das anzeigen der HTML Seite die von dem RSS erzeugt wird, ist nicht machbar, da ich dann am Rand immer eine Randleiste / Scrollleiste angezeigt bekomme.
Mit freundlichen Grüßen
Dennis
Hat niemand eine Idee?
Hallo Dennis,
ich habe mir einen Status über einen Digitalen Bilderrahmen eingerichtet und aktualisiere über einen Cron-Job. Hierfür musst Du Deinen RSS-Aufruf in der crontab, über Telnet mit crontab -e, hinterlegen.
Grüße Jörg
Danke für die Antwort.
Ich habe halt alles schon soweit fertig mit der Anzeige des Bildes und so weiter, es scheitert nur an der automatischen Aktualisierung der Seite.
Ich möchte mir nur sehr ungern noch neue Hardware Kaufen wenn ich schon alles habe.
Und es würde noch erschwerend hinzukommen das ich keine Ahnung von crontab habe da ich doch noch sehr an den Anfängen stehe.
Gruß
Dennis
Wie rufts Du den das jpeg auf, damit es angezeigt wird.
(Ein paar mehr Infos würden einfach helfen beim helfen)
Grüße Jörg
PS: Der Bilderrahmen war nur als Erklärung meiner Lösung und nicht als Vorschlag gedacht
Also ich habe Raspbian über Noobs installiert und so konfiguriert das er im Desktop Mode startet.
Anschließend habe ich Updates und Chromium installiert mit.
sudo apt-get Update && sudo apt-get Upgrade
sudo apt-get install chromium
anschließend habe ich den Autostart geöffnet mit
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
und habe dort eingefügt
@xset s off
@xset -dpms
@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@chromium --noerrdialogs --kiosk <Link des PNG RSS Bilds> --incognito
und habe folgende Zeile auskommentiert mit #
@xscreensaver -no-splash
anschließend gespeichert und ein
sudo reboot
durchgeführt.
Nach dem Neustart startet der Raspberry dann im Kiosk Mode und zeigt die gewünschte Seite an aber Aktualisiert sie nicht automatisch.
Nun bin ich mir sicher das es irgendwie machbar ist weil es gibt ja bekanntlich kaum etwas was nicht geht aber mir fehlt noch das Wissen wie ich so etwas machen könnte.
wie ich sehe läuft die html in chromian was ein nacker chrome ist. Für chrome gibt es mehrere plugins die einstellbar refreshen. Vielleicht hilft dir das? Name eines dieser Plugins "Easy Auto Refresh".
Vielleicht kommst du hiermit weiter:
https://www.hscripts.com/de/tutorials/html/autorefresh.php (https://www.hscripts.com/de/tutorials/html/autorefresh.php)
oder:
http://www.fhemwiki.de/wiki/Grundriss_mit_fhem-buttons#L.C3.B6sungsansatz_.C3.BCber_HTML (http://www.fhemwiki.de/wiki/Grundriss_mit_fhem-buttons#L.C3.B6sungsansatz_.C3.BCber_HTML)
damit.
@kadettilac89 an Easy Auto Refresh habe ich auch schon gedacht aber ich bekomme es nicht installiert.
@lukasbastelpeter ich zeige ein .png an da kann ich dann doch kein HTML Code einbauen.
Hallo
laut commandref ;) kann man auch ein HTML File erzeugen.
Und dann könnte man den RSS mit "refresh <interval>" auch aktualisieren lassen.
Thomas
Hallo,
ich habe jetzt mal ein bisschen für Dich gegoogelt und folgendes zusammengesucht:
Zunächst mit:
sudo apt-get install xdotool
das Tool xdotool installieren. Damit können Tastencodes an das Display gesendet werden.
Dann folgendes Script erstellen:
nano /home/pi/scripts/resfresh.sh
und mit diesem Inhalt füllen:
WID=$(xdotool search --onlyvisible --class chromium|head -1)
xdotool windowactivate ${WID}
xdotool key ctrl+F5
Bitte nicht vergessen das Script ausführbar machen:
chmod +x /home/pi/scripts/refresh.sh
Nun als Kiosk user die crontab erstellen:
crontab -e
Dort folgendes eintragen:
*/5 * * * * DISPLAY=:0 /home/pi/scripts/refresh.sh
Damit wird dann alle 5 Minuten durch das Script ein F5 an chromium gesendet.
!!! Alles ungetestet, da ich keinen RPi mit chromium betreibe. Also ggf. mal weiter googeln bzw ausprobieren !!!!
Grüße Jörg
Warum baust du dir nicht um das png noch ein html?!
es reicht ja
ein
HTML
BODY
IMG
/Body
/html
?!
Wie soll das RSS-Modul das denn machen?!
Grüße Jörg
Nicht das RSS Modul soll die HTML liefern sondern die HTML Datei kann irgendwo auf dem Pi liegen. In die HTML bettest du dann das png ein und ein
<meta http-equiv="refresh" content="5; URL=Namederhtml.html">
Im <head>
Gruß Marius
Gesendet von iPhone mit Tapatalk
ZitatNicht das RSS Modul soll die HTML liefern sondern die HTML Datei kann irgendwo auf dem Pi liegen. In die HTML bettest du dann das png ein und ein
Code: [Auswählen]
<meta http-equiv="refresh" content="5; URL=Namederhtml.html">
Im <head>
Gruß Marius
+1
@JoWiemann vielen Dank ich werde es gleich heute Mittag / Abend wenn ich zu Hause bin ausprobieren und berichten ob es funktioniert.
Zu dem Thema HTML ich könnte das fertige HTML File nehmen. Ja das würde sich auch aktualisieren (nun kommt das aber ;)) aber ich habe wenn ich das html nehme rechts und unten auf dem Monitor entweder bei Vollbild eine Randleiste / Scrollleiste und wenn ich z.b. bei einem Bildschirm mit 1280x1024 dann z.b. 1275x1020 in FHEM beim RSS einstelle über die Attributes dann habe ich zwar keine Randleiste / Scrollleiste mehr aber dafür dann einen weißen Rand rechts und unten. Wenn ich nur das .png anzeige gibt es keine Randleiste / Scrollleiste oder weißen Rand oder sonst etwas sondern es wird mit auf dem Monitor randlos angezeigt.
Gruß
Dennis
Ein bisschen quick and dirty würde mir da einfallen einfach
<body background=deinrssoutput.png>
8)
edit:
Mit CSS passend skalieren, das ist aber nicht so mein Ding :D
Zitat von: JoWiemann am 11 Mai 2015, 19:57:15
Hallo,
ich habe jetzt mal ein bisschen für Dich gegoogelt und folgendes zusammengesucht:
Zunächst mit:
sudo apt-get install xdotool
das Tool xdotool installieren. Damit können Tastencodes an das Display gesendet werden.
Dann folgendes Script erstellen:
nano /home/pi/scripts/resfresh.sh
und mit diesem Inhalt füllen:
WID=$(xdotool search --onlyvisible --class chromium|head -1)
xdotool windowactivate ${WID}
xdotool key ctrl+F5
Bitte nicht vergessen das Script ausführbar machen:
chmod +x /home/pi/scripts/refresh.sh
Nun als Kiosk user die crontab erstellen:
crontab -e
Dort folgendes eintragen:
*/5 * * * * DISPLAY=:0 /home/pi/scripts/refresh.sh
Damit wird dann alle 5 Minuten durch das Script ein F5 an chromium gesendet.
!!! Alles ungetestet, da ich keinen RPi mit chromium betreibe. Also ggf. mal weiter googeln bzw ausprobieren !!!!
Grüße Jörg
Eine Frage dazu noch ich haben es irgendwie nicht gefunden im Letzten Code steht "DISPLAY=:0" was besagt der Teil genau den Rest konnte ich finden.
ALSO ES FUNKTIONIERT!!!
vielen Dank an JoWiemann der des Rätzels Lösung wusste.
Nun noch eine Vollständige Anleitung von 0 bis 100%.
Ziel ist ein Raspberry Pi 2 und ein Monitor im Stand-Alone Betrieb Laufen zu lassen als Status Monitor.
Der Monitor soll ein Status Bild Anzeigen das vom RSS Modul von FHEM erzeugt wird.
Dieses Bild soll jede Minute Aktualisiert werden.
Start der Anleitung ein frisches Raspbian OS ohne irgend welche Änderungen installiert über Noobs und so eingestellt das es im Desktop Modus Startet.
Zuerst bringen wir den Raspberry einmal auf den Aktuellen Stand mit
sudo apt-get update && sudo apt-get upgrade
dann Installieren wir Chromium
sudo apt-get install chromium
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
@xset s off
@xset -dpms
@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@chromium --noerrdialogs --kiosk http://192.168.178.60:8083/fhem/rss/myrss.png --incognito
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
Nun erstellen wir noch die crontab dazu geben wir ein
crontab -e
und fügen dort am ende folgendes ein
*/1 * * * * DISPLAY=:0 /home/pi/scripts/refresh.sh
dies Speichern wir wieder mit "Strg+O" und schließen es mit "Strg+X".
Anschließend machen wir noch ein
sudo reboot
und jetzt wenn alles geklappt hatte sollte der Raspberry starten und in den Kiosk mode gehen, das Bild anzeigen und dies jede Minute aktualisieren.
Ich hoffe hiermit dem ein oder anderen helfen zu können so wie auch ich mir hier schon oft mit solchen Anleitungen helfen konnte :)
Gruß
Dennis
Kann ich das auch irgendwie übers Netzwerk nutzen?
Ich suche eine Lösung den Standby eines Bildschirms über das Netzwerk zu beenden. Die Energiesparoptionen möchte ich nicht ausschalten, der Bildschirm soll ja auch wieder ausgehen.
Wenn es damit nicht klappt, hat vielleicht jemand eine Idee wie ich per shh den Bildschirm wecken kann.
Grüße MrBreil
Hallo
Kann man diese Anleitung mit der heutigen neuen Version auch noch verwenden also mit Raspian V2.1.0??
Läuft das ganze auch stabil ohne Abstürtze usw...?
Danke euch
Hallo
Ich habe über Crontab -e bzw. auch über Sudo Crontab -e eine Zeit eingeben um meine Seite zu refreshen...
Jetzt habe ich das Problem das wie soll ich sagen Crontab -e nicht mehr reagiert also es passiert nichts...
Wenn ich dann den RPI neu starte dann gehts wieder.....bis zum nächsten Tag um die selbe Zeit...
Was kann den da sein...bzw woran kann das liegen refresht wird Chromium.. Icon_helpnew
Ich kann nicht jeden Tag den RPI neu starten...
PS: Kann man das auch anders lösen nicht über Crontab -e
Ein Bild vom fertigen Objekt fehlt noch das man sich da auch was drunter vorstellen kann!
Grüße
Matze
Hallo
Wie meinst vom fertigen Objekt??
Ich ruf mit dem Rpi nur eine Weboberfläche auf die so ausschaut..
Und jeden tag muss ich eine refresh machen damit die aktuelle seite mir angezeigt würde...
Weil der Logger Rpi ist extra und der RPI fürs Display ist extra und ich rufe nichts anderes auf mit dem Display RPI den Webserver vom Logger RPI
Hallo
Eine Frage
Was bedeuten diese Zeilen den genau?
@xscreensaver -no-splash Bildschirmschoner AUS aber die anderen weis ich nicht!
@xset s off
@xset -dpms
@xset s noblank
Danke
Warum geht ihr den Umweg über die jpg/png? Lasst es doch direkt (Flourplan o.ä.) anzeigen. Dann kann man sogar noch mit Maus oder Touchscreen was direkt beeinflussen.
Hallo
Was meinst du den damit genau??
Ich möchte nur einen Autostart ,mit Chromium bzw. Kioskmode und möcht wissen was die Sachen bedeuten vielleicht kann man diese auch auschalten weil diese nicht benötigt werden per Route.
Danke
Auch wenn es schon länger her ist.
Im Netz gefunden:
@xset s off
@xset -dpms
@xset s noblank
Mit dem ersten Befehl wird der Bildschirmschoner deaktiviert.
Der zweite Befehl deaktiviert das Display Power Management Signaling (DPMS).
Durch den dritten Aufruf von xset wird verhindert, dass die Bildschirmausgabe abgeschalten wird.