Advanced Automations
Homecast includes a visual automation editor inspired by tools like n8n and Node-RED. Build flows by connecting nodes on a canvas — triggers start the flow, actions control your devices, and logic nodes let you branch, merge, and transform data.
How it works
- Open the editor — from the Automations section, click "New Automation" → "Homecast"
- Add nodes from the left palette (or tap the + button on mobile)
- Connect nodes by dragging from an output handle to an input handle
- Configure nodes by clicking them to open the config panel
- Save and your automation starts running
Data flow
Every node produces output data that downstream nodes can reference. For example, an HTTP Request node captures the response body, and a Code node can transform it:
{{ nodes['http1'].data.body.temperature }}
{{ nodes['code1'].data.result }}
{{ trigger.to_value }}This is what makes Homecast automations powerful — data flows through the pipeline, not just execution order.
Node types
Triggers (start the flow)
| Node | Description |
|---|---|
| Device Changed | Fires when a device or service group changes state |
| Schedule | Fires at a time, interval, or sunrise/sunset |
| Webhook | Fires when an HTTP request is received |
Actions (do something)
| Node | Description |
|---|---|
| Set Device | Control a HomeKit device |
| Run Scene | Execute a HomeKit scene |
| Delay | Wait for a fixed duration |
| Notify | Send a push notification |
| HTTP Request | Make an HTTP request and capture the response |
| Code | Run custom JavaScript |
Logic (control the flow)
| Node | Description |
|---|---|
| IF | Branch based on a condition |
| Wait | Pause until a device changes or timeout |
| Merge | Combine data from multiple branches |
| Sub-workflow | Run another automation as a sub-flow |
Error handling
Every action node supports per-node error handling:
- Stop (default) — the automation halts on error
- Continue — log the error and proceed to the next node
- Retry — retry with exponential backoff, then continue
Configure this in the "Error Handling" section at the bottom of each action node's config panel.
Execution history
Click the History button in the toolbar to see past execution runs. Each run shows:
- Status (success, error, stopped)
- Duration
- Step-by-step trace with input/output data for each node