Releases: yufeikang/hass-aiphone
Release list
v0.1.2
Maintenance release. Integration code is functionally identical to v0.1.1; this release is cut after the HACS + hassfest validation passes with no disabled checks (brands is validated via the local custom_components/aiphone/brand/ assets), as required for HACS default-store inclusion.
See v0.1.1 notes for the feature list. Changes since v0.1.1:
- Drop the
ignore: brandsinput from the HACS validation workflow.
v0.1.1
First stable release of the Aiphone WP-2MED / VKZ-R Home Assistant integration.
Works
- Config-flow pairing in the HA UI
- Doorbell ring events (
binary_sensor) - Monitor button — on-demand ~30 s capture
- Camera snapshots (entrance)
- Automatic video recording of calls
- Last-snapshot
imageentity + last-recordingsensor
Changes since v0.1.0 (beta)
- Ship official Aiphone brand assets under
brand/, so HA/HACS display the アイホン icon (HA 2026.3+ brands proxy) - Load
aiortcwith--no-depsto resolve theavversion conflict - Sort
manifest.jsonkeys per hassfest - Fix stale-snapshot /
last_recordingcache race
Known limitations (see README Status)
- Two-way audio / audio in recordings not yet complete
- Answer button (
24000) implemented but not fully validated against a live ring - Hangup not yet implemented
Install
Add https://github.com/yufeikang/hass-aiphone as a HACS custom repository (category: Integration), or copy custom_components/aiphone into your HA config.
v0.1.0 — initial public release
v0.1.0 — Initial public release
Native Home Assistant integration for Aiphone WP-2MED video intercoms (single-family / 戸建, VIXUS / VKZ-R series). Talks directly to the unit's AWS IoT cloud over mTLS — same channel as the official mobile app — and exposes doorbell events, camera, monitor, recording, answer, and electric-strike unlock as native HA entities.
⚠️ This is an independent, unofficial project, not affiliated with Aiphone Co., Ltd. Use of this integration may violate the manufacturer's Terms of Service. Read the full DISCLAIMER before installing.
Status: Alpha. Phase 2 features run in production for one user (the author). Phase 3 (answer / unlock) is implemented but partially unverified against real-world events. Use at your own risk.
What works
- Pairing in HA UI — multi-step config flow handles LAN UDP discovery + TLS-52712 OTP + HTTPS
/registClient+01005registration. No external tooling. - Doorbell events —
binary_sensor.<unit>_doorbellflips onMID 23001, off on24002.sensor.<unit>_doorbell_stateandsensor.<unit>_last_caller. - Auto-recording — every ring writes
/config/aiphone/recordings/<ts>-<caller>.mp4(video-only). - Camera —
camera.<unit>_entrancereturns the live frame from any in-progress capture, falls back to the most recent finalized mp4. - Monitor button —
button.<unit>_monitortriggers a 30 s active capture (no ring, no other-client notification). - Last-snapshot image / last-recording sensor — image entity for the most recent JPEG, sensor for the path of the most recent mp4.
Implemented but not fully validated
button.<unit>_answer— sendsMID 24000 RSLT=200. Logic verified, real-ring acceptance pending.lock.<unit>_door— sendsMID 26021 SET_UNLOCK_REQ; physical electric-strike effect not verifiable by author (no strike wired). Auto-relocks after 5 s.- Audio in recordings — cloud only opens RTP audio after a real-ring
24000; pending answer-button validation.
Not implemented
- Hangup
- Two-way audio (TTS / AI assistant talking back) — PC1 keeps an
audio sendrecvtransceiver as the placeholder.
Requirements
- Home Assistant 2024.3+ (Python 3.11+)
- WP-2MED unit on the same LAN as HA during initial pairing only
- Outbound HTTPS to
api.aiphone-app.net(pairing only) and MQTT to*.iot.ap-northeast-1.amazonaws.com:8883(steady state) - Free pairing slot on the unit (戸建 limit: 4 paired devices)
aiortc>=1.14.0 and av>=10.0.0 install on first load. On a Raspberry Pi expect a few minutes the first time.
Installation
HACS (custom repository)
- HACS → Integrations → ⋮ → Custom repositories
- Repository:
https://github.com/yufeikang/hass-aiphone - Type: Integration
- Install, then restart Home Assistant.
Manual
cd <ha-config>/custom_components
git clone https://github.com/yufeikang/hass-aiphone.git aiphone-tmp
mv aiphone-tmp/custom_components/aiphone .
rm -rf aiphone-tmpRestart Home Assistant.
Known issues
- ~3 s delay between ring and first JPEG (SDP + DTLS handshake).
- No hangup button — recording stops 8 s after
MID 24002. - Cloud admits only one subscriber per ring; if the official mobile app subscribes first, HA's recording for that ring may be empty.
Documentation
- English README
- 日本語 README
- DISCLAIMER — required reading before install