family-dashboard-code ▸ README.md
updated 2026-02-28

Family Dashboard

A self-hosted DAKboard replacement using Home Assistant, featuring: - Clock and date display - Google Calendar integration - Weather widget - BVG Berlin transit departures - Alexa timer display (new!) - Shared grocery list with voice commands (new!)

Architecture

┌─────────────────────────────────────────────────────────┐
│                    WALL DISPLAY (Pi)                    │
│  ┌─────────────────────────────────────────────────┐   │
│  │     Home Assistant Lovelace Dashboard           │   │
│  │  ┌──────────┐ ┌──────────┐ ┌──────────────────┐│   │
│  │  │ Calendar │ │ Weather  │ │  BVG Departures  ││   │
│  │  └──────────┘ └──────────┘ └──────────────────┘│   │
│  │  ┌──────────────────┐ ┌───────────────────────┐│   │
│  │  │  ALEXA TIMERS    │ │    GROCERY LIST       ││   │
│  │  │  🍳 Eggs: 4:32   │ │    ☐ Milk            ││   │
│  │  │  🍞 Bread: 12:00 │ │    ☐ Eggs            ││   │
│  │  └──────────────────┘ └───────────────────────┘│   │
│  └─────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────┘

Prerequisites

Quick Start

Phase 1: Install Home Assistant

  1. Download Home Assistant OS from https://www.home-assistant.io/installation/raspberrypi
  2. Flash to SD card using Raspberry Pi Imager
  3. Boot the Pi and wait ~20 minutes for initial setup
  4. Access at http://homeassistant.local:8123
  5. Complete the onboarding wizard

Phase 2: Add Core Integrations

Google Calendar

  1. Go to Settings → Devices & Services → Add Integration
  2. Search for “Google Calendar”
  3. Follow OAuth flow to authenticate
  4. Select calendars to sync

Weather

  1. Settings → Devices & Services → Add Integration
  2. Search for “OpenWeatherMap” (or your preferred provider)
  3. Get free API key from https://openweathermap.org/api
  4. Configure location (Berlin)

Phase 3: Alexa Timer Display

See docs/alexa-timer-setup.md for detailed instructions.

Summary: 1. Install HACS (Home Assistant Community Store) 2. Install Alexa Media Player via HACS 3. Install card-alexa-alarms-timers custom card 4. Add to dashboard

Phase 4: Grocery List (OurGroceries)

  1. Create account at https://www.ourgroceries.com
  2. In HA: Settings → Devices & Services → Add Integration → OurGroceries
  3. Enter your credentials
  4. Test voice commands: - “Hey Siri, add milk with OurGroceries” - “Alexa, add eggs with OurGroceries”

Phase 5: BVG Transit

  1. In HACS, add custom repository: vas3k/home-assistant-berlin-transport
  2. Install Berlin Transport integration
  3. Restart Home Assistant
  4. Add integration via Settings → Devices & Services
  5. Configure your station and walking time

Phase 6: Dashboard Setup

  1. Copy ha-config/lovelace/wall-dashboard.yaml content
  2. In HA: Settings → Dashboards → Add Dashboard
  3. Name it “Wall Display”
  4. Edit dashboard → Raw configuration editor
  5. Paste the YAML
  6. Save

Phase 7: Pi Kiosk Mode

# Run the kiosk setup script
chmod +x scripts/kiosk-setup.sh
sudo ./scripts/kiosk-setup.sh

# Configure autostart
chmod +x scripts/autostart.sh
mkdir -p ~/.config/autostart
cp scripts/autostart.sh ~/.config/autostart/

# Reboot to apply
sudo reboot

Configuration Files

File Purpose
ha-config/configuration.yaml HA configuration snippets to add
ha-config/lovelace/wall-dashboard.yaml Dashboard layout
scripts/kiosk-setup.sh Pi display configuration
scripts/autostart.sh Browser auto-launch
docs/alexa-timer-setup.md Alexa Media Player guide

Voice Commands

Alexa

Siri

Verification Checklist

Troubleshooting

Alexa timers not showing

Grocery list not updating

Dashboard not loading on boot

Screen blanking despite settings

Cost Comparison

Item DAKboard This Solution
Annual cost $35/year $0
Alexa Timers
Voice grocery list Limited ✅ Full
Customization Limited Unlimited

Future Enhancements

Resources