Take over screens for a while
start_takeoverShow something on screens over their normal content, now.
When to use:
Existing content for a while (the lunch menu until 2 pm), or a pre-armed emergency.
When NOT to use:
A lasting change: use set_screen_content.
What to know:
Content ends by itself; an emergency stays above everything until end_takeover, so confirm its scope with the person first. Returns castId for end_takeover. Needs screen.cast.
Parameters:
Pass exactly one of: contentId with contentKind (from list_items), or emergencyTemplateId (from list_items kind emergency_templates).
scopeKind: all (default, every screen this connection reaches), node with scopeNodeId, or screens with screenIds. An emergency ignores scope and uses its template's.
expiresAt: ISO 8601 with offset, default one hour from now.
Example: {contentKind:"playlist", contentId:"pl_lunch", scopeKind:"node", scopeNodeId:"on_store12", expiresAt:"2026-10-20T14:00:00-07:00"}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| headline | No | Listing name, with contentId only. | |
| contentId | No | Content id. | |
| expiresAt | No | End time. | |
| scopeKind | No | Which screens. | |
| screenIds | No | Screen ids. | |
| contentKind | No | Content kind. | |
| scopeNodeId | No | Location id. | |
| emergencyTemplateId | No | Emergency template id. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| castId | No | Pass to end_takeover to stop early (an emergency's id starts with emg_). | |
| expiresAt | No | When it ends by itself (absent for an emergency). | |
| screenCount | No | How many screens show it. |