Wycast

CPaaSEdgeEngine
How it worksBlog
All posts
15 July 2026fleetoperations

Moving a camera without touching it

A device that is already deployed should be reassignable from a console, not from a ladder. That requires separating where a camera is supposed to be from where it actually is.

Ask anyone who runs cameras for a living what they dread and it is not the streaming. It is the day someone decides that the camera on the third-floor loading bay should now feed a different view — and the only way to do that is to get the ladder out, or worse, to reflash the unit.

A deployed device should be reassignable from a console. Getting there is less about video and more about being honest that a fleet is a distributed system.

Intent and reality are two different fields

The mistake is storing one room per device. The moment you do, "which room is this camera in?" has one answer, and that answer is wrong for as long as it takes the instruction to arrive.

So a device carries both:

  • Intent — the room an operator says it should serve. Changing this is a database write, and it is instant, because it is a statement about what we want.
  • Reality — the room the device has actually reached and is streaming into. This changes when the device says it changed, and not before.
Two tracks for one device. Intent flips to room B the moment an operator sets it; reality stays on room A until the device acknowledges. The span between the two is shaded and labelled converging.
The shaded span is not an error state. It is how long the network took.

Between those two sits a device on a network you do not control. On a warehouse floor that gap is milliseconds. On a truck going through a tunnel it is however long the tunnel is.

Desired-state sync, not commands

Once the two are separate fields, the device's job stops being "obey this instruction" and becomes "make yourself match the desired state". That difference matters more than it sounds:

  • A command that arrives while a device is offline is lost. A desired state that changed while a device was offline is simply picked up when it comes back.
  • A command delivered twice does something twice. A desired state applied twice is applied once.
  • A device that was rebooted mid-instruction resumes correctly, because it re-reads where it should be rather than replaying what it was told.

The operator-visible payoff is that a room change is never a thing you have to babysit. You set it, the console shows the device as not-yet-there, and it converges.

What the console has to show

The thing this model demands in exchange is honesty in the UI. If intent and reality can differ, the interface cannot show one number and imply the other. A device that has been asked to move and has not yet arrived is in a real state that deserves its own display — not a spinner, and not a lie in either direction.

That is the whole trade: a slightly more complicated screen, in return for never climbing a ladder to change which room a camera belongs to.

© Wycast

How it worksBlogServicesTermsPrivacyContactSign in