Unofficial Home Assistant custom integration plus a small local Blink proxy service for direct Blink live view, push-to-talk experiments, last-live-view downloads, and local Sync Module clip browsing.
This project exists because the official Home Assistant Blink integration is
good for snapshots, motion switches, arming, sensors, and normal Blink services,
but it does not expose Blink's immis:// live-view stream. The proxy uses
BlinkPy to log in to Blink with your own account, request a live-view session,
read Blink's IMMI framing, and expose browser/HA-friendly endpoints on your LAN.
It is an interoperability project for cameras you own. It is not affiliated with, endorsed by, or supported by Amazon or Blink.
If this saves you a little time, buy me a coffee. Add Buy me a coffee in the PayPal note so I know what it was for.
- Live view through a direct MSE player.
- Configurable direct player duration, default
60seconds. - "End & Save" and "Save MP4" for the most recent watched live view.
- Push-to-talk on tested regular Blink cameras and doorbells.
- PTT hidden on Blink Mini/
owlcameras by default. - Fresh snapshot button using the official HA Blink camera entity.
- Per-camera motion detection controls when the official Blink integration
exposes
switch.*_camera_motion_detection. - Local Sync Module clip viewer/downloader.
- HTTPS-friendly browser microphone flow when HA is served through a trusted local HTTPS origin.
See the roadmap for what is planned, what is deliberately out of scope, and the rough edges worth knowing about.
- This is not an official Amazon/Blink integration.
- Blink cloud clip browsing is intentionally not surfaced in HA.
- Motion zones and deeper camera settings are out of scope for now.
- Push-to-talk is experimental and model-sensitive.
- Live view still depends on Blink cloud APIs and camera/cloud limits.
- The proxy is a separate service; the HA custom integration does not log in to Blink by itself.
addon/ Home Assistant add-on (HAOS one-click install)
addon/proxy/ Proxy source bundled for the add-on container
custom_components/blink_liveview_proxy/ Home Assistant custom integration
proxy/blink_liveview_proxy.py Compatibility CLI entrypoint
proxy/blink_proxy/ Modular proxy implementation
proxy/config.example.json Generic proxy config template
systemd/blink-liveview-proxy.service Example Linux service unit
systemd/blink-liveview-proxy-watchdog.* Optional stuck-token-refresh watchdog
scripts/install-proxy.sh Linux install helper
scripts/blink-liveview-proxy-watchdog.sh Watchdog script installed by the helper
examples/ HA package and Lovelace dashboards
scripts/generate-dashboard.py Builds a dashboard from live cameras
docs/ Setup, configuration, and notes
If you run Home Assistant OS or Supervised, install the proxy as an add-on directly from the add-on store. No separate Linux host or Python setup required.
- In HA go to
Settings → Add-ons → Add-on Store → ⋮ → Repositoriesand add:https://github.com/Teethree89/ha-blink-live-view-proxy - Install Blink Liveview Proxy from the add-on store.
- Open the add-on Configuration tab, fill in
blink_username,blink_password, and your camera list. Leaveblink_2fa_codeempty for now and start the add-on. - The add-on sends your credentials to Blink, which texts/emails you a PIN. Check the
add-on log for instructions, then paste the PIN into
blink_2fa_codeand restart. - Install the HA integration (via HACS or manually — see below) and point it at
http://homeassistant.local:8088.
See addon/DOCS.md for the full add-on setup guide.
- Copy
custom_components/blink_liveview_proxyinto Home Assistant'scustom_components/. - Install and start the proxy service from
proxy/andsystemd/(or runsudo scripts/install-proxy.shfrom this repo). - Restart Home Assistant.
- Add
Blink Liveview ProxyfromSettings → Devices & services. - Use
http://127.0.0.1:8088as the proxy URL when the proxy runs on the HA host. - Add the Lovelace helper resource:
/api/blink_liveview_proxy/static/blink-liveview-dialog.js
Full step-by-step in the install guide, and what to do when it misbehaves in the operations guide.
Install the Home Assistant integration half through HACS:
- In HACS open the three-dot menu → Custom repositories.
- Add
https://github.com/Teethree89/ha-blink-live-view-proxy, categoryIntegration. - Download it, restart Home Assistant, then add
Blink Liveview ProxyfromSettings → Devices & services.
HACS installs only custom_components/blink_liveview_proxy. You still need
either the add-on (Option A) or the Linux proxy service (Option B) running
alongside it.
Default HACS listing can wait until the project has wider testing, a release, brand assets, and passing validation history.
The local proxy routes are documented in the
proxy API guide.
Route handlers live in proxy/blink_proxy/routes.py; Blink IMMI and live-view
behavior lives in proxy/blink_proxy/blink.py; push-to-talk lives in
proxy/blink_proxy/ptt.py.
Three ready-made options, from hand-edited to self-populating, are in the dashboard guide:
examples/lovelace-dashboard.yaml— one commented camera with every action; copy it per camera.scripts/generate-dashboard.py— asks the running proxy what exists and prints a finished dashboard, a single view, or one card, whichever you need (--format dashboard|view|card).examples/lovelace-auto-populate.yaml— builds a tile for every camera automatically as it appears.
Register this dashboard resource first or every tap silently does nothing:
/api/blink_liveview_proxy/static/blink-liveview-dialog.js
Use fire-dom-event from custom:button-card:
tap_action:
action: fire-dom-event
blink_liveview_proxy:
slug: front_door
entity_id: camera.blink_live_front_door
title: Blink Live Front DoorLocal clips:
tap_action:
action: fire-dom-event
blink_liveview_proxy_clips:
slug: front_door
entity_id: camera.blink_live_front_door
title: Front Door ClipsSnapshot refresh:
tap_action:
action: fire-dom-event
blink_snapshot_refresh:
slug: front_door
entity_id: camera.blink_live_front_door
source_entity_id: camera.front_doorBind the proxy to 127.0.0.1 unless you have a specific reason not to. If you
bind it to the LAN, set BLINK_PROXY_TOKEN and configure the same token in the
Home Assistant integration.
The proxy stores Blink OAuth refresh data in the configured auth_file. Keep
that file out of git.
Push-to-talk on Android frames is possible, but browser microphone capture requires a trusted HTTPS origin and working Android microphone input. For the tested Frameo USB microphone workflow, see the HA Light Panel companion docs:
MIT — see LICENSE.
Not affiliated with, endorsed by, or supported by Amazon or Blink. This is an interoperability project for cameras you already own.