Raspberry Pi - Home Assistant Kiosk

Posted: 2023-01-18

I wanted to set up a simple kiosk dashboard in homeassistant and make it available via a pi with the pi 7" touchscreen.

Kiosk Dashboard

To set up the actual dashboard I simply followed this tutorial from Smart Home Junkie for the config then changed out the view/sub-view contents with the controls and displays I wanted:

Pi Setup

Initial setup was just a simple Raspbian 64 bit SD card - basically just using Raspberry Pi Imager but choosing 64 bit and enabling SSH.

I didn't bother with WiFi - this will be powered by PoE - so it will have an ethernet connection.

Right now - to save on fiddling with the screen board's use of the power pins on the 40 pin connecter and also because I find the fan on the PoE hat distracting - I'm using a simple PoE splitter.

Connect the 7" screen - e.g. The PiHut has an assembly guide

Boot and login.

Kiosk setup

For this - I followed this guide from raspberry

The kiosk.sh script


xset s noblank
xset s off
xset -dpms

unclutter -idle 0.5 -root &

sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' /home/admin/.config/chromium/Default/Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' /home/admin/.config/chromium/Default/Preferences

/usr/bin/chromium-browser --noerrdialogs --disable-infobars --kiosk --force-dark-mode &

while true; do
    sleep 10


I don't want to switch between tabs.

  • no xdotool call - no tab switching. However - you do need the loop - without it the service starts then terminates and chromium shuts down again. Whether this is expected or not - I have no idea - but leaving this empty sleep loop in works fine.
  • force dark mode - the dashboard is less glaring that way.

The service

Description=Chromium Kiosk

ExecStartPre=/bin/sleep 20
ExecStart=/bin/bash /home/admin/kiosk.sh



  • admin instead of pi as username
  • add the ExecStartPre to sleep at the start so that the X desktop had time to load. This may not be needed when it gets updated from the 3B to a 4B pi. You could see the error in service kiosk status output


  • Dim or disable the screen between midnight and 5am or similar. Should wake up on touch though. Not had time to look at this yet.
  • Some sort of box for it