🏠 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.
| 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.
| 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.
| 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
🔌 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
8 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/ |
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.
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 configured — automations.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
- Add Bedroom "No Motion" Automation (auto-off after 15-20 min)
- Add Tailscale Add-on for remote access without Cloudflare tunnel
- Consider: phone-presence detection, sunrise/sunset-based timing, time-of-day brightness
📁 Related Documentation