Skip to content
 
 

Repository files navigation

Blink Liveview Proxy

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.

Buy me a coffee

What Works

  • Live view through a direct MSE player.
  • Configurable direct player duration, default 60 seconds.
  • "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/owl cameras 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.

Known Limits

  • 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.

Project Layout

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

Install Options

Option A — Home Assistant Add-on (HAOS / easiest)

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.

  1. In HA go to Settings → Add-ons → Add-on Store → ⋮ → Repositories and add:
    https://github.com/Teethree89/ha-blink-live-view-proxy
    
  2. Install Blink Liveview Proxy from the add-on store.
  3. Open the add-on Configuration tab, fill in blink_username, blink_password, and your camera list. Leave blink_2fa_code empty for now and start the add-on.
  4. 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_code and restart.
  5. 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.

Option B — Linux Service (Container / Supervised / bare-metal)

  1. Copy custom_components/blink_liveview_proxy into Home Assistant's custom_components/.
  2. Install and start the proxy service from proxy/ and systemd/ (or run sudo scripts/install-proxy.sh from this repo).
  3. Restart Home Assistant.
  4. Add Blink Liveview Proxy from Settings → Devices & services.
  5. Use http://127.0.0.1:8088 as the proxy URL when the proxy runs on the HA host.
  6. 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.

HACS Custom Repository

Install the Home Assistant integration half through HACS:

  1. In HACS open the three-dot menu → Custom repositories.
  2. Add https://github.com/Teethree89/ha-blink-live-view-proxy, category Integration.
  3. Download it, restart Home Assistant, then add Blink Liveview Proxy from Settings → 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.

Proxy API Layout

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.

Dashboards

Three ready-made options, from hand-edited to self-populating, are in the dashboard guide:

Register this dashboard resource first or every tap silently does nothing:

/api/blink_liveview_proxy/static/blink-liveview-dialog.js

Dashboard Helper

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 Door

Local clips:

tap_action:
  action: fire-dom-event
  blink_liveview_proxy_clips:
    slug: front_door
    entity_id: camera.blink_live_front_door
    title: Front Door Clips

Snapshot 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_door

Security Notes

Bind 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.

Frameo / Wall Panel Notes

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:

Frameo USB microphone guide

License

MIT — see LICENSE.

Not affiliated with, endorsed by, or supported by Amazon or Blink. This is an interoperability project for cameras you already own.

About

A proxy server for running blink cameras with live view on Home Assistant

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages