HOMEKIT 4K — by Chrisalvir

Versión actual: v0.6.32 · Último Release · Changelog
HomeKit 4K exports cameras assigned to the plugin in Camera.UI as separate Apple Home accessories. Camera.UI remains the source of camera streams, capabilities, sensors, and detector configuration.
When Camera.UI assigns a camera to this plugin, the plugin probes its available source and publishes it automatically once it can confirm H.264 or HEVC. A user can stop a camera's export in that camera's settings; this choice persists and prevents automatic republication. An unavailable/unknown source is retried a few times; selecting a different source in that camera's settings retries it.
Novedades de v0.6.32: migración del runtime de compatibilidad a HAP-NodeJS 2.3.0, preservación de emparejamientos y almacenamiento existentes, metadatos reales de cámara en Apple Home, actualización de dependencias compatibles y validación ampliada en Node 22/24/26. Consulta el changelog para el detalle de cada versión.
Current behavior
- H.264 sources at or below 1920×1080 are sent without video transcoding; measured larger H.264 sources use a 1920×1080 output path. Audio is handled separately according to HomeKit negotiation.
- HEVC/H.265 uses its separate live and HKSV3 paths. HEVC recording and live implementations are isolated from the H.264 resolution policy.
- Camera.UI motion and visual detection events feed HomeKit's motion trigger for both H.264/HKSV and HEVC/HKSV3 accessories. The bridge forwards observations; it does not force-enable CoreML/OpenCV, bypass their zones or thresholds, or dictate Apple's final People/Animals/Vehicles classification.
- HomeKit recording choices and clip classification are controlled by the paired Home Hub and the settings in Apple Home. A plugin event or HDS media request alone does not prove that Apple saved a clip. In the latest real validation, a Tapo vehicle event reached the bridge and caused a Home Hub media request; saved vehicle/animal clips were not yet confirmed.
- Pairing identities and per-camera persistent settings are stored by the Camera.UI plugin runtime. Do not delete them when updating the package.
Requirements and installation
The package declares Camera.UI >=2.3.0 and Node.js on the supported LTS lines ^22.18.0, ^24 or ^26. Starting with
0.6.15, npm allows installation on macOS, Windows, and Linux on x64 or ARM64.
The runtime has only been exercised on macOS ARM64; Windows, Linux, and macOS
Intel still need real-host validation before they can be called verified.
In Camera.UI's plugin store, search for the shorter text camera-ui-homekit-4k
and select the scoped package @chrisalvir1/camera-ui-homekit-4k.
Development
pnpm install --frozen-lockfile
pnpm check
pnpm test:coverage
pnpm bundle:camera-ui
pnpm smoke:bundle
Automated checks and real-host evidence are different: test results do not replace playback, recording, or detection confirmation in Apple Home. See the public codec-profile notes.
Public release status
The package is public on npm under a proprietary license: users may download, install, and run an unmodified copy; modifying or redistributing it is not permitted without the author's written permission. The current GitHub version is listed under Releases. Use Camera.UI's supported plugin installer to install the latest public release.