This is part two of the Home Assistant Security System guide. In this part, I show how I configured a dashboard display to complete my HA security system, to give visual feedback and, optionally, be used to manually arm the system.

This alerts us if any door or window is opened while the family is not home and we can quickly glance at the display to see if anything is open before heading out the door.

This guide assumes you followed part one.

Overview

Materials Used

Total cost: ~ $140

Display Setup

Connecting the display to a RPi is very simple. Use the included documentation. There is also a video that can guide you through the process.

Hassbian GUI (optional)

I wanted to use the same Raspberry Pi for Home Assistant and the dashboard display. To do so, I decided to use Hassbian OS. Since Hassbian does not include a GUI, I had to add one.

sudo apt-get update && apt-get -y upgrade
sudo apt-get -y install --no-install-recommends xserver-xorg xinit raspberrypi-ui-mods lxterminal gvfs
sudo apt-get -y install lightdm lxsession
sudo reboot

Enable VNC

It’s helpful to be able to VNC into the dashboard when you need to, such as initial log in.

Enable Auto-login

Chromium Kiosk Configuration

Next, we want to have the dashboard load on boot.

Install Chromium Browser

sudo apt-get -y install chromium-browser

Install unclutter

sudo apt-get -y install unclutter

Unclutter hides the mouse cursor when idle.

Create the script

mkdir -p /home/pi/.bin/
vim /home/pi/.bin/hassdash.sh
xset s off
xset s noblank
xset -dpms
@unclutter -idle 0
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' /home/pi/.config/chromium/Default/Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' /home/pi/.config/chromium/Default/Preferences
chromium-browser --disable-infobars --kiosk --force-device-scale-factor=0.90 https://www.home-assistant.io

Create the service

vim /etc/systemd/system/hassdash.service

Insert this and save:

[Unit]
Description=Hass Dash
Wants=graphical.target
After=graphical.target

[Service]
Type=simple
User=pi
Environment=DISPLAY=:0
Environment=XAUTHORITY=/home/pi/.Xauthority
ExecStart=/bin/bash /home/pi/.bin/hassdash.sh
Restart=on-failure

[Install]
WantedBy=graphical.target

Enable the service

systemctl enable hassdash

Start the service

systemctl start hassdash

You can check if the service started succesfully with systemctl status hassdash

Configure Home Assistant

I configured Lovelace to display each Z-wave sensor status.

views:
  - cards:
      - type: entities
        entities:
          - entity: binary_sensor.ecolink_door_window_sensor_sensor
          - entity: binary_sensor.ecolink_door_window_sensor_sensor_11
          - entity: binary_sensor.ecolink_door_window_sensor_sensor_3
          - entity: binary_sensor.ecolink_door_window_sensor_sensor_4
          - entity: binary_sensor.ecolink_door_window_sensor_sensor_5
          - entity: binary_sensor.ecolink_door_window_sensor_sensor_6
          - entity: binary_sensor.ecolink_door_window_sensor_sensor_2
    panel: false
    title: Sensors
    badges: []
  - cards:
      - type: alarm-panel
        states:
          - arm_home
          - arm_away
        entity: alarm_control_panel.home_alarm
    title: Alarm
    badges: []

You could also configure it to act as a manual alarm panel, but I could not get it to fit on a 7” display.

I plan on trying to use lovelace-card-modder and Kiosk mode to try to get that looking better.

Powering the Display

To power the display I wanted to make sure there were no visible wires. To do so, I ran an ethernet cable from my Ubiquiti PoE switch down to the display. In my case I already had supplies for making ethernet cables. You may not and instead choose to buy a pre-made one of the appropriate length.

Luckily our house had an existing security system that I used to run the ethernet cable. I tapped one end of the ethernet cable to the existing wire at the security panel, then pulled the existing wire upstairs, thus pulling the ethernet cable upstairs to the switch.

If you don’t have a PoE switch you can get an injector for much cheaper, like this one from TP-Link.

Mounting the Display

This part is tricky since each person’s situation is different. In my case, there was an existing alarm panel that was installed when the house was built (also the reason why the paint is mismatched in the picture above). I had to make the hole larger and I will share a couple takeaways from my experience.

Conclusion

Let me know if you have questions and also check out these wonderful sources for more information.

Buy Me A Coffee