For Abilities that call an external API and speak the result.
Speak → Collect input → Call API → Speak result → Exit
- Weather lookups
- Stock prices
- Sports scores
- Any "fetch and tell" pattern
- Copy this folder to
community/your-ability-name/ - Replace
API_URLandAPI_HEADERSwith your API details - Update
fetch_data()to parse your API's response format - Upload to OpenHome and set your trigger words in the dashboard
- Replace any API keys with
YOUR_API_KEY_HEREplaceholders before submitting
Ability triggered by hotword
→ Asks what to look up
→ Waits for user input
→ Calls external API
→ Uses LLM to summarize result into spoken response
→ Speaks the response
→ Returns to normal Personality flow
- Always use
requestsfor HTTP calls (recommended by OpenHome) - Always wrap API calls in try/except
- Always log errors with
self.worker.editor_logging_handler - Never hardcode production API keys — use placeholders