🏠 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
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 |
Multi-tab dashboard — 4 subviews: Overview / Media / Servers / Monitoring (see Tabbed Homelab Views below) |
| 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) |
Tabbed Homelab Views
The Homelab dashboard is split into 4 subviews (tabs at top of page):
| Tab |
URL path |
Content |
| Overview |
/homelab-view/homelab |
Calendar (Baikal + Radarr upcoming), Kuma summary chips, library totals (Movies/TV/Anime/Music/Ebooks), Quick Launch 12-button grid |
| Media |
/homelab-view/media |
Plex now-playing + library, Sonarr/Radarr (queue/shows/movies/upcoming/wanted), Bazarr + Prowlarr, Books (ABS + LazyLib), SABnzbd (speed/queue/details + pause/resume buttons) |
| Servers |
/homelab-view/servers |
Atlantis NAS (8-bay, wide), Calypso NAS + Setillo NAS (compact rails, Setillo includes Surveillance Home Mode switch), Guava TrueNAS Scale (pools/services/VM/disks, wide), Proxmox VE (gauges + PVE host + start/stop/restart actions) |
| Monitoring |
/homelab-view/monitoring |
Kuma live chips (total/down/avg-ms/certs<30d), Core Infrastructure entity list (NAS/Proxmox/HA/Authentik/Headscale/CrowdSec/NPM/Portainer), Apps & Services (Jellyfin/Ollama/Gitea/Grafana/Homarr/Bitwarden/Paperless/Immich/Seafile), SSL Certificates expiry watch list |
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 |
sonarr |
100.83.230.112 |
Native — queue/shows/upcoming/wanted/disk_space + commands |
radarr |
Radarr |
Native — queue/movies/disk_space + health + calendar.radarr |
sabnzbd |
100.83.230.112 |
Native — speed/queue/left/free_disk + daily/weekly/monthly totals + pause/resume/speedlimit controls |
synology_dsm × 3 |
atlantis, calypso, setillo |
158+48+40 entities — CPU/mem/temp/volumes/drives/NICs, Setillo also has camera.estudio + Surveillance Home Mode switch |
proxmoxve |
100.87.12.28 |
18 entities — host CPU/mem/disk/uptime + backup status + start/stop/restart/suspend buttons (token auth: vish@pam!homarr) |
uptime_kuma |
100.77.151.40:3001 |
1324 entities across 112 monitors — status, response_time, 35 certificate_expiry sensors |
truenas (HACS tomaae) |
Guava (100.75.252.64) |
64 entities — system/pools/services/disks/apps/VMs/datasets. Local patch in coordinator.py:846 guards None VM memory (TrueNAS 25.04 quirk) |
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 — live homelab telemetry
Defined in sensors.yaml, API keys in secrets.yaml. Covers Prowlarr, Bazarr, LazyLibrarian, Audiobookshelf. Sonarr/Radarr/SABnzbd/Plex migrated to native HA integrations. All REST sensors have homelab_rest_* unique_ids.
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