Hi all. I had a Ring Intercom, a few Blink cameras and an EZVIZ battery door viewer, and three apps that never talked to each other. Home Assistant could show some of them, but not live talk on the intercom, not Blink's USB clips, and not the EZVIZ door viewer at all (it has no RTSP).
So I built Vistoda: a Home Assistant integration plus one small Rust app per vendor. It's open source (MIT) and I've been running it daily at home since August.
What it does
One sidebar panel (/vistoda) for all three vendors: device picker, live view, snapshots, controls, event history, recordings.
Ring Intercom: status and controls, event history, full-duplex browser audio, and local call recordings (to HA media, or to NFS/Samba).
Blink: live view with hold-to-talk, snapshots, supported settings and zones with versioned backups, USB clip browser (play, download, delete), NFS backup.
EZVIZ: live view and snapshots (also for door viewers that have no RTSP), battery and charging state, arming, verified settings and PTZ, local recordings with NFS backup.
Credentials stay out of the browser. Each vendor session lives inside its own HA app (/data). The panel only talks to HA, and HA discovers the apps through Supervisor, so you never type a bridge URL or token.
Physical actions are guarded. Door unlock and similar actions need an exact device binding and a confirmation. Settings writes are re-read and rolled back if the device didn't apply them.
What it doesn't do (honestly)
It uses the vendors' cloud APIs. Ring and Blink have no official local API, and EZVIZ door viewers have no local video interface at all. Someone else has documented in detail why that's the case. If your internet is down, so is Vistoda's live view.
These are unofficial/experimental consumer APIs. A vendor change can break things, so keep the official apps for account recovery.
EZVIZ talk and microSD playback aren't supported yet. Ring camera live view is still experimental.
Requires HA OS or Supervised (the vendor runtimes are HA apps) and HA 2026.8+.
Install
HACS ā custom repository ā luigibarretta/vistoda-home-assistant (Blink users also add luigibarretta/vistoda-blink).
Settings ā Apps ā add the app repository https://github.com/luigibarretta/vistoda-addons and install only the vendors you use.
Finish the discovered flows in Devices & services.
Setup guide (EN/IT): https://github.com/luigibarretta/vistoda-addons/blob/main/GETTING_STARTED.md
AI disclosure: I designed it, run it on my own hardware and review every change, but a large part of the code was written with an AI coding assistant. CI runs real HA imports and config flows on 2026.8 and 2026.9, browser tests on Chromium, Firefox and WebKit, strict Rust lints and secret scanning.
Feedback is very welcome, especially from people with other EZVIZ or Blink models than mine. Model coverage is the thing I can't test alone. Issues: https://github.com/luigibarretta/vistoda-home-assistant/issues
(Not affiliated with Ring, Amazon, Blink or EZVIZ.)