A family dashboard configuration for Home Assistant featuring a screensaver mode, person tracking, and integrated calendar views. Calendar events are assigned a color which coordinates with a person or all persons. The default view is scrollable and shown by the week. There is also a traditional monthly view where a day can be selected and all events are listed.
I run this on a Raspberry Pi 5 which is connected to a touch screen. I use this 23.8" touchscreen display.
The following custom cards are used to create the layout:
HACS Search: wallpanel
Repository: https://github.com/j-a-n/lovelace-wallpanel
Purpose: Wall panel mode for your Home Assistant Dashboards
HACS Search: simple-clock-card
Repository: https://github.com/arnog/simple-clock-card
Purpose: Displays clock in screensaver and main view
HACS Search: stack-in-card
Repository: https://github.com/custom-cards/stack-in-card
Purpose: Allows horizontal stacking of cards
HACS Search: card-mod
Repository: https://github.com/thomasloven/lovelace-card-mod
Purpose: Enables custom CSS styling for all cards
HACS Search: mushroom
Repository: https://github.com/piitaya/lovelace-mushroom
Purpose: Modern card designs for person entities and titles
Cards Used:
custom:mushroom-person-cardcustom:mushroom-title-card
HACS Search: week-planner-card
Repository: https://github.com/FamousWolf/week-planner-card
Purpose: Displays weekly calendar view with multiple calendar sources
HACS Search: tabbed-card
Repository: https://github.com/kinghat/tabbed-card
Purpose: Creates tabbed interface for Weekly/Monthly calendar views
HACS Search: atomic-calendar-revive
Repository: https://github.com/totaldebug/atomic-calendar-revive
Purpose: Displays monthly calendar view with event details
HACS Search: layout-card
Repository: https://github.com/thomasloven/lovelace-layout-card
Purpose: Provides custom grid layout system
Entities that need to be changed/provided:
Create the following input boolean in your configuration.yaml or through the UI. This works with the Wall panel mode, and it is used here to convert the display into a photoframe when not in use:
input_boolean:
wallpanel_screensaver:
name: Wallpanel Screensaver
icon: mdi:monitorThe following calendar integrations should be configured:
calendar.family- Family calendar for events shared between people.calendar.person1- Personal calendar for person1calendar.person2- Personal calendar for person2calendar.person3- Personal calendar for person3calendar.holidays_in_united_states- US Holidayscalendar.favorite_football_team- Sports calendarcalendar.favorite_hockey_team- Sports calendar
I pull our calendar from gmail, but feel free to use any calendar method in Home assistant, so long as it provided a calendar entity.
Configure the following persons in Home Assistant:
person.person1person.person2person.person3person.person4
You can click on each person's photo in the dashboard and it will give you their location. I am using iCloud3 to handle this on the backend.
Media files, or photos are stored here for the photoframe/screensaver:
The wallpanel screensaver expects images to be located at:
/media/local/wallpanel/portraits/
I sort photos from a shared album in Apple Photos between portrait and landscape so that I can use these formats on other non-famdash devices.
Upload portrait-oriented photos in your method to this directory for the screensaver rotation.
This dashboard uses the Metro Blue theme, but you can apply and adjust to any theme you like.
Each person card has a custom border color defined in the configuration:
- person1:
#b82d3d(red) - person2:
#1badf8(blue) - person3:
#c57492(pink) - person4:
#d55c00(orange) - Family Event
Adjust these settings in wallpanel.yml:
idle_time: Time before screensaver activates (default: 90 seconds)image_order: Image display order (random/sequential)display_time: Seconds per image (default: 7)
The rest is controlled with card-mod.
