relaybridge
Get the Bridge app Back to the app

Help centre

How Relay Bridge works — firing relays, live cameras, 24/7 recording, the cloud archive, motion alerts, sharing, and what you're billed for.

What Relay Bridge actually does

Relay Bridge turns an event into a real-world action. A click in a browser, a call from your ERP, a button on your own web page, or motion on a camera can close a physical relay at your site — sounding a horn, ringing a bell, flashing a beacon, starting a fountain.

It works the other way round too: it shows you live camera video from your site with no ports opened on your network, records 24/7 to a machine you own, and can keep a searchable copy in the cloud.

There are two halves. The app (this website) is where you control and watch everything. The Bridge is a small program you install on a PC, NUC or Raspberry Pi at the site — it talks to your cameras on the local network and dials out to us, so nothing needs to be exposed to the internet.

Getting an account

Accounts are approved by hand, so signing in is a request rather than an instant sign-up. Nothing is created on your behalf until we approve it.

You can use Continue with Google or an email and password. Either way we ask for your name, your company, a phone number and a line about what you want to switch — a person reads every one of those before approving, which is the whole reason they're asked.

Why it works this wayRelay Bridge switches real equipment on real sites. We'd rather know who's using it before it's live.

If you signed up with an email and password, confirm your email first — we check that at the moment of approval, so an unconfirmed address can't be approved. There's a button on the waiting-list screen to send the link again.

Approval is usually the same working day, and you'll get an email the moment your account is open. Until then you'll see the waiting-list screen when you sign in. If you're on that screen and expected to be in an existing account, check which address you're signed in as — it's at the bottom of the page, with Sign out beside it.

Connecting your Shelly account

Open Settings and click Connect Shelly. You'll sign in to Shelly, approve access, and land back here — there are no keys or codes to copy anywhere.

Once connected, your Shelly devices appear as a list you can claim from. Connecting also switches on the real-time link, which is what lets the app reflect a relay's true state within a second, including when somebody presses it by hand at the panel.

A device that shows as offline can't be controlledRelay Bridge talks to your relay through Shelly's cloud. If a device has dropped off Wi-Fi, there is no state to read and no command to deliver — fix the device's connection first.
Claiming a relay and firing it

On Controls, choose Claim a device, pick the relay from your Shelly account, and give it a name you'd recognise on a busy screen — “Shipping horn”, not “Relay 1”.

Open the device and press the big red FIRE button. That's a real physical action, so treat the button with the respect you'd give the panel itself.

Pulse, On and Off — which one you want

FIRE sends a pulse: it closes the relay, holds it for a set time, then releases. That's what you want for a horn, a bell, a chime or a door buzzer — anything that should sound and stop.

On and Off are latches: they stay put until you change them. Use those for lights, a compressor, a heater — anything meant to run.

Pulse length is set per device (150 ms to 10 seconds) on the device page. A tap is around 300 ms; a horn blast is usually 1–2 seconds.

Why we release the relay ourselvesWe ask the relay to auto-release as a fail-safe and send an explicit “off” at the end of the pulse. Some firmware ignores the auto-release and would otherwise latch on indefinitely. Belt and braces, deliberately.
What you should and shouldn't wire up

Relay Bridge is built for signalling and novelty loads: horns, bells, sirens, beacons, lights, chimes, fountains, gongs.

Don't use it for anything that can hurt someone or let someone inNo door strikes, gates, garage doors, barriers, machinery starts or anything where an unexpected activation could injure a person or breach your security. The whole product — including the sharing and API features — is designed on the assumption that firing something is loud, not dangerous.
Cameras, controls and sensors — what a “device” actually is

Everything on your account is one of four things, and the quickest way to keep them straight is by the verb — what you do with it.

ThingThe verbWhat it is
Camerayou watch itShows you what is happening, records, and raises motion alerts
Relayyou switch itCloses a contact — a horn, a light, a gate signal. On, off, or a timed pulse
Speakeryou speak through itSays a sentence out loud at the site
Sensoryou read itReports a contact or a number — a door, a voltage, an input

A device is a logical thing, not a box. That one sentence explains most of the surprises. A single piece of hardware can be several devices, and a single device can be two things at once.

One box, five devicesA ControlByWeb X-410 has four relay outputs and a set of readings. It appears as four relays and however many sensors you choose to watch — separate devices, one address on your network. That is what lets each one have its own name, its own history and its own rules.

A camera and a relay can be the same device. If a camera is watching the thing a relay operates, add it to that relay rather than as a separate camera. Then the two know about each other, which is what makes “save a snapshot whenever this fires” and “record a short clip whenever this fires” possible. Such a device shows up on both screens — on Cameras because you count it as a camera, and on Controls because you still switch it.

Speakers and sensors are always their own device. There is nothing to combine them with.

Can it be combined?
Camera + relayYes — one device, and the pairing is what unlocks snapshot-on-fire and clip-on-fire
Several relays on one boxSeparate devices, same address
Relays + sensors on one boxSeparate devices, same address
Speaker with anythingNo — always its own device

Every device can start a rule and every device can be the target of one, whatever kind it is. A sensor reading can make a speaker talk; a camera seeing a person can fire a relay; a relay firing can trigger a webhook. That is the whole point of keeping them as separate, named things.

Where to find themAnything you watch is on Cameras. Anything you switch, speak through or read is on Controls. A relay that carries a camera is on both, deliberately.
Which relays and devices work with Relay Bridge

Two kinds, and the difference is worth understanding because it affects what happens when something goes wrong.

ShellyLAN relays (ControlByWeb)
How we reach itThrough Shelly's cloudThrough your Bridge, on your own network
SetupConnect your Shelly account, claim the deviceGive us its address on the network
If the device loses Wi-FiCan't be controlled — the cloud holds no state for itn/a — wired, and we don't depend on a vendor cloud
If a vendor's cloud has an outageAffectedUnaffected
Best forQuick setup, light signalling loadsIndustrial installs, DIN rail, real load ratings, sensor inputs

A LAN relay is the sturdier option for a plant or a yard: nothing depends on a third party's cloud being up, and the hardware is built for the environment. It does require a Bridge on site, since that's what reaches it.

Setting up a LAN relayYou can add one yourself — see the next entry.
Adding a ControlByWeb box, and turning its inputs into sensors

A ControlByWeb box — an X-410 and its relatives — is reached over your own network by a Bridge, with no vendor cloud in between. One box becomes several devices: one per relay output, plus one per reading you choose to watch.

1. Add the box. On Controls, under Add a LAN relay box, give us four things:

Address on your networke.g. 192.168.1.60 — the box's own IP
Port80 unless you changed it
Relays on itHow many outputs the model has (four on an X-410)
Read by which BridgeWhichever Bridge can see that address

Name them something short — the name gets a number added per output, so “X-410” becomes X-410 1 through X-410 4.

2. Its inputs appear on their own. The box reports its digital inputs and its supply voltage in the same message we already read to switch the relays, so a contact sensor, a float switch or a door loop needs no extra hardware. Within about a minute of adding the box, its Bridge reports which points it actually has and they show up under Add a sensor on the same screen.

Only real points are offeredThe list is built from what your hardware reported, not from a catalogue — so it can't offer you an input the box doesn't have. If the list is empty, add the box as a LAN relay first and give it a minute.

3. Pick a point and name it. A digital input reads closed or open. vin is the supply voltage at the box, in volts.

About supply voltageWatch it for a change rather than against a threshold. A regulated supply reads flat right up until it fails outright, so “below 11 volts” may never fire even as the power dies — whereas “stopped reporting” always will. For anything off-grid, silence is the alarm worth having.

Once a sensor exists it behaves like any other device: it has its own name, its own history, and it can start a rule. A contact closing can fire a relay, make a speaker talk, or call a webhook.

Installing the Bridge at your site

You only need the Bridge for cameras, recording and speakers — and for LAN relays and sensors, which are reached over your own network. Shelly relays are the exception: they go through Shelly's cloud and work with no Bridge at all.

  1. Download it from Get the Bridge app. Windows has an installer; Linux is a single curl … | bash line.
  2. It starts automatically and runs quietly in the background. On Windows it doesn't appear under Task Manager's Apps — look under Details or Background processes.
  3. Open its local panel at http://localhost:7077, then connect it to your account with an enrol code from Sites → Bridges → + Add a Bridge (it works once and expires in 15 minutes).
Windows will warn you before installingOur installer isn't code-signed yet, so Windows SmartScreen shows a caution. Choose More info → Run anyway. A signing certificate is on our list.
Adding a camera

With a Bridge installed, use Find cameras on the Cameras screen. The Bridge scans your local network, asks each camera who it is, and tries any camera logins you've saved — so most cameras appear already identified, with nothing for you to type.

Pick one, name it, and save. We test the video before we keep the camera: if the stream never opens, you get told to check the username and password instead of ending up with a broken camera in your list.

A camera doesn't need a relay. You can add cameras on their own — and a relay can be given one, which is what lets it take a snapshot every time it fires.

My camera doesn't show up in the scan

Plenty of cameras don't announce themselves on the network — most Hikvisions among them — and a camera on a different subnet won't be found either. That's normal, not a fault.

Use Add by address instead. Type the camera's address (something like 192.168.1.93) and its login. If you know the make, pick it — it only tells us which stream path to try first.

You almost never need the RTSP path. We try the usual paths for each brand and keep the first one that actually returns video. Only fill that box in if the usual ones fail.

Using a phone or laptop as a camera

No hardware yet, or you want a second angle for an afternoon? Choose Use this phone or computer on the Cameras page. The device you're holding becomes a camera, streaming from its own browser — no Bridge, nothing to install, working in about a minute.

Give it a site and it sits with the other cameras there, so you can have two views of the same thing on one page.

Two honest limits. It's live only — 24/7 recording, the cloud archive and motion alerts all need a Bridge reading a camera on your site's network, and a browser stream never touches one. And the page has to stay open: closing the tab, locking the phone or switching apps ends the stream. It's a camera you're holding, not one that's installed. We keep the screen awake while it runs.

Saving camera logins

Settings → Security stores the username and password for a group of cameras once, so adding the next camera needs no typing and the Bridge can re-authenticate on its own.

Passwords are encrypted before they're stored and are never returned by any read in the app — you can reveal one deliberately, but nothing lists them back to you or to a page.

You can also rotate a login: we change the password on the cameras themselves, keep both the old and new one working until every camera has confirmed the change, and tell you plainly which cameras still answer to the old one. Nothing is lost if it only half-finishes.

Why video takes a while to appear

Your cameras don't stream to us around the clock. When you open a camera, the app tells your Bridge that somebody is watching; the Bridge starts sending video, and it stops again shortly after you look away.

That's deliberate: it means an idle camera costs nothing to have connected, and you're only ever billed for video you actually watched. The trade is a start-up of about 5 seconds the first time you open a camera. Once it's warm, it's instant.

The player waits for the stream to genuinely come up before it tries to play, so a slow start looks like “waiting”, not like an error.

If a particular camera needs to open straight away every time — a gate, a loading bay, anything you check in a hurry — ask us to put it on Instant start. That camera then streams to us continuously and opens in about a second, at the cost of using the site's upload bandwidth around the clock.

The video area stays black

Work down this list — they're in order of likelihood:

  1. Give it about 5 seconds. See the article above.
  2. Check the camera's video format. If the camera is set to H.265 / HEVC, browsers can't play it and you get a black rectangle with everything else looking healthy. The camera panel says so explicitly when it detects this — switch the camera to H.264.
  3. Check the Bridge is online on Sites → Bridges.
  4. Look at the camera's error line in the camera panel. A 401 Unauthorized means the camera rejected the login.
  5. Check nothing else is holding the camera. Some cameras allow only a couple of simultaneous connections.
The same camera is set up on two Bridges

That's allowed, and we handle it: only one Bridge is elected to stream a given camera at a time. The other shows “Standby — another Bridge is streaming this camera” in its local panel.

We do this because two programs pulling the same camera at once makes many cameras lock out connections and the picture flap. If the active Bridge goes away, another takes over within about a minute.

If a camera is failing, the app names which Bridge is failing and the exact error, so you don't have to guess which machine to go and look at.

Main stream vs sub-stream

Most cameras produce two streams at once: a full-resolution main stream and a small sub stream. The camera panel lists what yours offers and lets you switch which one is used for live viewing.

The sub-stream is the cheap thing to watch — less data, faster to start, easier on the camera. The main stream is what you want for identifying detail. Switching the stream changes what the Bridge reads for everything — live viewing, 24/7 recording and the cloud archive all come off the same source. So a sub-stream saves bandwidth but also lowers the quality of what gets recorded from that point on. Nothing changes on the camera itself, and switching back restores it.

Reading the Stream panel

The panel shows what's happening now: resolution, video and audio format, data in from the camera, data out to viewers, how many people are watching, and how long the stream has been up.

FieldWhat it tells you
What the camera sendsRead directly from the camera, so you can compare it with what arrives here
Pushing …Live health from the Bridge — frame rate, dropped frames, and speed
Falling behind (under 1×)The machine or the network can't keep up with the camera
ViewersData out — and therefore cost — only accrues while this is above zero
Local recording vs the cloud archive

These are two separate things and it's worth being clear which you have on.

24/7 recordingCloud archive
Where footage livesThe Bridge's own disk, at your siteAlso kept by us
Survives losing internetYes — it keeps recording regardlessUploads catch up afterwards
Survives losing the machineNoYes
Reviewable from anywhereOnly by exporting a momentYes — scrub any day
CostIncludedA monthly fee per camera

Recording is driven by settings held on the Bridge, not by us. If your internet drops, or the machine reboots, recording continues and resumes by itself — which is exactly when you need it most.

How long footage is kept, and disk space

Local recording has two limits and whichever bites first wins: how many days to keep, and a hard size cap in GB. Oldest footage goes first, and the segment currently being written is never touched.

The cloud archive has its own separate retention in days.

The recording panel shows what's held, how much disk is free, and a per-day coverage bar so you can see at a glance whether there are gaps.

Archive quality: browse, full, or both

What gets uploaded to the cloud is your choice per camera:

  • Full quality — the original recording. Biggest, and the most storage.
  • Browse quality — a small copy made from the camera's own second stream. On a real 3-megapixel camera this is around 80–95% smaller, opens far faster on a slow connection, and is perfectly good for finding the moment you want. Full resolution stays on the Bridge, and “save this moment” still exports full quality from it.
  • Both — the small copy for scrubbing and the original in the cloud. You can pull the original for any minute without the Bridge being involved at all, which means the footage isn't tied to a machine at your site any more.
Browse quality doesn't cost you lessThe archive is priced per camera, not per gigabyte, precisely so you can choose the efficient option without being punished for it. See the archive fee.
Scrubbing back without leaving the camera

Under the live picture there is a bar showing today: solid blue where there is recorded footage, ticks above it for things that happened, and the current time at the right-hand end. Click or drag it and the same player winds back — no new window, no separate screen.

« 5m / « 1mJump back that far and start playing
‹ event / event ›Step to the previous or next thing that happened, starting three seconds before it
« 30s / 30s »Nudge, once you're already back in time
Speed1× 2× 5× 10× 16× — for reading a long stretch quickly
‹ › beside the dateStep whole days. A finished day fills the whole bar
Back to liveReturn to now, at normal speed

The timestamp burned into the corner of the picture follows the footage, not the clock — so a screen-grab of something you scrubbed back to still says when it happened.

Why the end of the bar is hatchedRecordings are written on site and uploaded a piece at a time, so the most recent stretch — usually 10 to 30 seconds — exists on your Bridge but hasn't reached us yet. The hatched tail is exactly that gap. It is why the shortest jump offered is one minute: a “back 10 seconds” button would land in the hole and show you nothing.
Why 16× is the fastestThat's the browser's own ceiling, not ours. Above it, playback silently drops back to normal speed, so offering 20× would be a button that lies. To move faster than 16×, drag the bar or step between events.

Fast playback is cheap because it plays the small browse copy, not the full-quality one — see Two qualities above.

Reviewing a day

Open a camera's archive and pick a day. You get a player plus a 24-hour bar showing where footage exists, with gaps drawn as gaps — click anywhere and it jumps there. Clicking inside a gap snaps to the next real footage rather than showing you nothing.

Above the bar is a marker lane: red for alerts, grey for movement, blue for saved clips, purple for relay fires. Below it is a strip of event thumbnails — click one to jump to just before it happened. You can also step event by event with the ‹ › buttons, or the , and . keys.

“Events only” vs “Whole day”

A 24-hour bar a thousand pixels wide gives each second about a hundredth of a pixel. A twenty-second delivery is a quarter of a pixel — you'll never find it by dragging, no matter how fast the video loads.

Events only fixes that by giving space to what happened instead of to the clock: periods with activity expand, and empty hours collapse to a thin hatched sliver labelled with what was skipped. On a quiet day, 98% of the day draws in about 6% of the bar, and a single event that was a fraction of a pixel becomes comfortably clickable.

Whole day gives you the plain, evenly-spaced 24 hours. Your choice is remembered.

Saving a moment as a clip

⬇ Save this moment in the day viewer pulls roughly 15 seconds either side of the playhead at full quality from the Bridge and saves it as a clip, even if your cloud archive is set to browse quality.

Clips are kept separately from the archive and are not removed when you delete archive footage.

Deleting footage — exactly what goes

There are two delete buttons, and both only ever touch the cloud copy for one camera. Whatever the Bridge holds on its own disk is untouched.

Delete day removes that one day. Delete all footage removes every archived day for that camera, in every quality, and asks you to type DELETE first.

DeletedKept
Every archived recording for that camera (both browse and full copies)
Anything you kept in the Vault — it lives in the same place
Its day index
The camera's stored-footage total
Saved clips, including “save this moment” exports
Snapshots
Motion events, their thumbnails and their descriptions
Relay history and the activity log
Everything on the Bridge's disk
Your other cameras
Your recording and archive settings
The Vault goes tooFootage you chose to keep forever sits under the same storage as the rest of that camera's archive, so deleting the archive deletes it as well — including days you paid a one-time vaulting fee for. There is no way to delete everything except the Vault. If you only want to clear recent test footage, delete a single day rather than the whole archive.
Two more consequences worth knowing Your timeline markers outlive the footage. Motion events survive with their thumbnails, so a day can still show events — but pressing “watch” on one from a deleted day finds nothing behind it. What happened is still recorded; the video isn't.

It won't take your storage line to zero. Storage already used this month stays on the statement — you were genuinely storing it — and clips and snapshots still count. The archive also stays switched on, so new footage keeps uploading and the per-camera fee keeps running.
Deleting is not reversible, and it won't re-uploadWhen you delete, we tell the Bridge to treat everything currently on its disk as already sent, so the days you just removed don't quietly come back a few minutes later. The local footage is still there, but getting it back into the cloud isn't a one-click job. Be sure.
Keeping a day forever — the Vault

Cloud footage expires on the retention you set. If something matters — an incident, a claim, a delivery dispute — you can keep a day forever instead, from the Stored data card on the camera's Advanced tab.

A vaulted day is exempt from retention. It is the one place footage deliberately does not expire.

What it costsA one-time fee when you vault it, plus a small monthly amount per gigabyte — both quoted on screen, at your account's own rates, before you confirm
How fast it playsNormally. There is nothing to thaw or restore — it plays like any other day
Can it be undoneNo. Our storage provider bills a full year the moment footage is vaulted, so un-vaulting would cost the same either way. You'll be asked to type KEEP
Deleting a camera's archive deletes its Vault tooVaulted days live in the same storage as the rest of that camera's archive. There is no way to clear everything except the Vault — so if you're tidying up test footage, delete individual days rather than the whole archive.
Turning the cloud archive off

Switching the archive off stops new uploads immediately. Recording to the Bridge's disk carries on as before, and footage already in the cloud is not deleted — you can still browse it.

For what happens to the money, see the archive fee. In short: the fee is charged by the day, so you pay for the part of the month you had it on — and footage you leave in the cloud afterwards is billed as storage.

If your aim is to stop paying for a camera's historyTurn the archive off and delete the footage. Doing only one of the two leaves you paying for storage you're no longer adding to.
Days are grouped in the wrong time zone

Footage is filed by the site's local day, not yours and not the recording machine's — otherwise an evening's footage lands on tomorrow's timeline for anyone west of Greenwich.

Set it in Settings → Site time zone. There's a one-click button for your browser's zone, and a camera can override its site if it's somewhere else.

Changing the zone only affects new footageOlder footage keeps the day it was filed under. Use Re-file by time zone on the archive row to move existing footage into the day it actually happened — it copies before it deletes, so an interruption can't lose anything, and running it twice is harmless.
Footage is waiting to upload

The archive panel shows how many segments are queued. A backlog after an outage is normal and drains on its own — uploads go oldest-first and back off rather than hammering a struggling connection.

What matters is the other warning — the app says “N segment(s) were deleted locally before they reached the cloud”. That means local footage hit its retention limit before it could be uploaded, so those minutes only ever existed at your site. It's the honest signal that the site's upload speed can't keep up with what you're recording. Fixes, cheapest first: raise how long footage is kept locally so there's more time to upload, switch the archive to browse quality, lower the recording bitrate, or get more upload bandwidth.

What a timelapse is here, and what it costs you

A timelapse takes one still every few minutes of real time and plays them back as video, so a working day becomes about a minute you can actually watch. It's built from footage that is already in your cloud archive — nothing extra is recorded, nothing extra is uploaded from your site, and nothing is added to what you're storing.

That's why it's included rather than metered: the work is a few seconds of our processing over files we already hold.

You need the cloud archive onTimelapse is built from the archived copy, so a camera with the archive switched off has nothing to build from. See local recording vs the cloud archive.
Building one, and what each control does

Open the camera, go to Timelapse, and set:

From / ToAny dates still in your archive, up to 14 days at a time.
HoursIn your site's local time. Set this to your working day and the nights are skipped entirely — a two-week job stops being mostly darkness.
One frame everyHow much real time each frame covers. Longer means a shorter, faster video. 5 minutes is a good starting point for construction.
Play atFrames per second of the finished video. Higher is smoother; lower makes it longer.
SizeHow wide the video is.
LabelWhat it's called — and the only thing shown if you publish it. See sharing.
Burn in the date and timeStamps the real date and time onto every frame. On by default, and worth leaving on.

As you change the settings the form tells you roughly how many frames and how long the finished video will be, so you can see before you start whether you're asking for four seconds or four minutes.

How long it takes, and the frame limit

A build starts within a minute of you asking, and a full day usually finishes a couple of minutes after that. The list updates itself while it runs — you don't have to sit on the page.

There's a ceiling of 6,000 frames per timelapse. If your range and interval would go past it, the form warns you before you build, and if a build does hit the limit the finished video says so plainly rather than quietly stopping early. Widen “one frame every” or shorten the range.

Why the burned-in time is trustworthy

The date and time we burn in come from our record of when the footage was recorded, not from the camera's own on-screen clock.

That matters more than it sounds. Camera clocks drift, and often nobody notices for months — on one of our own test cameras the camera's overlay runs about two minutes fast. If you ever need a timelapse to support a claim or settle a dispute about when something happened, the stamp we add is the one that holds up.

You may see two clocksIf your camera burns its own timestamp into the picture, both will appear and they may disagree. Ours is the lower one, and it's the one to trust.
Publishing one on a public page

A finished timelapse can be published, which is the point if you want the public — or a client, or a city — to be able to watch progress without an account.

Press Share publicly and you get two things:

  • A link to a simple page with the video on it. Anyone with the link can watch; there's nothing to sign in to.
  • An embed snippet you can paste into your own website or CMS. It plays muted and loops, so it works as a banner on a project page.

What a visitor can see: the video, the label you gave it, the dates and hours it covers, and how it was made. That's all. They cannot see your camera's name, your other cameras, your account, or anything live — a published timelapse is a finished file, not a way into your system.

Press Stop sharing and the link stops working. One honest caveat: to keep a public page fast we let copies be cached, so a copy already cached can keep playing for up to 24 hours. Treat “stop sharing” as “no longer published”, not “instantly unreachable everywhere”. The video itself is kept either way.

The Timelapse tab shows a view count for anything you've published, so you can tell whether the page is actually being watched.

Keeping stills for a job that runs for months

There's a limit to building on demand: you can only build from footage that's still in the archive, and archived footage expires (30 days by default). So on a six-month job, the timelapse you'd most want — the whole thing, start to finish — is the one you can't make.

The fix is a switch on the camera's Timelapse tab: keep a still every interval for this camera. It's off unless you turn it on. With it on, every night we save one still per interval from that day and keep it after the footage itself has expired. Months later you can still build the whole job, because the stills are still there.

The camera has to be recording and archivingStills are cut from your archived footage each night — not from the live view. So a camera with Recording or Cloud archive switched off collects nothing, however long the switch is on, and there's nothing to go back for later. If that's the case we say so right next to the switch and on the camera's Stored data panel, naming what's off.
Days are built after they finishToday's stills appear once today has ended in that site's own time zone — so a camera switched on this morning shows nothing until tomorrow, and the stored total won't move while you watch it. That's normal, not a fault. If a day had no footage at all, that day stays empty: once it's been looked at it isn't revisited, because there's nothing left to build from.

When it's on you can also set:

  • How often to keep a still, which hours, and what size.
  • Also render that day's video each night — you wake up to yesterday's timelapse already made, labelled with the date.

Once a range of stills exists, the build form grows a Build from choice: Recorded video (limited to what's still archived) or Kept stills (reaching back as far as you've been keeping them). Everything else works the same — including setting narrower hours at build time than you captured with.

This one does use storage, and it's billed as storageWhich is exactly why it's off by default. Kept stills count toward the same pooled storage allowance as your cloud archive — there's no separate charge for them, so for most cameras they fit inside the allowance and cost nothing extra. Stills are small: on a 640×480 camera at one every 5 minutes it works out around 8 MB a day, and the panel shows your camera's own measured figure per day and per month once the first night has run, so you're never guessing. See the archive fee and what's included.
How long kept stills are kept — and setting a limit when a job ends

By default, kept stills don't expire at all. That's the point of them: recorded footage expires (30 days by default) and the stills outlive it, so a timelapse of the whole job is still possible months later. Nothing deletes them but you.

That's right while a job is running. It's less right once a job ends. A camera that comes off a finished site keeps its stills — and keeps using storage for them — until someone says otherwise. So on the camera's Timelapse tab there's Keep the stills for, which is set to as long as I keep the camera unless you change it.

  • Pick a limit and stills older than it are removed automatically, within the hour.
  • The shortest limit is 7 days, so the nightly build and the cleanup can't fight over the same day.
  • You can always set it back to as long as I keep the camera — it isn't a one-way door.

Timelapses you've already built are not affected. A finished video is its own file with its own Delete — deleting the stills it was made from doesn't touch it. What you lose is the ability to build a new timelapse from that far back.

This one can't be undoneOnce the footage a still came from has expired, that still is the only copy — there's nothing left to rebuild it from. So if the limit you pick would remove stills you already have, we tell you the date and ask you to confirm before saving it.
Why the video may be smaller than the size you picked

Timelapses are built from the archived copy, and if that's browse quality it comes from your camera's small second stream. We won't stretch a small picture to fill a bigger frame — that adds file size and no detail — so asking for 1280 wide on a 640-wide source gives you 640.

If you want bigger timelapses, set that camera's archive quality to full or both. See archive quality.

Deleting timelapses and kept stills

Each finished timelapse has its own Delete, which removes that video and nothing else — the footage it was built from is untouched.

Kept stills and rendered timelapses are also listed as their own kind on the camera's Stored data panel, with their own delete, so clearing them never costs you footage and clearing footage never costs you them. Deleting the camera removes both.

Clearing the archive does not clear kept stillsThat's deliberate — the whole reason to keep stills is that they outlive the footage. If you want them gone, remove them explicitly.
How motion detection works

Three stages, each filtering for the next:

  1. On the Bridge, free and always on. It watches for change in the picture. This costs nothing and never leaves your site.
  2. Object detection, in the cloud. When change is detected, a full-resolution still is checked for what is there — person, vehicle, animal, package. If nothing on your alert list is present, it stops here.
  3. A written description. Only if something relevant was found do we spend an AI credit describing it, giving you a sentence like “Several people stand near a blue electric bus”.

Alerting on an identified object rather than on changed pixels is the whole point — it's the difference between “something moved” and “a person is at the back gate”.

Setting the watch area

The grid sits over a still from the camera so you can see what you're excluding. Click or drag to paint. Blue cells are watched; everything else is ignored.

Mask out a public road, a tree line, and any burned-in timestamp overlay. That one grid also gives you a minimum object size — a change smaller than a cell won't trip anything.

Unsaved edits survive the panel refreshing, and are marked as unsaved until you save them.

The tuning check — “is this camera even pointed at the right thing?”

A camera can be switched on, watching, recording and raising events all day and still be reporting the wrong thing. The commonest version: a strip of public road, a footpath or a tree is inside the watch area, and almost every event is traffic. You get a busy event log, and the one time somebody actually walks up to the building, it's buried.

So the Motion & alerts tab checks your camera's own history and tells you what it finds. It reads recent events only — no footage, no AI, nothing to switch on, and it costs nothing.

  • “41 of 41 events came from the same 4 cells.” When nearly every event fires in the same small patch, that patch is the cause. Stop watching those cells switches off exactly those squares and nothing else — the rest of the view is untouched, and you can switch them back on in the grid at any time.
  • “41 events reviewed, and not one contained people.” Either what's setting it off is something else entirely, or what you care about is there and the movement threshold is too high to notice it — someone in dark clothing standing in shade barely changes the picture.
  • Scene-wide changes. Events where most of the view changed at once are normally the camera adjusting its own exposure or switching to night mode. There's nothing to mask, but a tighter watch area helps anyway.

Show where it fires paints the counts straight onto the watch-area grid, so you can see the hot spot over the actual picture before you decide.

It says nothing until it can say something usefulBelow about twenty events it tells you it's still waiting rather than guessing, and a camera with nothing wrong is told it was checked — so “fine” never looks the same as “didn't run”.

The order that fixes most cameras: narrow the watch area first, then lower the movement threshold. Doing it the other way round — turning up sensitivity while a road is still in frame — just gives you more traffic.

Tuning sensitivity with the live test

Guessing at sensitivity is miserable, so there's a test mode: the same grid is drawn over the live video and lights up as things fire.

  • Amber — fired, inside your watch area, and counted.
  • Faint white — changed, but outside your area, so ignored.

The status line tells you how much of the picture changed, how many cells are firing versus how many are needed, and whether it's in a cool-down.

Relays don't fire while you're tuningAn unexpected horn during setup is a nasty surprise, so relay actions are suppressed in test mode and the event says so. Test mode also switches itself off after a few minutes so it can't be left running.
Day/night switching, headlights and rain

When a camera switches to night mode, or headlights sweep the yard, the whole picture changes at once. We classify that as a lighting change and ignore it — no event is created at all, so you won't see it in the log. You can watch it happen live in Test on live video, where the status line says “lighting change — ignored”, and the camera's State tile shows “light change” for a minute afterwards.

If you're still getting noise: tighten the watch area first, then raise the number of cells required, then require the movement to persist across more frames. Those three, in that order, solve most of it.

Before you start turning dials, look at the tuning check on the same tab — it reads the camera's own event history and will usually name the exact squares causing the noise.

A parked car keeps alerting

Two mechanisms handle this.

Incidents. A car that arrives and stays is one incident, not an alert every cool-down. Continuations are recorded and searchable, but only the first one alerts you.

Learned scenery. If an object sits in the same place across several events over about fifteen minutes, it's treated as part of the scene and stops being a reason to alert. When it leaves, press Forget to reset.

People and animals are never learned as sceneryA person standing still for fifteen minutes is exactly what you want to hear about, so living things are always treated as new.
Asking your cameras a question

On the Events page you can ask in plain English — “anyone at the back gate late at night this week”, “did anything get delivered”, “has a vehicle been in the yard on a Sunday”.

We show you how we interpreted the question, then the matching events with thumbnails and a one-line answer. Times are read in your local hours, including ranges that cross midnight, and open-ended questions are answered over the last 30 days.

Making motion do something

Anything you want to happen is set up under Events → Rules, not on the camera. A rule watches for something — a camera seeing a person, a sensor closing, a relay firing — and then does up to six things: fire a relay (sound a horn when a vehicle enters after hours), say something on a speaker, or call a webhook so your own systems hear about it. Webhooks must be https, are signed so you can check they came from us, and are tried once — the attempt is recorded either way.

Keeping it in one place means one rule can do several things at once, and the same rule can watch several cameras.

There's also a monthly cap on AI checks per camera, so a camera pointed somewhere unexpectedly busy can't run up a surprise.

How long motion history is kept

Events and their stills are two separate settings, both 30 days by default and both adjustable per camera under How long to keep motion history — “Keep events” and “Keep stills” sit side by side. Leaving them equal is usually right, since an event without its picture is half an event; shortening just the stills is a reasonable way to cut storage while keeping the record of what happened. The panel shows what's currently held.

Seeing when we've opened your account

Supporting you sometimes means one of us opening your account — to look at a bill, or to switch something on because you asked. Settings → Account access lists every time that has happened: when, who, and what they did.

You don't have to ask us for it and we don't have to remember to tell you. It's written the moment it happens, to a log we can't edit, and it's the same record we hold ourselves to internally — you're seeing our own audit trail, filtered to your account.

If nothing is listed, nobody has opened your account. The one thing that doesn't appear there is our own fleet-wide totals — counts across every account, which don't identify you or show your data.

Everyone on your account can see this page, not just the owner.

Shared panels — one link, several relays

A panel is a public page showing a group of relays as a control grid, with live state, a camera view where there is one, and a button per device labelled in your words. Build one under Share & embed and send the link.

Each device on a panel gets the action you choose — a pulse for a horn, or a clean On for a compressor — plus a small On/Off row.

Where a device has a camera, tap Live camera to watch it, and the in the corner to fill the screen with the video and put the buttons over the top — so you can watch the thing while you switch it. Press Escape or ✕ to come back. Operating a relay never interrupts the video.

Locking a panel down

Three modes:

  • View only — no buttons at all. Good for a status wall.
  • PIN required — the default for new panels. Anyone with the link must enter your PIN before anything fires.
  • Open — anyone with the link can fire. Use this only where a stranger firing it would be harmless.

PINs are stored only as a one-way hash — we can't show you the PIN back, so keep your own note of it. Four characters is the minimum; six is meaningfully better on a link anyone can open, and letters are allowed.

Guessing gets nowhere. After a handful of wrong PINs the panel stops accepting any PIN for a while, and the wait grows the longer someone keeps trying. You'll see the wrong attempts, and an Unlock now button, on the panel in Share & embed — so you never have to wait out someone else's mischief.

Treat a panel link like a keyThere's no login on a panel — the link is the credential. Anyone it's forwarded to has the same access. Delete a panel to revoke it instantly.
Putting a button on your own website

Share & embed generates a one-tag snippet. Drop it on any page and you get a working button — and, if the device has a camera, a live view alongside it.

The widget is scoped to one device and can only trigger it; it can't read anything else in your account. It also stops streaming the moment the tab is hidden, so an embedded camera on a background tab isn't quietly costing you.

Firing from your own systems

Create a secret key under Share & embed and POST to our trigger endpoint with it as a bearer token. It's the same code path as the button in the app, so anything you can do here you can do from your ERP, a PLC gateway, or a shell script.

Secret keys are shown once — we only keep a hash. Lost one, make a new one. Keys can be scoped to a single device, and each key has its own rate limit — 120 calls a minute for a secret key by default, 30 for a widget key. It's per key, so separate integrations don't compete with each other.

Using your own domain for a panel

A panel can live on your own address — controls.yourcompany.com. Open the panel's Domain row, enter the hostname, and add the single CNAME record we show you. The certificate is issued automatically; the page then serves on your domain.

Speaking through a speaker at the site

A Bridge with an audio output can be a public-address point: type a message in the app and it's spoken out loud at the site. Add it under Speakers.

On Linux the voice is synthetic and robotic — fine for “truck at the dock”, not for customer-facing announcements. A cheap and effective setup is a Raspberry Pi running the Bridge into a powered speaker, or into a 70-volt amplifier feeding ordinary ceiling speakers.

What you're actually billed for

Five kinds of line, and they behave differently:

LineHow it's counted
Monthly platform feeA flat $79 per month. Covers your account, the Bridge software, unlimited relays and support.
Data outMetered. Only accrues when someone is actually watching, or downloading recorded footage. Video coming in from your cameras is free.
Cloud archiveA monthly fee per camera with the archive on, with storage included. See below.
Storage over the allowanceMetered over time, in GB-months.
AI checksPer described motion event. Object detection that finds nothing costs nothing.
Your rates are on your statementStandard rates are quoted here for orientation, but pricing can be set per account. Settings → Statement always shows the rates your account is actually on.
The cloud archive fee, and what happens when you switch it off

The archive is $12 per month per camera with the archive switched on, and that includes 50 GB-months of storage. The allowance is pooled across your account, so a busy camera borrows from a quiet one instead of generating a surprise. Storage beyond the pool is $0.05 per GB-month.

It's priced per camera rather than per gigabyte on purpose: it means choosing browse quality makes your archive cheaper for us to run without making it cheaper for you to be sold — so we can recommend the efficient setting honestly.

Storage is counted over time, not as a snapshot. 13 GB held for one day of a 31-day month is about 0.4 GB-months, not 13. Equally, footage you delete mid-month still counts for the time it was genuinely stored.

Switch it off part-way through a month and you pay for the days you had it The fee is prorated by the day. A camera archiving for 10 days of a 30-day month is charged a third of $12, and your statement shows the working — “10.0 camera-days of 30”.

The included storage prorates with it, so a third of a month carries a third of the allowance. Switching the archive on and off repeatedly simply adds up the days it was on.
Footage you leave behind is still stored, and still billed Turning the archive off doesn't delete anything. Once the allowance stops accruing, footage left in the cloud is billed as storage at $0.05 per GB-month.

So: to stop paying for a camera's history, switch the archive off and delete the footage. Switching off alone leaves you paying for a copy you're no longer adding to.
Reading your statement

Settings → Statement itemises the month: a line per camera for data out, then fee lines, then the total. Pick any past month from the month selector.

Expand a camera to see the individual viewing sessions behind its number — when it was watched, for how long, how much data, and how many viewers. That detail is kept even if you later delete the camera, because it's the evidence behind an invoice you've already had.

Streaming and Watched are shown separately and are not the same thing. A camera can be publishing while nobody is looking at it; only the second one costs you anything.

What deleting a camera does to your bill

Deleting a camera removes all of its footage, clips and snapshots, so it stops accruing storage from that moment. Storage it used earlier in the month remains on the statement.

Your viewing session history is deliberately kept — it's the itemised detail behind invoices already issued, and deleting a camera shouldn't erase your own billing records.

Checking a Bridge is healthy

The Bridges page lists every Bridge on your account with its status, the machine it's on, its operating system, version, camera and speaker counts, and uptime. A Bridge is shown online if it has checked in within the last minute and a half.

For anything deeper, open its own panel at http://localhost:7077 on that machine. Its log is at ~/.realay-bridge/bridge.log (on Windows, %USERPROFILE%\.realay-bridge\bridge.log) and is the first place to look when a camera misbehaves.

Updating the Bridge

The app shows an update available marker when a Bridge is behind. There's no automatic self-update — you install a new version yourself, deliberately, from the download page (Linux: re-run the same one-line installer).

Reinstalling keeps your cameras, your settings and your recorded footage.

Reaching a site remotely

Watching cameras and controlling relays needs no remote access — that's what the Bridge is for. But if you want to reach a camera's own web interface from off-site, there's a Remote access button on the device's own page in the app. Nothing to install and nothing to set up on the Bridge: the session runs out through the Bridge's existing outbound connection, on a one-off address that expires. See Remote access, and the remoteui.net domain.

“Removed in account” on a camera at the Bridge

This means the camera was deleted in the app, so the Bridge no longer has anything to report to. After ten minutes of that, it stops recording, motion and uploads for that camera and flags it.

Your footage and settings are kept — a problem on our side must never be able to wipe a site's setup. When you're satisfied it was intentional, press Remove on the Bridge to clear it.

If the camera reappears in your account, the Bridge picks it up again on its own.

Putting your sites on a map

A Bridge is what usually gives a site its address, because it's the thing physically there. Give a Bridge an address and it appears under Sites — including on Sites → Map — and the cameras it reads inherit that location. Anything without a Bridge, like a Shelly relay or a phone camera, can be placed by hand: Put at a site… on Sites assigns it. You can paste coordinates instead of an address, which is the answer for a yard or a well pad with no postal address.

The map view always lists your sites underneath, including the ones with no address yet, so you can see what still needs placing.

We never ask you to open a port

The Bridge makes outbound connections only. There is no port forwarding, no inbound firewall rule, no VPN and no static IP needed at your site — which is usually the first question your IT team will ask.

The same applies to cameras: they stay on your local network and never need to be reachable from the internet. Video only leaves your site when someone is actually watching, or when you've switched the cloud archive on.

Remote access, and the remoteui.net domain

An account owner or an admin can open remote access to a device at their own site — its own web page, from anywhere, with nothing to install and no inbound connection to your network. The session opens on a one-off address under remoteui.net.

That's a separate domain on purpose. What you see in a session is a page belonging to your equipment, not to us, so we keep it isolated from the Relay Bridge app — it cannot read the app's cookies or act on its behalf. (Google and GitHub separate user content the same way.)

Property
Who can open oneThe account owner or an admin — see the roles table below
How long it lasts15 minutes, then it stops working
Device passwordsWe never supply them. You type the device's own password, so a session link is not the same as device access
What's loggedWho opened it, which device, when, and how much was transferred
What you can doUse the device's interface normally, including changing its settings
Live viewA camera's own live view often works too. Some UIs need browser plugins that can't be relayed — and the picture in Relay Bridge itself is better anyway
For IT teamsTo permit remote access for your staff, allow *.remoteui.net over HTTPS. Nothing on that domain is ever contacted unprompted — a session exists only because someone with access to your account opened one. remoteui.net explains itself if you land on it.
Who can see your cameras and fire your relays

Every piece of data in the system carries the account it belongs to, and every request is checked against the signed-in user's account before anything is returned. No customer can see another's devices, footage or history.

Your browser never talks to the database directly — all access goes through our API, which is the only thing holding the keys.

For your IT reviewer: relaybridge.io/security sets out access control, encryption, sub-processors, retention and what we don't have yet on one page. Our incident-response, breach-notification, retention and key-rotation procedures are written down too — ask and we'll send them.

Within your own account, what each person can do is set by their role, and the most sensitive actions can be protected with two-factor authentication.

Two things behave like keys rather than logins, and you should treat them that way:

  • Shared panel links. There's no sign-in on a panel — the link is the credential. Set a PIN, and delete the panel to revoke it.
  • API and widget keys. Anyone holding one can trigger the device it's scoped to. Secret keys are shown once and stored only as a one-way hash, so if you lose one, make a new one.
Roles: who on your team can do what

Invite people to your account and give each one a role. Separation of duties matters here — the person who watches the yard shouldn't be able to delete the recording of it.

OwnerAdminOperatorViewer
Watch live, view footage and events
Fire relays
Change device settings (motion, recording, quality)
Delete footage, clips or a camera
See and rotate camera passwords
Open remote access to a device
Panels, widgets and API keys
See the statement
Invite people and change roles

Inviting someone: Settings → People → Invite someone. You get a link to send them; it works once and expires in 7 days. They sign in, click Join, and they're on your account with the role you chose.

The owner is fixed on purposeThe account owner can't be demoted or removed, and nobody can change their own role — including an admin. That way an account can't be locked out of itself or quietly taken over.

Every invite, join, role change and removal is written to your activity log with who did it.

Two-factor authentication

Set it up in Settings → Two-factor authentication with any authenticator app — Google Authenticator, 1Password, Authy. Scan the QR, enter the code it shows, and save the ten recovery codes you're given.

It's step-up, not a login wall. You won't be asked for a code to sign in, watch a camera or fire a relay. You'll be asked before something that can't be undone or that reaches somewhere sensitive:

  • Deleting footage, clips or a camera
  • Seeing or rotating camera passwords
  • Opening remote access to a device
  • Inviting people or changing their roles

Once you've entered a code, those stay unlocked for 15 minutes. When you're asked mid-action, answering the prompt continues what you were doing — nothing is lost.

Requiring it of your teamAn account owner can switch on "require two-factor for owners and admins". They keep everyday access, but the four things above stay locked until they set it up. You have to have it on yourself before you can require it of anyone else.
Your recovery codes are shown onceWe store only a one-way hash of them, so we cannot show them again or email them to you. Each works once. If you run out and lose your phone, an owner or admin can remove you and re-invite you.
What's encrypted, and what we can see

Everything travels over HTTPS, and footage, snapshots and clips are stored encrypted at rest by our cloud provider.

Camera passwords you save are encrypted with a key we hold separately from the database, so a database leak alone would not expose them. They are never returned by any screen or API — you can deliberately reveal one, and that's recorded.

Being straight with you: this is not zero-knowledge. We have to be able to hand a password to a Bridge so it can talk to your camera, so we can decrypt it. Anyone telling you otherwise about a system that logs into your cameras for you is mistaken.

Panel PINs are stored one-way, with a per-panel salt and the same separately-held key, so a database leak alone can't turn a stored PIN back into the four digits someone types at the gate. They can't be shown back to you — keep your own note.

Live camera links expire. When something plays a live camera — the app, a shared panel, a widget on your site — it's handed a signed link that works only for that one camera and only for a few hours. Copying the address out of your browser therefore doesn't give anyone lasting access to the camera; the page re-issues a fresh link as it goes. Recordings and clips have always worked this way.

What we record

Every attempt to fire a relay is logged — who or what triggered it, when, which device, and the outcome, including failures. Deleting a camera or a day of footage is logged too. You can see it on the Events page.

We also record which Bridge reported what, so a problem at a multi-site account can be attributed to the right machine rather than guessed at.

Who at Web Pros can see your account

A named list of people — no more than a handful, and each one added deliberately. Nobody gets access by working here; support staff can't reach your cameras or your bill unless they're on that list.

Every action an operator takes is recorded, including simply looking at your account: who, when, and what they opened. Changing who is on the list is itself recorded, and requires that person's own two-factor code.

The record is written in two places — our own database, and a logging system that the operators themselves cannot edit or delete. That second copy is the one that matters for an audit, and it's why we can answer "who looked at our footage" with a list rather than a reassurance.

If your own security review needs that list, or a report of access to your account over a period, ask and we'll provide it.

Getting your data out, and getting rid of it

Footage and clips can be downloaded from the app at any time. Motion history and its stills expire on a schedule you set per camera; cloud footage expires on the archive's own retention.

Deleting a camera removes its footage, clips and snapshots from our storage. Your billing history is deliberately kept — it's the detail behind invoices you've already had.

Deletion is immediate, and there's no recycle bin in the app"Delete all footage" removes the cloud copy and tells the Bridge not to re-upload it — you can't undo it from the app. What's on the Bridge's own disk is untouched, and that's your real safety net, so think about how long you keep footage locally.

For honesty about what "deleted" means: deleted objects persist in our backups for up to 14 days before they're purged for good. That window exists so an accidental deletion is recoverable by us — ask, and be quick about it. Nothing deleted remains visible or servable in the app.
Quick symptom guide
What you seeWhere to look
Black video areaThe video area stays black — most often H.265, or just the 10-second start-up
“Waiting for the stream”Normal for up to ~15 seconds. If it persists, check the Bridge is online and look at its log
Relay button does nothing (Shelly)Check the device isn't offline in Shelly — an offline device has no state to read or set
Relay button does nothing (LAN relay)Check the Bridge first, not the vendor — a LAN relay is reached over your own network. The message names which it is: no Bridge linked, the Bridge hasn't checked in, the Bridge couldn't reach the box, or the box refused
Relay stays on after a pulseTell us. We send an explicit release, so this shouldn't happen
Camera error 401 UnauthorizedWrong camera login, or two things pulling the camera at once — see two Bridges
Archive day looks emptyCheck the site time zone, and whether footage was deleted
Footage “expired before reaching the cloud”Upload can't keep up — switch to browse quality
Too many motion alertsLighting and noise, then tighten the watch area
An event says “not reviewed”The AI check didn't complete for that event. If it keeps happening, tell us
Bill higher than expectedWhat you're billed for and the archive fee — especially if an archive was switched off with footage left behind
What to tell us when you report a problem

These four things turn a long back-and-forth into a quick answer:

  1. Which camera or relay, by the name you gave it.
  2. When it happened, with the time zone.
  3. The Bridge's version, from Sites → Bridges.
  4. The last few lines of the Bridge log, if it's a camera or recording problem.

No articles match that

Try a shorter word — “archive”, “motion”, “PIN”, “bill”, “black”.

Still stuck?

Open the help bubble in the app for a quick start, or grab the Bridge log before you get in touch — it answers most camera questions on its own.

Back to the app Bridge downloads