Skip to content

HomeKit down again; AirPlay workflow was a no-op (2026-11-01)

TL;DR

Kitchen HomePod / Bedroom Apple TV unreachable from iPhone again. Owner ran unifi-fix-airplay dry-run then apply (41365481378, 41366117321) — both success with OK: already ALLOW with return traffic. ZBF was not the failure mode. Same class as 2026-10-22 (phone on GenPop). Workflow now always runs diagnose-homekit-airplay.py so "already ALLOW" cannot look like a fix.

Phase status

Area Status
Allow Personal → IoT Healthy per workflow (2026-11-01 17:16 MST)
HomeKit from iPhone Still broken until phone VLAN / hubs diagnosed live
Automation Diagnose step added; job fails on GenPop phone / missing hubs

What shipped

  • scripts/diagnose-homekit-airplay.py
  • Workflow diagnose_only + post-fix diagnosis + fail on blockers
  • Runbook update: homekit-unreachable.md

Known gaps / drift

  • Cloud agent still cannot reach UDM; live GenPop confirmation for this recurrence needs owner or LAN worker / re-run workflow after merge.
  • Apple TV stale GenPop fixed_ip hygiene remains open.

What remains

  1. Owner: confirm iPhone on KrustyKrab (192.168.3.x); or re-run workflow with diagnose_only=true after this lands on main.
  2. Do not add GenPop → IoT allow.

Mermaid

flowchart TD
  wf["unifi-fix-airplay.yml"]
  zbf["ZBF already ALLOW"]
  diag["diagnose-homekit-airplay.py"]
  genpop["iPhone on GenPop?"]
  ok["Home / AirPlay works"]
  wf --> zbf --> diag --> genpop
  genpop -->|yes| fix["Join KrustyKrab"]
  genpop -->|no| hubs["Check hubs / mDNS"]
  fix --> ok
  hubs --> ok