Skip to content

Set up Home Assistant configuration sync and management #15

@nsheaps

Description

@nsheaps

Overview

Set up Home Assistant configuration syncing to this repository, following the existing Arcane/Docker Compose patterns used for other services on heapsnas. This should cover the full breadth of HA configuration management — not just the core config, but the entire ecosystem of integrations, automations, and device management.

Scope

Core Home Assistant Deployment

  • Add Home Assistant Docker Compose stack under hosts/heapsnas/homeassistant/
  • Configure 1Password secret integration following existing patterns (see cloudflared stack)
  • Set up Cloudflare tunnel ingress for remote access (if desired)
  • Ensure Bluetooth/BLE passthrough to the container for local device communication

Configuration Sync

  • Sync configuration.yaml and related core config files
  • Sync automations.yaml / automations directory
  • Sync scripts.yaml
  • Sync scenes.yaml
  • Sync customize.yaml and customize_glob.yaml
  • Sync groups.yaml
  • Sync dashboard/Lovelace configuration
  • Determine git-based sync strategy (e.g., HA Git integration, cron job, or CI-based pull)

HACS & Custom Integrations

  • Sync HACS configuration and installed integration/plugin list
  • Track custom component versions for reproducibility
  • Govee BLE Smart Plugs integration (nsheaps/govee-ble-plugs) — ensure this custom integration is installed and configured
    • See: nsheaps/govee-ble-plugs
    • Supports H5080, H5082, and H5086 with power/energy monitoring
    • Requires BLE access from the HA container

Devices & Entities

  • Document/track device registry and entity configurations
  • Sync device customizations and entity overrides
  • Track area/floor/zone assignments

Helpers

  • Sync input helpers configuration:
    • input_boolean
    • input_number
    • input_text
    • input_select
    • input_datetime
    • input_button
    • counter
    • timer
    • schedule
  • Track template sensors and template helpers

Updates & Update Management

  • Define update strategy for Home Assistant core versions
  • Define update strategy for HACS integrations and frontend plugins
  • Consider Renovate/Dependabot for tracking container image updates (aligns with existing repo patterns)
  • Set up notifications or automation for available updates
  • Document rollback procedures

Integrations & Add-ons

  • Track list of enabled integrations and their configuration
  • Sync integration-specific config where applicable
  • Document any required add-ons or sidecar containers (e.g., MQTT broker, Zigbee2MQTT, ESPHome)

Govee BLE Power Monitoring — Production Readiness

The nsheaps/govee-ble-plugs integration is a key component of this setup and should be prioritized for production use:

  • Install govee-ble-plugs via HACS into the Home Assistant instance
  • Configure and pair all Govee BLE devices (H5080, H5082, H5086)
  • Validate power monitoring sensors (voltage, current, power, energy, power factor) for H5086 devices
  • Set up energy dashboard entries for Govee power monitoring entities
  • Create automations leveraging power monitoring data (e.g., high power alerts, idle device detection)
  • Ensure BLE connectivity is stable and the 15-second polling interval is reliable
  • Stress test the global BLE connection semaphore with multiple concurrent Govee devices
  • Document any BLE proxy or adapter requirements for the deployment host
  • File any bugs or feature requests back to nsheaps/govee-ble-plugs as discovered

Notes

  • Existing stacks on heapsnas: beszel, cloudflared, n8n, nextcloud, postgresql, redis
  • Secrets are managed via 1Password service accounts — HA secrets should follow the same pattern
  • Deployment is handled by Arcane GitOps — HA stack should integrate with the existing arcane-deploy workflow
  • Consider what config is safe to store in git vs. what must remain in 1Password (API keys, tokens, etc.)
  • Some HA config (e.g., entity registry, device registry) is managed via the UI and may need a different sync approach than YAML-based config

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions