Files
homelab-optimized/docs/services/home-assistant/README.md
Gitea Mirror Bot 24b249b290
Some checks failed
Documentation / Deploy to GitHub Pages (push) Has been cancelled
Documentation / Build Docusaurus (push) Has started running
Sanitized mirror from private repository - 2026-04-19 09:32:43 UTC
2026-04-19 09:32:43 +00:00

17 KiB
Raw Blame History

🏠 Home Assistant Configuration

This document covers all Home Assistant instances across the homelab, including automations, integrations, and configurations.

Overview

Instance Location Hardware HA Version Purpose
HA Green Honolulu, HI Home Assistant Green 2026.1.3 Hawaii smart home control
HA NUC Concord, CA Intel NUC6i3SYB TBD Primary home automation hub

🌺 Honolulu Instance (Home Assistant Green)

Hardware Details

  • Device: Home Assistant Green
  • CPU: ARM Cortex-A55 (4-core)
  • RAM: 4GB LPDDR4
  • Storage: 32GB eMMC (8.2GB used, 31%)
  • Network: 192.168.12.202/24
  • OS: Home Assistant OS 6.12.63-haos

Add-ons Installed

Add-on Purpose
Matter Server Matter/Thread smart home protocol support
Advanced SSH & Web Terminal Remote shell access

Custom Components (HACS)

Component Purpose
HACS Home Assistant Community Store
Oura Oura Ring health/sleep tracking integration
Tapo Control TP-Link Tapo camera PTZ control

🤖 Automations

1. Hawaii Living Room - Motion Lights On

Purpose: Automatically turn on living room lights when motion is detected in the evening.

id: '1767509760079'
alias: Hawaii Living Room Camera Motion Turn On Lights
triggers:
  - type: motion
    device_id: b598fe803597a6826c0d1be292ea6990
    entity_id: 600ef0e63bf50b958663b6602769c43d
    domain: binary_sensor
    trigger: device
conditions:
  - condition: time
    after: '16:00:00'
    before: '01:00:00'
    weekday: [sun, mon, tue, wed, thu, fri, sat]
actions:
  - action: light.turn_on
    target:
      entity_id:
        - light.hawaii_cocina_white_fan_2_bulbs
        - light.hawaii_lightstrip
        - light.hawaii_white_fan_1_bulb_2
        - light.hawaii_pineapple_light_l535e
        - light.hawaii_white_fan_1_bulb_2_2
mode: single
Setting Value
Trigger Living room camera motion sensor
Time Window 4:00 PM - 1:00 AM
Days Every day
Lights Controlled 5 (fan bulbs, lightstrip, pineapple lamp)

2. Hawaii Living Room - No Motion Lights Off

Purpose: Turn off living room lights after 20 minutes of no motion.

id: '1767511914724'
alias: Hawaii Living Room Camera No Motion Turn Off Lights
triggers:
  - type: no_motion
    device_id: 6977aea8e1b5d86fa5fdb01618568353
    entity_id: a00adebc3cff7657057b84e983f401e3
    domain: binary_sensor
    trigger: device
    for:
      hours: 0
      minutes: 20
      seconds: 0
conditions: []
actions:
  - action: light.turn_off
    target:
      entity_id:
        - light.hawaii_cocina_white_fan_2_bulbs
        - light.hawaii_lightstrip
        - light.hawaii_pineapple_light_l535e
        - light.hawaii_white_fan_1_bulb_2_2
        - light.hawaii_white_fan_1_bulb_2
mode: single
Setting Value
Trigger No motion for 20 minutes
Time Window Always active
Lights Controlled 5 (same as above)

3. Hawaii Bedroom - Motion Lights On

Purpose: Turn on bedroom lights when motion is detected in the evening.

id: '1767514792077'
alias: Hawaii Bedroom Camera Motion Turn On Lights
triggers:
  - type: motion
    device_id: 6977aea8e1b5d86fa5fdb01618568353
    entity_id: 9e71062255147ddd4a698a593a343307
    domain: binary_sensor
    trigger: device
conditions:
  - condition: time
    after: '18:00:00'
    before: '23:00:00'
    weekday: [sun, mon, tue, wed, thu, fri, sat]
actions:
  - action: light.turn_on
    target:
      entity_id:
        - light.hawaii_bedroom_palm_lights
        - light.hawaii_pink_rose_dimmer_plug
mode: single
Setting Value
Trigger Bedroom camera motion sensor
Time Window 6:00 PM - 11:00 PM
Days Every day
Lights Controlled 2 (palm lights, rose dimmer)

📊 Automation Summary

┌─────────────────────────────────────────────────────────────────────┐
│                    HAWAII AUTOMATION FLOW                           │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  LIVING ROOM                          BEDROOM                       │
│  ════════════                         ═══════                       │
│                                                                     │
│  ┌──────────────┐                    ┌──────────────┐              │
│  │ Tapo Camera  │                    │ Tapo Camera  │              │
│  │ Motion Sensor│                    │ Motion Sensor│              │
│  └──────┬───────┘                    └──────┬───────┘              │
│         │                                   │                       │
│         ▼                                   ▼                       │
│  ┌──────────────┐                    ┌──────────────┐              │
│  │ Motion       │                    │ Motion       │              │
│  │ Detected?    │                    │ Detected?    │              │
│  └──────┬───────┘                    └──────┬───────┘              │
│         │                                   │                       │
│    YES  │  NO (20min)                  YES  │                       │
│         │                                   │                       │
│         ▼                                   ▼                       │
│  ┌──────────────┐                    ┌──────────────┐              │
│  │ 4PM - 1AM?   │                    │ 6PM - 11PM?  │              │
│  └──────┬───────┘                    └──────┬───────┘              │
│         │                                   │                       │
│         ▼                                   ▼                       │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │ 💡 Turn ON   │  │ 💡 Turn OFF  │  │ 💡 Turn ON   │              │
│  │ • Fan bulbs  │  │ All lights   │  │ • Palm lights│              │
│  │ • Lightstrip │  │              │  │ • Rose dimmer│              │
│  │ • Pineapple  │  │              │  │              │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

🔌 Device Inventory (Hawaii)

Lights

Entity ID Device Location
light.hawaii_cocina_white_fan_2_bulbs Ceiling fan bulbs Kitchen/Living
light.hawaii_lightstrip LED strip Living room
light.hawaii_white_fan_1_bulb_2 Ceiling fan bulb Living room
light.hawaii_white_fan_1_bulb_2_2 Ceiling fan bulb Living room
light.hawaii_pineapple_light_l535e Pineapple lamp (Tapo L535E) Living room
light.hawaii_bedroom_palm_lights Palm tree lights Bedroom
light.hawaii_pink_rose_dimmer_plug Rose lamp (dimmer plug) Bedroom

Cameras (Tapo)

Device Location Features
Living Room Camera Living room Motion detection, PTZ
Bedroom Camera Bedroom Motion detection

🏠 Concord Instance (Intel NUC) - Verified 2026-04-19

Hardware Details

  • Hostname: vish-concord-nuc
  • Device: Intel NUC6i3SYB
  • CPU: Intel Core i3-6100U (2-core/4-thread, 2.3GHz)
  • RAM: 16GB DDR4
  • Storage: 240GB Toshiba VX500 SSD (67% used)
  • OS: Ubuntu 24.04.3 LTS
  • Network: eth0 192.168.68.100/22 — deliberately on a separate LAN from 192.168.0.0/24 homelab (see mDNS / Thread BR notes in gl-s200-integration.md)
  • Tailscale: 100.72.55.21 (internal_url set to this)

Deployment

9 Custom Dashboards (YAML mode, in-repo)

Dashboard File Content
Home home.yaml Time-aware greeting, chip strip (weather/Oura/Plex/AdGuard/speedtest), persons, Oura gauges, weather forecast, 5-room nav with live state templates, quick scenes, homelab strip
Living Room livingroom.yaml Weather (daily+hourly), TV media, network gauges (speedtest), PG&E billing, AdGuard stats
Kitchen kitchen.yaml 5 TL135 bulbs + scene buttons (Cooking / Dim / All)
Bathroom bathroom.yaml 6 TL135 bulbs + Relax scene
Bedroom bedroom.yaml 3 lights, Tapo 4K PTZ camera, 3 media players, Guava-TrueNAS power plug, full Oura Ring section (4 gauges + sleep breakdown + 14d trends + vitals)
Cameras cameras.yaml Live camera grid + motion-event logbook
Homelab homelab.yaml Baikal calendar, Plex library sensors, Sonarr/Radarr/Bazarr/Prowlarr/SABnzbd/ABS/LazyLibrarian status, 12-button quick launcher
Homelab Web homelab_web.yaml Full-page iframe embedding http://homelab.tail.vish.gg:3100/
Crista crista.yaml Full-page iframe embedding https://crista.love (replaces the old iframe card on the default Overview dashboard)

4 Themes (all with Google-fonts auto-loaded via www/fonts-loader.js)

Theme Aesthetic Font
glass_exo Cool glassmorphism, purple + pink on deep navy Exo 2
cyberpunk Neon pink + cyan + yellow on near-black Orbitron / Rajdhani
steampunk Brass + copper on aged leather Playfair Display / Cormorant Garamond
samurai Imperial red + gold on sumi-ink black Noto Serif JP / Shippori Mincho

Each theme overrides --mdc-select-* + --mdc-text-field-* + --mdc-theme-surface so dialogs and dropdowns stay readable across all aesthetics.

HACS Frontend Cards (installed + registered)

  • mushroom (v5.1.1) — touch-friendly tiles (template/chips/person/light)
  • card-mod (v4.2.1) — CSS-in-theme overrides
  • bubble-card (v3.1.6) — mobile bottom-nav
  • advanced-camera-card, calendar-card-pro, rgb-light-card, lovelace-entity-progress-card, lovelace-navbar-card (pre-existing)

Integrations Summary

Domain Title Role
matter × 2 Matter BETA Thread/Matter (awaiting GL-S200 Thread BR — gl-s200-integration.md)
thread Thread Thread credentials
oura (HACS) admin@thevish.io Oura Ring — 64 sensors (sleep/readiness/activity/HRV/VO2/steps/etc.)
plex Atlantis 9 entities — now-playing + 6 library counts (Movies 246 / TV 2711 / Anime 8131 / Music 116k)
ollama Atlantis Ollama conversation.jarvis → llama3.2:3b on Atlantis CPU, default voice pipeline
local_openai Local LLM Server ⏸ disabled — shinku-ryuu LM Studio endpoint (enable when PC on)
tplink × 20+ TL135 bulbs, P110 energy plug, C260 4K camera, hubs Rooms
tplink_deco http://192.168.68.1 Deco mesh WiFi + device_trackers
tapo_control 192.168.68.67 Bedroom 4K PTZ control, motion/person detection
icloud your-email@example.com iPhone + iPad device trackers
spotify Vish Khemraj Music media player + song-attr sensors
adguard 192.168.68.100 Local DNS blocker on NUC — stats
opower PG&E Electric + gas billing + cost
wyoming × 3 piper / faster-whisper / openwakeword Voice-assist pipeline
caldav vish Baikal calendar → calendar-card-pro
cast Google Cast Chromecast / bedroom display
speedtestdotnet SpeedTest Network gauges
syncthing 192.168.68.100 File sync stats
met Home Weather forecast

Voice Assist Pipeline

Jarvis (default)conversation.jarvis ← Ollama @ http://100.83.230.112:11434 (Atlantis, ~11 tok/s on CPU). Wake word: "Ok Nabu" via openWakeword. prefer_local_intents: true — HA's built-in matcher handles light/scene commands; Ollama kicks in for ambiguous queries.

┌──────────────┐  ┌────────────┐  ┌─────────────────────┐  ┌─────────────┐  ┌──────────┐
│ openWakeword │→ │   whisper  │→ │ HA built-in intents │→ │ Ollama      │→ │  piper   │
│   (NUC)      │  │  (NUC, STT)│  │  (if unmatched →)   │  │ (atlantis)  │  │ (NUC,TTS)│
└──────────────┘  └────────────┘  └─────────────────────┘  └─────────────┘  └──────────┘

REST sensors (16) — live homelab telemetry

Defined in sensors.yaml, API keys in secrets.yaml. Covers Sonarr, Radarr, Prowlarr, Bazarr, SABnzbd, LazyLibrarian, Audiobookshelf, and Plex-sessions. All sensors have homelab_rest_* unique_ids for UI management.

Energy Dashboard (built-in, configured)

  • Grid: sensor.current_bill_electric_usage_to_date + sensor.current_bill_electric_cost_to_date (opower/PG&E)
  • Gas: sensor.current_bill_gas_usage_to_date + sensor.current_bill_gas_cost_to_date
  • Device: Guava-TrueNAS plug — sensor.guava_energy_today_s_consumption

Automations

📭 None configuredautomations.yaml is still empty. Planned: lights-off when no one home, bedtime routine triggered by binary_sensor.oura_ring_rest_mode, Movie Mode on Plex play detection.

Co-located Services (Same NUC Host)

Service Port
Matter Server host network
Plex 32400
AdGuard Home 53, 3000
WireGuard (wg-easy) 51820
Syncthing 8384
Invidious / Materialious 3000 / 3001
YourSpotify 4000
Piper / Whisper / OpenWakeword 10200 / 10300 / 10400
Watchtower, Node Exporter, Dozzle agent, Diun

🔧 Open work

Concord

  • Plex integration: added via UI 2026-04-19 — 6 library sensors enabled (were disabled_by=integration by default)
  • Frigate NVR: deferred — see FRIGATE_PLAN.md for full deployment plan
  • Automations: empty; user building these manually
  • opower reauth: PG&E integration flagged reauth — needed to refresh bill/cost data

Honolulu

  1. Add Bedroom "No Motion" Automation (auto-off after 15-20 min)
  2. Add Tailscale Add-on for remote access without Cloudflare tunnel
  3. Consider: phone-presence detection, sunrise/sunset-based timing, time-of-day brightness