Bridge // Smart Building

The building knows. Now the screens do too.

Home Assistant watches your sensors, meters, and devices. A rest_command in any automation POSTs that state to your Hangar.Media inbound webhook — temperature, occupancy, energy, air quality — turning signage into the building’s live status board.

2,000+ HA Integrations Upstream
See Pricing
Open Source Self-Hosted Automation
2,000+ HA Integrations Upstream
Open Source Self-Hosted Automation
Tables · Cards · KPIs Display Targets
Bridge // Overview

From sensor state to standing display

Define a rest_command service once — method post, your webhook URL, the X-Webhook-Token header — and call it from any automation with a templated payload. State changes, schedules, and threshold triggers all become screen updates: the meeting-room board, the energy dashboard, the pool-temperature card.

One rest_command service definition serves every automation
Jinja templates shape entity states into the JSON payload
Map any payload field to display columns with dot-notation paths, defaults, and per-column transforms
Three display targets: live data table, announcement cards (with rolling accumulation), or KPI metrics
Outbound events included: screens can trigger Home Assistant webhooks back (offline/online, sync errors, emergency alerts) with a signed envelope
Bridge // Key Features

What you can do with Now the screens do too.

Three capabilities that make this integration essential for your digital signage network.

Instant Push // 01

rest_command is the bridge

Add a rest_command to configuration.yaml: method post, your inbound webhook URL, content type application/json, and the X-Webhook-Token header. Call it from any automation action with a templated payload of entity states.

Every sensor in the building can drive a pixel on the wall.

Templated payloads carry any entity states you choose

Trigger on state change, schedule, or threshold

Screens update within seconds of the push arriving

Bridge // Instant Push
Field Mapping // 02

Shape the payload into screen content

Point display columns at payload fields with dot-notation paths, set defaults for missing fields, and apply per-column transforms — uppercase, lowercase, truncate, prefix, suffix. The same mapping engine powers every automation platform integration, so a recipe built once is portable across tools.

Your automation sends data; the mapping decides how it reads on screen.

Dot-notation paths reach nested payload fields

Defaults fill gaps so screens never show blanks

Transforms tidy values without touching the automation

Bridge // Field Mapping
Verified Delivery // 03

Token-verified delivery

Your sending step includes the integration secret in the X-Webhook-Token header; Hangar.Media compares it in constant time, fail-closed, and rejects anything else with a 401.

Every push is authenticated before a pixel changes.

Constant-time secret comparison, fail-closed

One-click secret rotation

Unknown senders receive 401 and publish nothing

Bridge // Verified Delivery
Bridge // Setup

Four steps to connected screens.

From setup to live content in minutes, not days.

Step 01

Connect the integration

Add the Home Assistant integration in Hangar.Media. Your unique inbound webhook URL and secret are generated instantly.

Step 02

Define the rest_command

In configuration.yaml, add a rest_command: method post, your inbound webhook URL, content type application/json, a header X-Webhook-Token with your integration secret, and a templated JSON payload.

Step 03

Map fields to the display

Choose Data Table, Content Cards, or KPI Metrics, then map payload fields to display columns with the field mapper. Defaults and transforms are optional.

Step 04

Push and publish

Run the automation. The payload renders in the bound widget on your screens within seconds — enable Accumulate for a rolling board of recent pushes.

Bridge // Questions

Common questions. Straight answers.

How is the webhook secured

The rest_command sends your integration secret in the X-Webhook-Token header; Hangar.Media compares it in constant time and rejects non-matching requests with a 401 — fail-closed, with no anonymous path.

What payload shape does Hangar.Media expect

Any JSON. A single object becomes one row or card; an array of objects becomes one row or card per record. With a field mapping configured, only the mapped fields are displayed; without one, the raw fields are shown as a key-value table.

Can one push update several screens

Yes. The push lands in the integration’s data feed; every design widget bound to that feed updates, wherever those designs are scheduled — one push can update one screen or the whole estate.

Does my Home Assistant need to be reachable from the internet

No. The push goes outbound from Home Assistant to Hangar.Media over HTTPS — no inbound port, tunnel, or cloud subscription required. Outbound events in the other direction need a reachable HA webhook URL (Nabu Casa or a reverse proxy).

Pricing // Transparent by Design
£0
/screen/month
Industry avg
£8–24
Hangar
£5

One price. The whole platform.

That's how we think signage should work. Content editor, screen management, and 200+ app integrations — all included from day one.

No per-user fees
Unlimited users
Unlimited screens
200+ integrations
150+ templates
Multi-tenancy
Edge caching
Offline playback
REST API
Emergency alerts
Sign Up Now

Chat / Online

Pricing

£5 /screen/month

Everything included. One price.

Speed

Live in five minutes.

Sign up, connect, go.

Hardware

Use the screens you already own.

Fire TV, Android, Tizen, webOS, Pi, browser.

How can we help?

Choose an option to get started