Repository navigation
Document AutomationList for hubs that fire their own automations - #284
Conversation
✅ Deploy Preview for esphome-dev-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
🟡 Changes recommended
The Python example registers on_tag without a corresponding C++ implementation, so configuring it generates a call to the nonexistent add_on_tag_automation() and causes compilation to fail.
1 open issue
What changed in this PR
Adds developer guidance for hubs that fire their own automations using AutomationList, documenting the API introduced in esphome/esphome#21788.
Changes:
- Adds Python registration and C++ dispatch examples using build-time-sized automation lists.
- Explains memory usage, conditional compilation, and when to prefer callbacks or per-automation stored values.
- Extends the method-selection table with a hub-owned event example.
| File | Description |
|---|---|
src/content/docs/architecture/components/automations.md |
Documents AutomationList and build_automation_lists, with examples and method-selection guidance. |
Review effort: Balanced
|
ESPHome Bot (@esphbot) review |
|
|
ESPHome Bot (esphbot)
left a comment
There was a problem hiding this comment.
Tip
No blocking issues found — ready to merge.
|
Note No code changes since the last review ( |
|
ESPHome Bot (@esphbot) review |
PR Review — Document AutomationList for hubs that fire their own automationsMerge-ready. Both earlier findings are fixed, and only one small, non-blocking nit is left. What works well:
One nit:
Checklist
Automated review by Kōan (Claude) |
ESPHome Bot (esphbot)
left a comment
There was a problem hiding this comment.
Tip
No blocking issues found — ready to merge.

Description
Documents
AutomationListandbuild_automation_listsfor a hub that fires its own automations, such as a keypad'son_key: each automation is a pointer-sized slot (4 bytes on 32-bit chips) in a list sized at build time, with noTriggerobject, and an unused list compiles out. It also adds a row to the "When to use which method" table.Pull request in esphome this documents (if applicable):