13,3" Full HD Wanddisplay mit Raspberry / Odroid / RockPi etc. und nativer Loxone App

Warnung vor der Loxone App V14

Die App in der Version 14 ist leider von miserabler Qualität und nicht zu empfehlen! Loxone hat hier verschlimmbessert, was verschlimmbessert werden kann. Die App ist extrem lahm in der Bedienung und stürzt sehr häufig ab (man sieht dann eine unendliche Sanduhr). Sie verliert permanent die Verbindung zum Miniserver und zerschiesst sich auch regelmäßig ihre eigene Konfiguration. Die App ist völlig unbrauchbar. Nutzt bitte für diese Anleitung die Loxone App Version 12, das ist die letzte noch einigermaßen lauffähige Version. Ihr findet das Downloadarchiv bei Loxone im Archiv. Näheres dazu hier: https://www.loxforum.com/forum/german/software-konfiguration-programm-und-visualisierung/411914-loxone-app-v14-v%C3%B6llig-unbrauchbar

Loxone hat den Downloadlink im Archiv für die letzte Version 12 (V12.2.9) mittlerweile aus dem Archiv gelöscht. Hier könnt ihr sie weiterhin herunterladen (Arm64 Version): https://file.io/PpPePubm4F6x

 

 

Diese Anleitung beschreibt, wie ihr mit Hilfe eines Raspberry Pis oder sontigem SBC (Einplatinenrechner) ein Full HD Wanddisplay (1920 x 1080 Pixel) für Loxone inkl. Touchbedienung aufbauen könnt. Hierzu verwenden wir die native Loxone App für ArmV7l bzw. Arm64 und ein 13,3” HDMI Touch Display von Waveshare mit IPS Panel, Glasfront und Full HD Auflösung.

Fragen und Diskussionen bitte nicht hier in den Kommentaren sondern im Loxforum: https://www.loxforum.com/forum/hardware-zubeh%C3%B6r-sensorik/338746-13-3-full-hd-wanddisplay-mit-raspberry-pi-und-nativer-loxone-app

Hardware

  • Einplatinenrechner, z. B. Odroid C4 mit 4 GB RAM (100 EUR) oder Raspberry Pi 4 mit 4 GB RAM (ca. 100 EUR). 4 GB RAM sind Minimum, ausreichend CPU-Leistung sollte vorhanden sein (moderne QuadCore CPU)

  • 13,3" IPS Display mit HDMI / VGA Eingang, kapazitivem Touchscreen und Gehäuse, z. B. von BERRY BASE, ca. 210 EUR

  • Gegebenenfalls: 5V Lüfter 40x40mm mit PWM-Regelung (3 Adern!), ca. 6 EUR (siehe unten)

  • Armor Gehäuse für Raspberry Pi 4 (großer Kühlkörper), z. B. von BERRYBASE, ca. 10 EUR

  • Eventuell 90° Winkeladapter für USB und HDMI, um die Kabel unsichtbar verlegen zu können

Leider ist die Loxone App (und auch das Webinterface) so miserabel programmiert, dass sie extrem leistungshungrig ist. Ich habe zunächst versucht, dieses Projekt mit einem Raspberry A3+ umzusetzen. Dieser verbraucht deutlich weniger Energie als der Pi4. Und immerhin hat auch der A3+ 500 MB RAM und eine Quadcore CPU. Allerdings hat die Loxone App den Pi zu mehr als 100% ausgelastet. Ein vernünftiges Arbeiten war damit nicht möglich. Auch auf einem “vollen” Pi3 mit 1 GB RAM erscheint beim Bedienen der App immer wieder das “Bitte warten…”-Fenster.

Das Display von Waveshare ist ein wirklich hochwertiges Display. Es ist durch das IPS Panel blickwinkel-unabhängig über 160°, hat ein kontrastreiches, helles Display und der Touch ist extrem präzise. Das Panel hat eine Glasfront, sodass sich die Bedienung auch recht hochwertig anfühlt. Das Gehäuse ist allerdings aus Kunststoff. Die Kabelanschlüsse liegen dabei etwas nach hinten versetzt, sodass man mit entsprechenden Winkel-Adaptern oder kurzen Steckern das Display an die Wand montieren kann, ohne dass hässliche Kabel an der Seite hervorscheinen.

Das Panel verbraucht je nach Hintergrundbeleuchtung ungefähr 6 Watt.

Stromverbrauch

Vor dieser Lösung habe ich im Haus 3 Wandtablets installiert gehabt. Hierbei handelte es sich um Samsung Galaxy Tab A. Dank der schlechten Programmierung der App reichten diese Tablets aber leistungsmäßig nicht mehr für eine flüssige Bedienung aus. Vom Stromverbrauch sind Tablets natürlich sehr gut geeignet, da sie auf das Energiesparen getrimmt sind. Die hier vorgestellte Lösung verbraucht daher auch deutlich mehr Energie als eine Tabletlösung. Ein Grund mit ist leider der recht große Energiebedarf des Pi4. Es ist aus meiner Sicht deswegen um so wichtiger, das Display bei Nichtbenutzung abzuschalten. Wie das geht beschreibe ich weiter unten. Ein Vergleich des Energieverbrauchs zeigt die Unterschiede zu einer Tabletlösung. Ich bin dabei davon ausgegangen, dass das Display 365 Tage im Jahr läuft und davon 25% eingeschaltet und 75% der Zeit ausgeschaltet ist. Die Stromkosten habe ich mit 50 ct/kWh angenommen. Die für den Stromverbrauch verwendete Displayhelligkeit habe ich in der Tabelle rot/fett markiert (Subjektiv nach meinem Empfinden eingestellt).

 

Odroid C4 + Full HD Display 13,3”

Raspberry 4 + Full HD Display 13,3”

Tablet Samsung Galaxy Tab A 10,1”

Tablet Apple iPad Air 4. Generation 10,9”

 

Odroid C4 + Full HD Display 13,3”

Raspberry 4 + Full HD Display 13,3”

Tablet Samsung Galaxy Tab A 10,1”

Tablet Apple iPad Air 4. Generation 10,9”

Display abgeschaltet

2 Watt

3 Watt

2 Watt

1 Watt

Display mit 50% Backlight

7 Watt

8 Watt

5 Watt

3 Watt

Display mit 75% Backlight

-

-

-

4 Watt

Display mit 100% Backlight

9 Watt

10 Watt

6 Watt

7 Watt

Stromverbrauch pro Jahr

28,5 kWh

37,2 kWh

26,3 kWh

15,33 kWh

Kosten pro Jahr (50 ct/kWh)

8,26 EUR

10,80 EUR

7,62 EUR

4,45 EUR

Ersteinrichtung

Zum Einsatz kommt Raspbian (Raspberry Pi OS) in der Desktop-Variante oder aber Diet Pi. Ich empfehle Euch Diet Pi zu verwenden - dieses ist auf Ressourcen-Sparsamkeit getrimmt und optimiert die SD-Karte möglichst nicht im laufenden Betrieb zu belasten. Nutzt in beiden Fällen die 64 Bit Variante (soll laut Google etwa 10% Geschwindigkeitsvorteil bringen…) .Download auf der Diet Pi Homepage: https://dietpi.com/#download oder Raspberry Webseite: https://www.raspberrypi.com/software/

Installiert das Image wie üblich auf eurer SD-Karte und bootet dann den Einplatinenrechner mit angeschlossenem Display und Touchscreen (beim Pi4 das HDMI-Kabel an den ersten HDMI-Port neben dem Stromanschluss) und USB-Kabel des Displays an den Einplatinenrechner angeschlossen. Zusätzlich schließt ihr noch eine Tastatur und eine Maus für die Erstkonfiguration an.

Der Lüfter wird an +5V, GRND und an GPIO 14 angeschlossen (PIN 4, 6, 8). Google hilft Euch, wenn ihr die PINs herausfinden wollt. Normalerweise braucht ihr aber keinen Lüfter.

Diet Pi

Der Ersteinrichtungsassistent startet automatisch beim ersten Einloggen. Er führt Euch durch verschiedene Fragen zur ersten Einrichtung. Als zusätzliches Softwarepaket wählt ihr den “LXDE: ultra lightweight desktop” mit aus. Verpasst ihr das bei der ersten Einrichtung, könnt ihr das Paket jederzeit über den Befehl dietpi-software nachinstallieren.

Über dietpi-config konfiguriert ihr im Menüpunkt "9: Autostart Options" nun das System noch so, dass das System automatisch die grafische Benutzeroberfläche startet und den Standarduser "dietpi" automatisch eingeloggt wird. Das geschieht über die Option "Desktops -> Automatic login":

Unter Diet Pi sind standardmäßig die DPMS Funktionen (Energiesparfunktionen) für Monitore abgeschaltet. Wir wollen unser Display aber später bei Inaktivität ausschalten, daher aktivieren wir diese Funktion mit folgendem Befehl:

sudo mv /etc/X11/xorg.conf.d/98-dietpi-disable_dpms.conf /etc/X11/xorg.conf.d/98-dietpi-disable_dpms.conf.disabled

Rasbian / Raspberry OS

Nach dem ersten Booten führt ihr den Ersteinrichtungsassistenten aus. Dieser wird automatisch nach dem ersten Booten gestartet und sollte selbsterklärend sein. Wichtig ist nur, dass ihr unter “Interfaces” den Dienst SSH mit aktiviert, sodass ihr später per Fernzugriff auf den Pi zugreifen könnt. Ich habe dann unter “Performance” noch den GPU Memory auf 252 gesetzt (da ich eh 4 GB RAM habe) und den Lüfter entsprechend konfiguriert, sodass dieser sich bei 70°C einschaltet. Hier müsst ihr eventuell etwas experimentieren, sodass der Lüfter nicht zu früh angeht, aber den Pi noch sauber herunterkühlen kann. Normalerweise sollte der Lüfter bei unserer Anwendung gar nicht angehen.

Zum Schluss habe ich noch Bluetooth über das Icon oben rechts auf dem Panel ausgeschaltet, weil ich es nicht benötige.

Software nachinstallieren

Nun installieren wir weitere Software nach. Damit nachher der Desktop des Raspberrys versteckt bleibt, benötigen wir ein paar Hilfsprogramme. Zudem müssen wir natürlich die Loxone App installieren. Des weiteren haben wir später keine Tastatur mehr am Pi hängen, sodass wir auch eine virtuelle Tastatur nachinstallieren (so wie man das vom Tablet her kennt).

Zunächst öffnen wir den mitgelieferten Browser und laden uns die Loxone App für Arm64 (bzw. bei 32 Bit Systemen ArmV7l) herunter: https://www.loxone.com/dede/support/downloads/

Download der letzten lauffähigen V12.2.9 ist aus dem Loxone-Archiv gelöscht worden - hier könnt ihr Euch die Arm64 Version direkt herunterladen: https://file.io/PpPePubm4F6x

Nun öffnen wir ein Terminal (Icon oben links im Panel) und installieren die Software:

sudo apt install onboard unclutter netcat-openbsd gnome-keyring libnss3 desktop-file-utils at-spi2-core

Anschließend installieren wir die Loxone App. Diese wurde vom Browser im Verzeichnis ~/Downloads abgespeichert. Der Dateiname variiert je nach Version (Tipp: gebt die ersten 1-3 Buchstaben ein und drückt dann TAB - der Dateiname wird in der Shell dann automatisch vervollständigt):

cd ~/Downloads
sudo dpkg -i 122820220202-arm64.deb

Jetzt ist es an der Zeit den Raspberry einmal frisch zu rebooten.

Software einrichten

Als erstes richten wir uns die virtuelle Tastatur ein. Startet sie zunächst in den (hässlichen) Defaulteinstellungen: Raspberry Menü → Barrierefreiheit → Onboard. Nun klicken wir oben rechts im Panel auf das Onboard-Icon und wählen “Einstellungen” aus. Die von mir präferierten Einstellungen findet ihr auf den folgenden Screenshots. Stellt Euch die Tastatur so ein, wie sie Euch gefällt. Wichtig ist nur, dass ihr unter “Allgemein” das “Schwebende Icon anzeigen…” auswählt und unter “Fenster” die Option “Fenster im Vordergrund halten” anwählt. Damit seht ihr die Tastatur später auch im Vollbildmodus der Loxone App und ihr bekommt ein kleines Icon, mit dem ihr die Tastatur aufrufen könnt. Leider funktioniert es nicht, die Tastatur automatisch aufpoppen zu lassen, so wie man das vom Tablet her kennt. Das geht wohl nur unter dem Fenstermanager GNOME, den wir aber aus Ressourcengründen hier nicht verwenden.

Wenn ihr mit der Einrichtung fertig seit, klickt ihr auf die drei Punkte unten rechts auf der Tastatur und dann auf das Pfeilkreuz. Nun könnt ihr die Tastatur an die gewünschte Stelle schieben und in der Größe entsprechend euren Vorlieben verändern. Schließt ihr die Tastatur, so erscheint ein schwebendes Icon auf dem Bildschirm, über das man die Tastatur wieder zum Vorschein bringt. Das schiebt man typischerweise nach unten links (da stört es später nicht in der Loxone App). Aktuell schiebt es aber bitte nach oben mittig auf den Bildschirm! Falls wir die Auflösung des Displays später noch einmal ändern wollen (siehe unten), so ist es ansonsten nicht mehr erreichbar! Das Icon lässt sich übrigens ebenfalls in seiner Größe ändern.

Wenn ihr fertig seit, könnte das Resultat ungefähr so aussehen:

Jetzt probieren wir die Loxone App zu starten. Teilweise erscheint beim Starten ein GPU-Fehler und die App startet nicht. Wiederholt dann einfach den Start so lange, bis sie “durchstartet”. Das ist wohl ein Bug in der App oder das Ding ist einfach nicht sauber programmiert. Sobald sie aber einmal gestartet ist, läuft sie auch durch. Wir werden uns später um einen Workaround kümmern, sodass die App trotzdem automatisch startet (siehe unten).

Habt ihr es geschafft, solltet ihr die Loxone App sehen und könnt Euch diese entsprechend einrichten. Der Vorteil der App gegenüber dem Webinterface ist, dass ihr Euch nur einmal einloggen müsst und die App sich den Login dann merkt. Das ist leider beim Webinterface nicht so.

Nervt Euch nun der Gnome-Keyring-Manager mit ständigen Popups, dass ihr Euer Passwort eingeben sollt, dann setzt hier einfach ein leeres Passwort. Dann wird die Passworteingabe (nach einer Warnung) deaktiviert. Solltet ihr bereits ein Passwort gesetzt haben, so könnt ihr dieses mit folgendem Befehl löschen:

Diet Pi: sudo rm -r /home/dietpi/.local/share/keyrings && sudo rm -r /root/.local/share/keyrings

Raspbian: sudo rm -r /home/pi/.local/share/keyrings && sudo rm -r /root/.local/share/keyrings

Bildschirm-Ausrichtung und Auflösung

Leider hat Loxone die App so programmiert, dass sie im Querformat nicht die volle Auflösung des Bildschirms ausnutzt. Bei Full HD mit 1920 Pixeln wird ca. 50% des Platzes an den Seiten verschwendet und nicht genutzt. Ihr habt 3 Möglichkeiten:

  1. Ihr lebt mit der Platzverschwendung und hofft, dass Loxone die Auflösung zukünftig besser ausnutzt. Nachteil: Alle Bedienelemente in der App sind recht klein.

  2. Ihr nutzt das Display im Hochformat (wie das geht zeige ich Euch später). Vorteil: Super Platzausnutzung. Nachteil: leider ist der Rand des Displays dann links und rechts nicht identisch (hat mich persönlich optisch sehr gestört) und auch hier sind die Bedienelemente in der App dann sehr klein

  3. Ihr reduziert die Auflösung des Displays auf 1280 x 720 und nutzt es im Querformat. Vorteil: die Bedienelemente sind größer.

 

Ich persönlich habe mich für Variante 3 entschieden. Das Bild wird dadurch nicht unschärfer o. ä. Wenn Loxone irgendwann die volle Auflösung von Displays unterstützt, werde ich vermutlich wieder zur vollen Full HD Auflösung wechseln. Hier nochmal alle 3 Varianten im Vergleich:

Auflösung ändern

Die Auflösung ist schnell geändert. Unter Rasbian geht dazu unter Raspberry Menü → Einstellungen → Screen Configuration, klickt mit der rechten Maustaste auf den ersten HDMI-Bildschirm und wählt unter “Auflösung” die 1280 x 720 Pixel aus. Mit Klick auf den Haken wird die neue Auflösung aktiviert und ihr müsst den Raspberry rebooten. Unter Diet Pi funktioniert das für Raspberrys nicht - hier ändert ihr die Auflösung dietpi-config.

Ausrichtung ändern / Bildschirm drehen

Wollt ihr den Bildschirm drehen, muss das in zwei Schritten geschehen. Als erstes muss das Display gedreht werden, und als zweites muss auch der Touch gedreht werden (das passiert nicht automatisch!). Der Bildschirm ist schnell gedreht. Das geschieht analog der Auflösung über Raspberry Menü → Einstellungen → Screen Configuration. Klickt mit der rechten Maustaste auf den ersten HDMI-Bildschirm und wählt unter “Drehen” die gewünschte Drehrichtung aus. Mit Klick auf den Haken wird die neue Ausrichtung aktiviert und ihr müsst den Rasperry rebooten.

Nun müsst ihr auch noch den Touch drehen. Dazu muss eine Konfigurationsdatei auf der Kommandozeile geändert werden. Dazu kopieren wir zunächst eine Default-Datei in das entsprechende Verzeichnis und rufen die Datei anschließend mit einem Editor Deiner Wahl auf (z. B. nano):

Jetzt sucht ihr den Abschnitt in der Datei, der den Touchscreen konfiguriert und fügt folgende Zeile hinzu:

Je nachdem wie ihr Euer Display nun gedreht habt, müsst ihr die Zahlenkombination in der Zeile entsprechend anpassen:

Rechts: 0, 1, 0, -1, 0, 1, 0, 0, 1

Links: 0, -1, 1, 1, 0, 0, 0, 0, 1

180°: -1, 0, 1, 0, -1, 1, 0, 0, 1

Weitere Informationen findet ihr im Waveshare Wiki (Hinweis: Das Rotieren über die config.txt, welches im Wiki erklärt wird, funktioniert nur bis einschließlich dem Pi3, ab dem P4 funktioniert diese Variante durch geänderte Grafikchips nicht mehr): https://wavesharejfs.blogspot.com/2018/03/touch-rotating-for-waveshare-lcd-modify.html#:~:text=To%20rotate%20the%20display%2C%20you,the%20touch%20still%20the%20same.

Über Strg+X und anschließend “J” speichert ihr die Datei ab. Jetzt wieder rebooten und der Touch sollte passend zum Display gedreht sein.

Das schwebende Icon sowie die virtuelle Tastatur an sich könnt ihr jetzt noch an die passenden Stellen auf dem Display schieben.

Bildschirm über Miniserver ein-/ausschalten

Das Display verbraucht ca. 6 W (das sind 52 kWh pro Jahr) an Energie. Es macht also Sinn das Display auszuschalten, wenn es nicht verwendet wird. Dazu gibt es zwei Möglichkeiten:

  1. Nach einer bestimmten Zeit der Inaktivität lasst ihr den Monitor automatisch ausschalten. Das funktioniert immer, allerdings müsst ihr ihn dann zum Wiederverwenden einmal antippen. Er kommt dann innerhalb von ca. 1 Sekunde aus dem Standby zurück

  2. Ihr schaltet das Display je nach Präsenz ein und aus. Das ist sehr smart, weil dann das Display beim Vorbeigehen eingeschaltet ist, ohne das ihr es explizit antippen müsst. Hierzu benötigt ihr natürlich entsprechende Präsenz- oder Bewegungsmelder.

Um Variante 1 zu testen (wie das automatisch geht zeige ich Dir später) müsst ihr einfach nur ein Terminal öffnen und folgenden Befehl eingeben:

Die drei Zahlen stehen für Sekunden Inaktivität für Standby, Suspend und Off. Ich habe vom Verbrauch und der Reaktionszeit keinen Unterschied zwischen diesen drei Modi festgestellt (vermutlich unterstützt das Display nicht alle) und so Standby und Suspend auf 0 (deaktiviert) gesetzt und 300 Sekunden für das Ausschalten gesetzt. Damit schaltet sich das Display nach 5 Minuten Inaktivität automatisch ab. Mit folgendem Befehl deaktiviert ihr den DPMS Modus:

Für Variante zwei müssen wir etwas mehr in die Trickkiste greifen. Wir wollen das Display per Virtuellem UDP-Ausgang vom Miniserver aus steuern. Dazu legen wir folgendes Skript im Ordner /usr/local/bin wieder mit einem Texteditor Deiner Wahl an:

Das vollständige Skript:

Jetzt müsst ihr das Skript noch ausführbar machen:

Das Skript lauscht auf UDP Port 5002 (Zeile 6) auf eingehende Pakete. Empfängt es hier die Befehle “standby”, “suspend”, “off” oder “on”, so führt es den entsprechenden Befehl mit der Software xset aus. So können wir später direkt vom Miniserver aus das Display entsprechend steuern.

Zum Testen startet ihr das Skript in einem Terminal:

Nun öffnet ein zweites Terminal und setzt zum Testen den Befehl zum Ausschalten ab:

Das sendet den Befehl “off” an localhost (IP Adresse 127.0.0.1) auf Port 5002. Wenn alles geklappt hat, sollte das Display ausgehen. Ihr könnt es durch die Maus oder den Touch wieder aufwecken.

Wenn das geklappt hat, könnt ihr Euch einen Virtuellen UDP-Ausgang im Miniserver anlegen. Wie das geht findet ihr in der Loxone-Doku oder auch hier im Wiki. Als IP-Adresse müsst ihr nun die echte IP-Adresse eures Einplatinenrechners nutzen (hier: 192.168.3.37). Stellt euren Router so ein, dass der Einplatinenrechner immer die gleiche IP-Adresse bekommt, sonst funktioniert das nicht! Alternativ könnt ihr (wenn euer Netzwerk entsprechend konfiguriert ist) natürlich anstelle der IP-Adresse auch den Hostnamen verwenden.

Nun müsst ihr für die einzelnen Aktionen noch jeweils einen Virtuellen Ausgang Befehl anlegen. Ich mache es so, dass der Befehl bei EIN den Befehl “on” sendet und bei AUS den Befehl “off” sendet. So kann ich das Display dann mit nur einem Befehl ein- und ausschalten. Ich wiederhole zudem die Befehle alle 5 Sekunden, damit ich sicher gehen kann, dass das Display auch immer schaltet, selbst wenn mal ein Netzwerkpaket nicht ankommt. Dem Befehl “on” bzw. “off” müsst ihr noch ein “\n” (Zeilenumbruch) anhängen.

Zum Testen legt ihr Euch einfach einen Schalter in Loxone Config an und hängt an den Ausgang den Virtuellen Ausgang Befehl an. Nicht vergessen zum Testen manuell das Skript udp_receiver.sh in einem Terminal auf dem Raspberry zu starten!

KIOSK Mode einrichten

Nun geht es daran den Kiosk Mode einzurichten. Wir wollen ja nicht immer alles manuell starten und einrichten. Wenn der Raspberry eingeschaltet wird, soll alles automatisch starten und am Ende die Loxone App auf dem Display erscheinen. Den Desktop darunter wollen wir überhaupt nicht mehr sehen.

Als erstes kümmern wir uns um die Loxone App. Diese startet ja nicht immer sofort sondern bricht manchmal mit einem GPU-Fehler ab. Wir erstellen uns also zum Starten ein Skript, welches den Startvorgang 30x wiederholt, bis er erfolgreich war. Das sollte reichen. Nach meiner Erfahrung braucht es maximal 3-5 Versuche um die App erfolgreich zu starten. Wir legen uns also wieder mit einem Editor unserer Wahl ein entsprechendes Start-Skript in /usr/local/bin an:

Das vollständige Skript:

Jetzt müsst ihr das Skript noch ausführbar machen:

Nun können wir die App ganz einfach mit folgendem Befehl starten - der Startvorgang wird dann bis zu 30x wiederholt, bis die App erfolgreich gestartet wurde:

Dieses Skript führen wir später direkt nach dem Booten aus. Wir wollen aber auch, dass das Programm im laufenden Betrieb überwacht wird. Wird es irgendwann einmal aus Versehen beendet oder stürzt ab, wollen wir, dass es automatisch wieder neu gestartet wird. Dazu legen wir uns noch ein Watchdog-Skript an, welches die Loxone App (und wenn installiert auch den udp_receiver.sh) überwacht und ggf. neu startet. Wieder legen wir mit einem Editor unserer Wahl ein entsprechendes Skript in /usr/local/bin an:

Das vollständige Skript:

Jetzt müsst ihr das Skript noch ausführbar machen:

Nun legen wir einen sogenannten Cronjob an und lassen dieses Skript jede Minute automatisch ausführen. Und wieder legen wir eine entsprechende Datei mit dem Editor unserer Wahl an:

Die Cronjob-Datei muss für Raspbian folgenden Inhalt haben:

Die Cronjob-Datei muss für Diet Pi folgenden Inhalt haben:

Als nächstes kümmern wir uns darum, dass das Panel und der Rest des Desktops nicht mehr sichtbar ist und all unsere Software (virtuelle Tastatur, Loxone App etc.) automatisch nach dem Booten gestartet wird. Dazu editieren wir die Autostart-Datei des Fenstermanagers wieder mit einem Editor unserer Wahl.

Unter Raspbian / Raspberry OS:

Unter Diet Pi:

Die vollständige Konfigurationsdatei sollte nach dem Editieren wie folgt aussehen:

Nun könnt ihr rebooten. Es sollte dann nach dem Start die Loxone App automatisch gestartet werden und auch die virtuelle Tastatur verfügbar sein. Zugriff habt ihr auf euren Raspberry über SSH und PuTTy. Wenn ihr den Desktop doch einmal wieder braucht, editiert einfach obige Datei und entfernt die Kommentarzeichen in Zeile 1 und 2 bzw. 6 und 7 und kommentiert das Starten der Loxone App aus (das macht ihr per SSH). Nach einem Reboot könnt ihr dann wieder ganz normal auf euren Desktop zugreifen.

Die Datei oben schaltet das Display nach 60 Minuten Inaktivität zur Sicherheit ab. Eigentlich wird das Abschalten ja über UDP und den Miniserver gesteuert, ich schalte das hier nur zur Sicherheit noch einmal nach 60 Minuten. Wer keine Möglichkeit der Steuerung per UDP hat, kann hier in Zeile 22 natürlich auch eine kürzere Zeit einstellen, nach der das Display abschalten soll.

Sollte bei Euch die Loxone App noch mit einer Titelleiste am oberen Rand gestartet werden, müsst ihr nun noch eine weitere Datei editieren.

Unter Raspbian / Raspberry OS:

Unter Diet Pi:

Sucht in der Datei nach der Sektion <applications> .... </applications> und setzt zwischen den beiden Tags die folgenden Zeilen ein:

Damit werden alle Programme im Vollbildmodus automatisch ohne Titelleiste gestartet.

Watchdog einrichten

Weiter oben haben wir ja bereits einen kleinen Watchdog für unseren Service eingerichtet. Linux bietet aber einen noch mächtigeren Watchdog-Service, der auch den Rest des Systems überwacht. So zum Beispiel die Speicherauslastung oder CPU-Last, den Netzwerkverkehr, die CPU-Temperatur etc. Da wir auf dem System nur einen Touchscreen im Kioskmode haben, können wir zum Beispiel bei Ausfall der Netzwerkverbindung nicht mehr auf den SBC zugreifen und müssten ihn manuell neu starten. Das wiederum geht eigentlich nur durch “stromlos” schalten. Daher richten wir uns jetzt den Linux-Watchdog noch ein. Zunächst installieren wir uns das Watchdog-Paket mit:

Der Watchdog kann über die Datei “/etc/watchdog.conf” konfiguriert werden. Diese Datei könnt ihr nach euren Wünschen anpassen. Man kann auch zusätzliche Testskripte hinterlegen, die noch weitere Funktionen des Systems über Bash-Skripte prüfen und dem Watchdog den “Health-Status” dieser Dienste mitteilt. Mehr dazu findet ihr in der Manpage: und

Meine Konfigurationsdatei sieht wie folgt aus:

Nachdem ihr die Datei bearbeitet habt müsst ihr den Service noch aktivieren und dann starten:

Die Logeinträge des Watchdog könnt ihr Euch mit folgendem Befehl anschauen:

Ihr solltet eine Ausgabe wie dieser hier sehen:

Soundausgabe

Die Soundausgabe vom Einplatinenrechner wird über HDMI direkt an die Lautsprecher des Displays weitergeleitet. Der Anschluss über die Klinkenbuchse des Displays ist nicht notwendig. Die Tonausgabe der Loxone-App (z. B. Klingelton des Türsteuerungsbausteins) wird direkt ohne weitere Konfiguration am Display ausgegeben.

CPU Temperatur

Ich betreibe aktuell den Pi4 ohne zusätzlichen Lüfter mit einem großen Kühlkörper (gesamtes Gehäuse fungiert als Kühlkörper). Die CPU Temperatur steigt dabei nicht über 54 °C und liegt im Mittel zwischen 45-50 °C. Der Pi4 sitzt in einem 150x150mm Gehäuse, die Luft kann hier gering zirkulieren (kleiner Abstand zwischen Öffnung und Display). Aus meiner Sicht ist hier kein Lüfter notwendig.

So, und nun viel Spaß mit eurem neuen Loxone Wanddisplay!