Lighting Scenes
Quick Start
Activate predefined lighting presets that set optimal color temperature and brightness for specific activities. Use this for ALL activity-based or environment lighting requests.
Workflow
- Determine which scene matches the user's request or activity
- Prefix reply with
[HW:/scene:{"scene":"name"}] — the device fires it before TTS
- Confirm the scene activation to the user
- Optionally chain emotion:
[HW:/scene:{"scene":"night"}][HW:/emotion:{"emotion":"sleepy","intensity":0.7}]
Examples
Input: "Reading mode"
Output: [HW:/scene:{"scene":"reading"}] Reading mode activated — 80% brightness, neutral white.
Input: "Goodnight" / "good night" / "time to sleep"
Output: [HW:/scene:{"scene":"night"}][HW:/emotion:{"emotion":"sleepy","intensity":0.7}] Night mode on. Sweet dreams!
Input: "I want to relax" / "let me chill"
Output: [HW:/scene:{"scene":"relax"}] Relax mode — warm, gentle light at 40%.
Input: "Movie time" / "watching a movie"
Output: [HW:/scene:{"scene":"movie"}] Movie mode — dim amber bias lighting.
Input: "I need to focus"
Output: [HW:/scene:{"scene":"focus"}] Focus mode — full brightness, cool white.
Input: "Make it purple"
Output: Do NOT use this skill. Use LED Control skill instead.
Input: Conversational reply needing emotion
Output: Do NOT use this skill for emotion. Use Emotion skill instead (you CAN use both Scene + Emotion together).
How to Activate a Scene
No exec/curl needed. Inline marker at start of reply:
[HW:/scene:{"scene":"reading"}] Reading mode activated.
[HW:/scene:{"scene":"night"}][HW:/emotion:{"emotion":"sleepy","intensity":0.7}] Night mode on. Sweet dreams!
Available scenes
| Scene |
Brightness |
Color Temp |
Best for |
reading |
80% |
~4000K neutral white |
Reading, studying, desk work |
focus |
100% |
~5000K cool white |
Deep work, coding, no distractions |
relax |
40% |
~2700K warm |
Winding down, casual chat |
movie |
15% |
~2700K dim amber |
Watching videos, bias lighting |
night |
5% |
~2200K very warm |
Sleep-friendly, minimal light |
energize |
100% |
~6500K daylight |
Morning wake-up, need energy |
Error Handling
- If the API returns an error or is unreachable, inform the user: "I couldn't change the lighting scene right now. The hardware service may be unavailable."
- If the user requests a scene that does not exist, suggest the closest available scene from the table above.
Rules
- Scene = brightness + color. This is why you must use Scene instead of direct LED for ambiance. LED
/led/solid is always 100% brightness — useless for sleep/relax.
- "sleepy", "goodnight", "time to sleep", "going to bed" -> ALWAYS use
night (5% brightness, ultra-dim).
- "relax", "chill", "unwind" -> use
relax (40%).
- "watch a movie", "movie" -> use
movie (15%).
- After activating a scene, you can ALSO call Emotion to show your personality — emotion is a brief reaction, scene is the persistent ambient light.
- You can switch scenes smoothly — just call the endpoint, the LED update is immediate.
- Scene off:
[HW:/scene/off:{}] deactivates the current scene and returns to idle state (restores camera, speaker, servo, idle LED). Use when:
- User says "normal mode" / "turn off scene" / "back to normal"
- Current scene doesn't match the time of day — switch to appropriate scene OR turn off
- "Turn off the light" → use LED Control skill (
/led/off), not Scene
- For custom lighting beyond these presets, use the LED Control skill directly with specific RGB values.
- Do NOT use for specific color requests -> use LED Control skill.
- Do NOT use for expressing emotion -> use Emotion skill.
Output Template
[HW:/scene:{"scene":"reading"}] Reading mode activated.
Examples:
[HW:/scene:{"scene":"reading"}] Reading mode activated.
[HW:/scene:{"scene":"night"}] Night mode on.
[HW:/scene:{"scene":"energize"}] Energize mode on.
1---2name: scene3description: Activate predefined lighting scene presets (reading, focus, relax, movie, night, energize) when the user asks for activity-based or environment lighting. Scenes control both color temperature AND brightness. Do NOT use for specific colors (use LED Control) or emotion expression (use Emotion).4---56# Lighting Scenes78## Quick Start9Activate predefined lighting presets that set optimal color temperature and brightness for specific activities. Use this for ALL activity-based or environment lighting requests.1011## Workflow121. Determine which scene matches the user's request or activity132. Prefix reply with `[HW:/scene:{"scene":"name"}]` — the device fires it before TTS143. Confirm the scene activation to the user154. Optionally chain emotion: `[HW:/scene:{"scene":"night"}][HW:/emotion:{"emotion":"sleepy","intensity":0.7}]`1617## Examples1819Input: "Reading mode"20Output: `[HW:/scene:{"scene":"reading"}]` Reading mode activated — 80% brightness, neutral white.2122Input: "Goodnight" / "good night" / "time to sleep"23Output: `[HW:/scene:{"scene":"night"}][HW:/emotion:{"emotion":"sleepy","intensity":0.7}]` Night mode on. Sweet dreams!2425Input: "I want to relax" / "let me chill"26Output: `[HW:/scene:{"scene":"relax"}]` Relax mode — warm, gentle light at 40%.2728Input: "Movie time" / "watching a movie"29Output: `[HW:/scene:{"scene":"movie"}]` Movie mode — dim amber bias lighting.3031Input: "I need to focus"32Output: `[HW:/scene:{"scene":"focus"}]` Focus mode — full brightness, cool white.3334Input: "Make it purple"35Output: Do NOT use this skill. Use **LED Control** skill instead.3637Input: Conversational reply needing emotion38Output: Do NOT use this skill for emotion. Use **Emotion** skill instead (you CAN use both Scene + Emotion together).3940## How to Activate a Scene4142**No exec/curl needed.** Inline marker at start of reply:4344```45[HW:/scene:{"scene":"reading"}] Reading mode activated.46[HW:/scene:{"scene":"night"}][HW:/emotion:{"emotion":"sleepy","intensity":0.7}] Night mode on. Sweet dreams!47```4849### Available scenes5051| Scene | Brightness | Color Temp | Best for |52|---|---|---|---|53| `reading` | 80% | ~4000K neutral white | Reading, studying, desk work |54| `focus` | 100% | ~5000K cool white | Deep work, coding, no distractions |55| `relax` | 40% | ~2700K warm | Winding down, casual chat |56| `movie` | 15% | ~2700K dim amber | Watching videos, bias lighting |57| `night` | 5% | ~2200K very warm | Sleep-friendly, minimal light |58| `energize` | 100% | ~6500K daylight | Morning wake-up, need energy |5960## Error Handling61- If the API returns an error or is unreachable, inform the user: "I couldn't change the lighting scene right now. The hardware service may be unavailable."62- If the user requests a scene that does not exist, suggest the closest available scene from the table above.6364## Rules65- **Scene = brightness + color.** This is why you must use Scene instead of direct LED for ambiance. LED `/led/solid` is always 100% brightness — useless for sleep/relax.66- **"sleepy", "goodnight", "time to sleep", "going to bed"** -> ALWAYS use `night` (5% brightness, ultra-dim).67- **"relax", "chill", "unwind"** -> use `relax` (40%).68- **"watch a movie", "movie"** -> use `movie` (15%).69- After activating a scene, you can ALSO call Emotion to show your personality — emotion is a brief reaction, scene is the persistent ambient light.70- You can switch scenes smoothly — just call the endpoint, the LED update is immediate.71- **Scene off:** `[HW:/scene/off:{}]` deactivates the current scene and returns to idle state (restores camera, speaker, servo, idle LED). Use when:72 - User says "normal mode" / "turn off scene" / "back to normal"73 - Current scene doesn't match the time of day — switch to appropriate scene OR turn off74 - "Turn off the light" → use LED Control skill (`/led/off`), not Scene75- For custom lighting beyond these presets, use the LED Control skill directly with specific RGB values.76- **Do NOT use for specific color requests** -> use **LED Control** skill.77- **Do NOT use for expressing emotion** -> use **Emotion** skill.7879## Output Template80```81[HW:/scene:{"scene":"reading"}] Reading mode activated.82```83Examples:84- `[HW:/scene:{"scene":"reading"}] Reading mode activated.`85- `[HW:/scene:{"scene":"night"}] Night mode on.`86- `[HW:/scene:{"scene":"energize"}] Energize mode on.`