{ "nodes": [ { "parameters": { "rule": { "interval": [ { "field": "hours", "minutes": 30, "hours": 7 } ] } }, "id": "6e8b8c8a-8c8a-4c8a-8c8a-8c8a8c8a8c8a", "name": "Schedule Trigger", "type": "n8n-nodes-base.scheduleTrigger", "typeVersion": 1, "position": [ 250, 300 ] }, { "parameters": { "method": "GET", "url": "http://10.0.0.199:8123/api/states/weather.home", "authentication": "predefinedCredentialType", "nodeCredentialType": "homeAssistantApi", "options": {} }, "id": "7f9c9d9b-9d9b-5d9b-9d9b-9d9b9d9b9d9b", "name": "Fetch Weather", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.1, "position": [ 450, 300 ] }, { "parameters": { "jsCode": "const weather = $node[\"Fetch Weather\"].json;\nconst temp = weather.attributes.temperature;\nconst condition = weather.state;\nconst text = `Good morning! The current weather is ${condition} with a temperature of ${temp} degrees. Have a great day!`;\nreturn { briefing: text };" }, "id": "8a0d0e0c-0e0c-6e0c-0e0c-0e0c0e0c0e0c", "name": "Compose Briefing", "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ 650, 300 ] }, { "parameters": { "method": "POST", "url": "http://localhost:8080/speak", "sendBody": true, "bodyParameters": { "parameters": [ { "name": "text", "value": "={{ $json.briefing }}" } ] }, "options": {} }, "id": "9b1e1f1d-1f1d-7f1d-1f1d-1f1d1f1d1f1d", "name": "POST to OpenClaw", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.1, "position": [ 850, 300 ] } ], "connections": { "Schedule Trigger": { "main": [ [ { "node": "Fetch Weather", "type": "main", "index": 0 } ] ] }, "Fetch Weather": { "main": [ [ { "node": "Compose Briefing", "type": "main", "index": 0 } ] ] }, "Compose Briefing": { "main": [ [ { "node": "POST to OpenClaw", "type": "main", "index": 0 } ] ] } } }