Home Assistant: Complete Integration Guide

Linux mini‑PCLocal‑firstCamera AI & LLM
Last updated: 2025-09-26
Quick navigation 1. Architecture & Topology 2. Core Add‑ons 3. Device Integrations 4. Zigbee/Thread & Z‑Wave Radios 5. Dashboards 6. Automations & AI 7. Facial Recognition 8. Alarmo Quick Start 9. Backups & Remote Access Appendix: Snippets & Links

1. Architecture & Topology

Internet Router LAN (Switch + Wi‑Fi AP) Mini‑PC Home Assistant + Mosquitto + Frigate + LLM USB Radios Zigbee/Thread (ZBT‑1), Z‑Wave (optional) SSD / NAS Frigate media + backups Voice Assistants Echo / Show (TTS) Bond Bridge Govee Wi‑Fi Tapo hub + TH WiiM Amp Zigbee sensors Aqara FP2 + DW Ring (ring‑mqtt) → events/snapshots Optional PoE cams (RTSP) → Frigate

Notes. Keep everything local on the mini‑PC. Use Mosquitto as the event bus. Ring devices remain cloud/event‑based via ring‑mqtt; always‑on RTSP/ONVIF cameras (e.g., Reolink) feed Frigate through go2rtc.

2. Core Add‑ons

Add‑on / ComponentPurposeDocs
HACSCommunity integrations & cardshacs.xyz
Mosquitto MQTT BrokerMQTT for Frigate, ring‑mqtt, Double‑TakeMQTT docs
Frigate NVR (+ go2rtc)Local NVR + object detection (RTSP cams)docs.frigate.video
Alarmo (HACS)Alarm panel/logicAlarmo
Home Assistant Google Drive BackupAutomated encrypted backupsBackup add‑on

3. Device Integrations

DeviceHow to integrateDocs / Link
Alexa Media PlayerInstall via HACS; login to Amazon; enables Echo/Show TTS + actionable notifications.Alexa Media Player
RingAdd‑on: ring‑mqtt. Use events/snapshots and on‑demand live view (no 24×7 RTSP).ring‑mqtt
Treatlife / Lumary (Tuya)HACS: LocalTuya for local control of dimmers/switches.LocalTuya
Bond BridgeCore integration for fans/shades.Bond
Govee lights + BLE sensorsCore Govee Light Local for Wi‑Fi lights; BLE thermometers via core.Govee Local
TP‑Link Tapo hub/sensorsCore Tapo for hub/sensors.Tapo
Tapo camerasHACS: Tapo Cameras Control for local RTSP/snapshots.Tapo Cameras Control
WiiM AmpCore LinkPlay (DLNA fallback if needed).LinkPlay
Fire TVCore Android TV or Android TV Remote.Android TV
EcobeeCore ecobee or pair via HomeKit Device.Ecobee
Sleep NumberCore SleepIQ.SleepIQ
Bambu Lab A1HACS ha‑bambulab; enable LAN mode.ha‑bambulab

4. Zigbee/Thread & Z‑Wave Radios

RadioPurposeDocs
Home Assistant Connect ZBT‑1Zigbee coordinator + Thread Border Router (ZHA/Z2M + Matter/Thread)ZBT‑1
Zooz ZST39 (800‑series) – optionalZ‑Wave USB stick (JS/Z‑Wave)ZST39
Tip: Pair Aqara sensors via ZHA; FP2 presence via HomeKit Device. Add a few mains‑powered Zigbee plugs as repeaters for range.

5. Dashboards

Build with Mushroom cards. Helpful extras: Auto‑entities, ApexCharts, Button‑card.

Create tabs: HomeSecurityCamerasClimateMediaPrinter. Pin Alarmo and Frigate cards on Home.

6. Automations & AI (Frigate + MQTT + LLM)

Frigate with go2rtc (example)

# frigate.yml
mqtt:
  host: 127.0.0.1
  user: mqtt
  password: YOUR_PASS
go2rtc:
  streams:
    porch_main: rtsp://USER:PASS@192.168.1.120:554/h264Preview_01_main
cameras:
  porch:
    ffmpeg:
      inputs:
        - path: rtsp://USER:PASS@192.168.1.120:554/h264Preview_01_sub
          roles: [detect]
        - path: rtsp://USER:PASS@192.168.1.120:554/h264Preview_01_main
          roles: [record, audio, rtmp]
    detect:
      width: 640
      height: 360
      fps: 5
    objects:
      track: [person, vehicle, dog, cat]

Ring → LLM summary → mobile push

alias: Door Person → LLM Summary Notification
trigger:
  - platform: mqtt
    topic: ring/<device_id>/ding   # event from ring-mqtt
action:
  - service: camera.snapshot
    target: {{ entity_id: camera.ring_front_last_motion }}
    data: {{ filename: /config/www/snapshots/front_last.jpg }}
  - service: rest_command.llm_caption
    data: {{ image_url: "https://YOUR_HA_URL/local/snapshots/front_last.jpg" }}
  - service: notify.mobile_app_your_phone
    data:
      title: Front Door
      message: "{{ states('sensor.llm_last_caption') }}"
      data: {{ image: "https://YOUR_HA_URL/local/snapshots/front_last.jpg" }}

Alexa announcement (TTS)

service: notify.alexa_media_living_room_echo
data:
  message: "Person detected at the front door."
  data:
    type: announce
    method: speak

7. Facial Recognition

Frigate (person) Double‑Take (router) CompreFace orCodeProject.AI MQTT → HA

Install Double‑Take and point it at a face engine (CompreFace or CodeProject.AI). Wire it to Frigate snapshots and publish recognition results via MQTT to HA.

8. Alarmo Quick Start

# configuration.yaml (minimal Alarmo example)
alarmo:
  enable_mqtt: true

# Example binary_sensors mapped to Alarmo via UI:
# - binary_sensor.kitchen_door_contact (Aqara T1)
# - binary_sensor.living_motion (Aqara P1)
# - binary_sensor.living_presence (Aqara FP2 zone1)

# Example arming helpers:
input_boolean.night_mode

# Automation: Arm at night if all doors closed
alias: Arm Night when doors closed
trigger:
  - platform: state
    entity_id: input_boolean.night_mode
    to: "on"
action:
  - service: alarmo.arm
    data: {{ entity_id: alarm_control_panel.alarmo, mode: night }}

9. Backups & Remote Access

Appendix: Snippets & Links

ring‑mqtt add‑on options (example)

{{
  "mqtt": {{"host":"127.0.0.1","port":1883,"tls":false,"username":"mqtt","password":"YOUR_PASS"}},
  "livestream_user":"ha",
  "livestream_pass":"STRONG_PASSWORD",
  "output":"auto",
  "enable_vod": true
}}

Quick links