Skip to content

Activities & remotes

An activity (“Watch a Movie”, “Listen to Music”) is a one-tap scene. Interestingly, the device side of an activity is deliberately dumb — it just flips an active flag and emits activity.started / activity.stopped. The real orchestration lives in the hub: saving an activity generates a managed rule group (power the receiver, switch the projector input, dim the lights, open the app — in the right order) and a managed remote. Deleting the activity tears both back down.

Because the start event carries arguments (a media item’s stream URL, title, position), the generated rules can resolve them — which is how “Play this movie” lands on the screen you chose.

Remotes are hub-side and capability-bound. A driver can ship a remote template for its hardware; the gallery collects them; and each activity gets a generated remote. Buttons bind to canonical capabilities (power.toggle, nav.up, volume.up), and the hub resolves each to whichever device holds that role — so one layout works across different gear, and works on every phone, tablet and screen in the house.

Zones keep the theatre, the den and the kitchen each doing their own thing, all from one hub.