Voice Wake (Global Wake Words)
crocbot treats wake words as a single global list owned by the Gateway.- There are no per-node custom wake words.
- Any node/app UI may edit the list; changes are persisted by the Gateway and broadcast to everyone.
- Each device still keeps its own Voice Wake enabled/disabled toggle (local UX + permissions differ).
Storage (Gateway host)
Wake words are stored on the gateway machine at:~/.crocbot/settings/voicewake.json
Protocol
Methods
voicewake.getreturns{ triggers: string[] }voicewake.setwith params{ triggers: string[] }returns{ triggers: string[] }
- Triggers are normalized (trimmed, empties dropped). Empty lists fall back to defaults.
- Limits are enforced for safety (count/length caps).
Events
voicewake.changedpayload{ triggers: string[] }
- All WebSocket clients (WebChat, etc.)
- All connected nodes, and also on node connect as an initial “current state” push.
Client behavior
Nodes use the global list for wake word trigger detection. Editing “Trigger words” in settings callsvoicewake.set and relies on the broadcast to keep other clients in sync.