You are currently viewing Home Assistant im Kioskmodus auf Raspberry Pi starten
Kioskmodus

Home Assistant im Kioskmodus auf Raspberry Pi starten

Ich habe in dem vergangenen Artikel gezeigt, wie ich Home Assistant Supervisor auf meinem Raspberry Pi installiere. Das angeschlossene 7 Zoll Touch-Display ist bisher noch nicht zum Einsatz gekommen. Ich möchte die Home Assistant Oberfläche im Vollbild auf dem Display angezeigt bekommen. Dies soll automatisch nach dem Start des Pi’s passieren. Dazu werde ich den Browser im Kioskmodus starten und meine lokale Home Assistant Installation aufrufen.

Vorbereitung

Als erstes führe ich ein Update des Systems aus.

sudo apt-get update && sudo apt-get upgrade -y

Ich brauche für den Kioskmodus einen Browser und ich möchte den Mauszeiger verstecken. Im Normalfall ist der Browser schon installiert und es wird nur noch die Installation des unclutter Tool durchgeführt.

sudo apt-get install chromium-browser unclutter

Autostart konfigurieren

Es existiert eine Datei, in der ich konfigurieren kann, was bei dem Start vom Betriebssystem alles ausgeführt werden soll. Bei meine Raspberry Pi rufe ich die Datei mit dem folgenden Befehl auf:

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

Ich möchte jetzt den Mauszeiger ausblenden, den Bildschirmschoner ausschalten und den Browser Chromium im Kioskmodus starten. Dazu trage ich folgendes in die Datei ein:

# Mauszeiger Ausblenden
@unclutter
# Bildschirmschoner ausschalten
@xset s off
@xset -dpms
@xset s noblank
# Startet Chromium im Vollbild und öffnet Home Assistant
@chromium-browser --noerrdialogs --check-for-update-interval=31536000 --disable-infobars --incognito --kiosk <URL>

Als <URL> muss ich meine Home Assistant URL angeben. Da mein Home Assistant auf diesem Raspberry Pi läuft, kann ich die URL auf http://<IP>:8123/ setzen. Um das ganze zu testen, starte ich den Raspberry Pi neu.

Fehlersuche

Bei mir ist der Browser gestartet, aber die Seite ist weiß geblieben. Nach längerer Suche scheint das Problem mit der GPU zusammenzuhängen. Ich musste die Zeile zum Start des Browsers entsprechend abändern:

@chromium-browser --noerrdialogs --check-for-update-interval=31536000 --disable-infobars --disable-gpu --incognito --kiosk <URL>

Login

Auf dem Raspberry Pi wird mir jetzt die Anmeldeseite angezeigt, aber ich möchte nicht bei jedem Neustart des Raspberry Pi’s meine Tastatur anschließen und meine Benutzerdaten eingeben. Ein Lösung wird von Home Assistant zur Verfügung gestellt. Ich kann in einer Konfigurationsdatei angeben, dass ich einem bestimmten Gerät vertraue und Zugangsberechtigung erteile.

Editor installieren

In der configuration.yaml Datei muss ich die Authentifizierung konfigurieren. Dazu kann ich per SSH über die Konsole die genannte Datei suchen und bearbeiten. Bei meiner Installation stand ich vor der Herausforderung, dass ich die configuration.yaml Datei nicht gefunden habe.

Eine zweite Variante ist die Nutzung eines Add-ons. Ich kann unter Einstellungen>Add-ons, Backups & Supervisor ein Studio Code Server hinzufügen. Dieses Add-on stellt ein Visual Studio Code Editor in meinem Home Assistant zur Verfügung. Mit dem Editor kann ich die Konfigurationsdatei einfach anpassen.

Home Assistant Kiosk Add-on
Unter Add-ons suche ich das Studio Code Server Plugin und installiere es.

Konfigurationsdatei anpassen

Nachdem ich den Editor installiert habe werde ich diesen starten.

Home Assistant Kiosk Editor starten
Nachdem das Add-on installiert ist, kann ich den Editor starten.

Im Editor bekomm ich einige Dateien angezeigt unter denen sich auch die configuration.yaml Datei befindet.

Home Assistant Kiosk Editor
Der Editor ist eine Visual Studio Code Web Version in Home Assistant integriert. Mir werden direkt einige Konfigurationsdateien angezeigt. Ich betrachte hier nur die configuration.yaml Datei.

Dieser Datei hänge ich jetzt den folgenden Code für das Login an.

homeassistant:
  auth_providers:
    - type: trusted_networks
      trusted_networks:
        - <IP des PI's>
      allow_bypass_login: true
    - type: homeassistant

Bei einer .yaml Datei ist die Formatierung sehr wichtig. Der Editor hat in meinem Fall auf Fehler hingewiesen. Die IP meines Rasberry Pi’s mit dem Bildschirm muss ich an der entsprechenden Stelle im vorherigen Code einsetzen.

Jetzt kann der Home Assistant oder der komplette Raspberry Pi neu gestartet werden und auf dem Bildschirm sollte nach einer Weile die Anmeldung automatisch erfolgen.

Links

Dieser Beitrag hat 6 Kommentare

  1. Mischa

    Hallo Lars,
    vielen Dank für den hilfreichen Beitrag und überhaupt für dieses Blog.

    Zum Absatz „Fehlersuche“ habe ich eine kleine Ergänzung. Bei der Angabe der URL in der Autostart Config-File musste ich statt http://:8123/ den Pfad http://localhost:8123/ verwenden. Erst dann hat er mir die Seite angezeigt.

    1. Lars Hieronymi

      Hallo Mischa,
      vielen Dank für deine Anmerkung.
      Bei der URL http://:8123/ kannst du statt einer IP-Adresse auch localhost verwenden, wenn alles auf einem Raspberry Pi läuft.
      LG
      Lars

  2. chris

    wieso kann ich die Datei nicht speichern, bei mir kommt immer „No such file or directory“

    1. Lars Hieronymi

      Vermutlich existiert der Ordnerpfad nicht. Dieser muss vorher angelegt werden, aber eigentlich sollte dieser schon existieren.

  3. Lukas

    Hallo,
    danke für den Artikel. Schön, dass man sich nicht immer gleich stundenlanges Gelaber auf einem YT Kanal reinziehen muss

    Hast du Erfahrungswerte, wie gut man dauerhaft ohne eine Tastatur auskommt? Linux hat hier ja leider nicht wirklich eine brauchbare Display-Tastatur im Angebot.

    1. Lars Hieronymi

      Kommt auf den Anwendungsfall drauf an, aber bisher brauchte ich keine.

Schreibe einen Kommentar