Activities & remotes
Activities
Section titled “Activities”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
Section titled “Remotes”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.