Android TV · Home automation

Your smart home,
on the big screen.

PiPup shows custom pop-up notifications on your Android TV — camera snapshots, doorbell streams and smart-home alerts — triggered over HTTP from Home Assistant or anything on your network.

No cloud · no account · 100% local network · open source

Runs locally — nothing sent to the cloud Works with anything — simple HTTP/JSON API Free & open source — MIT licensed

Everything you need to put alerts on the TV

Rich, styleable overlays with media, sound and speech — sent from your home-automation system in one HTTP request.

🖼️

Rich media

Images, animated GIFs, videos, embedded web pages, and live RTSP/HLS camera streams — or inline base64 images.

🔊

Speech & sound

Read a notification aloud with text-to-speech, or play a sound — great for hands-free alerts.

🎨

Fully styleable

Custom colors, sizes, on-screen position, rounded corners, borders, a leading icon, and a countdown progress bar.

🗂️

Stacking

Multiple notifications coexist on screen at once, each with its own dismissal timer.

🔌

Simple API

One HTTP/JSON endpoint. Call it from Home Assistant, Node-RED, a script, or curl. Unknown fields are ignored.

📡

Auto-discovery

Advertises itself over mDNS/Bonjour, plus a JSON status endpoint and shown/dismissed delivery callbacks.

🔒

Private & secure

Everything stays on your LAN. Optional bearer-token auth and an IP allowlist restrict who can trigger it.

♻️

Always on

Foreground service with auto-start on boot and a background watchdog keep the server alive.

📺

Built for TV

Android TV (Leanback) native — e.g. NVIDIA Shield. On-screen address, QR code, and a test button.

Made for moments like these

🚪

Someone at the door

Show a live doorbell stream the instant the bell rings.

🎥

Motion detected

Pop a camera snapshot on the TV when something moves.

🧺

Laundry's done

Announce it aloud so you hear it from the couch.

🔔

Any alert

Surface any smart-home event on the biggest screen in the house.

Three steps to your first alert

Install once, then send notifications from anything that can make an HTTP request.

Install on your Android TV

Get it on Google Play or sideload the APK, then open it once to start the server.

Send an HTTP request

POST a small JSON payload to the TV from Home Assistant, a script, or curl.

Watch it appear

A notification overlay shows instantly on the TV, on top of whatever's playing.

Send a notification from any terminal:

# one HTTP request → a pop-up on the TV
curl -X POST http://<tv-ip>:7979/notify \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Front door",
    "message": "Someone is at the door",
    "tts": "Someone is at the front door",
    "media": { "image": { "uri": "https://cam/snapshot.jpg" } }
  }'

First-class Home Assistant integration

Add a rest_command and call it from any automation — motion, doorbell, appliance, anything.

rest_command:
  pipup_notify:
    url: "http://192.168.1.50:7979/notify"
    method: POST
    content_type: "application/json"
    payload: >-
      {"title": "{{ title }}", "message": "{{ message }}",
       "tts": "{{ message }}", "position": 0}

Put your smart home on the big screen

Free, open-source, and entirely local. Install PiPup and send your first notification in minutes.