Skip to content

Home Assistant

Home automation. Runs Home Assistant OS (HAOS) rather than a generic Linux VM, for its add-on ecosystem (including the Mosquitto broker Zigbee2MQTT publishes to).

Runtime VM (Proxmox), imported HAOS qcow2 — not the standard cloud-init template
Node pve
IP 10.36.0.14 (see Gotchas — not applied by Ansible)
MAC (net0) bc:24:11:f6:7f:30 (see Gotchas)
Image HAOS 14.2 (haos_ova-14.2.qcow2)
URL https://ha.lab.riversfamily.uk
Auth Own login
Source ansible/roles/home_assistant/

Provisioning

Unlike the other appliance VMs, Home Assistant is not cloned from the shared Ubuntu cloud-init template — it has no cloud-init surface at all. The home_assistant role downloads the HAOS qcow2 release, decompresses it, and imports it directly (qm create --import-from, q35/OVMF), then starts it. There is no host_vars/homeassistant.yml file; sizing comes entirely from role defaults.

Configuration

Variable Default Set in
home_assistant_version 14.2 ansible/roles/home_assistant/defaults/main.yml
home_assistant_vmid 200 same
home_assistant_cores / home_assistant_memory 2 / 4096 same
home_assistant_storage / _bridge local-lvm / vmbr0 same
home_assistant_mac_address "" (empty; bc:24:11:f6:7f:30 set in group_vars/all/vars.yml) ansible/roles/home_assistant/defaults/main.yml

Gotchas

  • The static IP is not applied by Ansible. homeassistant_vm_ip in group_vars/all/vars.yml (10.36.0.14) only tells Traefik's file provider where to route ha.lab.riversfamily.uk — unlike the other three appliance VMs, HAOS has no cloud-init mechanism in this repo to set the address on the VM itself. A DHCP reservation for home_assistant_mac_address is what actually makes the address match; none exists yet.
  • home_assistant_mac_address is a real hardware MAC, but this role runs against the Proxmox host itself (pve), not a homeassistant inventory host, so the value lives in group_vars/all/vars.yml alongside homeassistant_vm_ip, not host_vars/homeassistant.yml.
  • No host_vars/homeassistant.yml exists — if this VM ever needs non-default sizing recorded in inventory the way the other appliance VMs have, that file needs to be created; nothing currently enforces it.
  • Zigbee2MQTT depends on this VM's Mosquitto add-on being up and configured; that dependency is accepted, not considered a fault.