Dateien nach "workflow/Heizung" hochladen

This commit is contained in:
2025-12-27 19:16:04 +01:00
parent 15188ed250
commit c8f709f863
5 changed files with 2043 additions and 0 deletions

View File

@@ -0,0 +1,538 @@
{
"name": "Wasser: Abfrage Verbrauch",
"nodes": [
{
"parameters": {
"triggerTimes": {
"item": [
{
"hour": 23,
"minute": 59
}
]
}
},
"id": "561d1d2d-fac6-4d96-a2df-663a619aeda2",
"name": "Daily Trigger",
"type": "n8n-nodes-base.cron",
"typeVersion": 1,
"position": [
1648,
448
]
},
{
"parameters": {
"operation": "upsert",
"table": {
"__rl": true,
"value": "Wasser",
"mode": "list",
"cachedResultName": "Wasser"
},
"dataMode": "defineBelow",
"columnToMatchOn": "Datum",
"valueToMatchOn": "={{ $now.toFormat('yyyy-MM-dd')}}",
"valuesToSend": {
"values": [
{
"column": "Verbrauch",
"value": "={{ $json.val }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.mySql",
"typeVersion": 2.4,
"position": [
2096,
352
],
"id": "a1ebe79e-110a-433f-ad4a-5f4f0064a76e",
"name": "update data to homelab \"Wasser\"",
"credentials": {
"mySql": {
"id": "GvOnFzLTFlbKtgUM",
"name": "MySQL account - homelab"
}
}
},
{
"parameters": {
"url": "http://192.168.2.68:8093/v1/state/0_userdata.0.haus.wasser.zaehlerstand.aktuell",
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "value",
"value": "={{ $json['Abgelesener Zählerstand'] }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1424,
352
],
"id": "ecea6f2f-5db3-4be3-8584-f8c0f83329ff",
"name": "HTTP Request set_zahlerstand"
},
{
"parameters": {
"url": "http://192.168.2.68:8093/v1/state/sourceanalytix.0.0_userdata__0__haus__wasser__verbrauch__2025.currentYear.consumed.01_currentDay/subscribe?method=polling",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1872,
352
],
"id": "d12d4357-f936-4642-ad2b-847f1971ddc8",
"name": "get vebrauch/tag via http request"
},
{
"parameters": {
"formTitle": "Aktualisiere Zählerstand Wasser",
"formFields": {
"values": [
{
"fieldLabel": "Abgelesener Zählerstand",
"fieldType": "number",
"requiredField": true
}
]
},
"options": {}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.2,
"position": [
1200,
352
],
"id": "f6552cf5-f2d8-4acc-871e-2641bacaee16",
"name": "On form submission",
"webhookId": "dfcbaead-1bae-429e-87f9-2ef05ede4c1b"
},
{
"parameters": {},
"type": "n8n-nodes-base.wait",
"typeVersion": 1.1,
"position": [
1648,
256
],
"id": "05cece8c-fd2a-4ee7-8293-77c986c990f6",
"name": "Wait",
"webhookId": "e6ff339c-03cc-4b01-8b04-c63fc292d787"
},
{
"parameters": {
"path": "c599093d-5857-4a17-af99-837210d3b258",
"options": {
"binaryPropertyName": "value"
}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
64,
256
],
"id": "226e5bd3-686c-4306-94c5-afb7396799a1",
"name": "Webhook",
"webhookId": "c599093d-5857-4a17-af99-837210d3b258"
},
{
"parameters": {
"promptType": "define",
"text": "=Passe das bild an so dass man wert eindeutig erkennen kann. danach gibst du mir nur den wert im format xxx.xxx zurück, kein zusätzlicher Text! Wenn der ermittelte Wert kleiner als {{ $json.val }} ist, dann gib den Wert {{ $json.val }} zurück. ",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2,
"position": [
736,
160
],
"id": "eb8a9ee9-57d9-4cf3-8c7f-2bb3fd2636df",
"name": "AI Agent",
"alwaysOutputData": false
},
{
"parameters": {
"model": {
"__rl": true,
"value": "chatgpt-4o-latest",
"mode": "list",
"cachedResultName": "chatgpt-4o-latest"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.2,
"position": [
800,
384
],
"id": "dc33f2a4-29df-45f8-a5f0-44c0f87901d5",
"name": "OpenAI Chat Model",
"credentials": {
"openAiApi": {
"id": "Xx2EBW5wfs9Rj7ma",
"name": "OpenAi account"
}
}
},
{
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 30
}
]
}
},
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
64,
64
],
"id": "31c4c63e-17a1-44b2-bf2e-39616bc9d975",
"name": "Schedule Trigger"
},
{
"parameters": {
"url": "http://192.168.2.68:8093/v1/state/0_userdata.0.haus.wasser.zaehlerstand.aktuell",
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "value",
"value": "={{ $json.output }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
288,
160
],
"id": "e46fbeb6-5986-4aaa-a8b2-a6530503181e",
"name": "get zaehlerstand aktuell"
},
{
"parameters": {
"url": "http://192.168.2.68:8093/v1/state/0_userdata.0.haus.wasser.zaehlerstand.aktuell",
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "value",
"value": "={{ $json.output }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1424,
160
],
"id": "8279f731-f448-414d-89d7-b40a0bc69475",
"name": "write zaehlerstand new"
},
{
"parameters": {
"chatId": "749279624",
"text": "=Der Wasserverbrauch am {{ $now.toFormat('dd.MM.yyyy')}} liegt aktuell bei {{ $('get vebrauch/tag via http request').item.json.val }}m³.",
"additionalFields": {}
},
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [
2320,
352
],
"id": "5db04ba0-de8d-4753-91a9-87808c298cef",
"name": "Send a text message",
"webhookId": "7ca1953d-706e-4850-aabb-677b554c7b62",
"disabled": true
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "loose",
"version": 2
},
"conditions": [
{
"id": "6fd25c16-6aa5-45ee-95b6-53572a43e47d",
"leftValue": "={{ $json.output }}",
"rightValue": "={{ $('get zaehlerstand aktuell').item.json.val }}",
"operator": {
"type": "number",
"operation": "lte"
}
},
{
"id": "1188485d-85b5-4c87-afd1-e86898d5c44e",
"leftValue": "={{ $json.output }}",
"rightValue": "={{ $('get zaehlerstand aktuell').item.json.val * 1.005}} ",
"operator": {
"type": "number",
"operation": "gt"
}
}
],
"combinator": "or"
},
"looseTypeValidation": true,
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
1200,
160
],
"id": "91b87624-647e-4c86-8c99-47e937358da2",
"name": "If"
},
{
"parameters": {
"content": "Via Web Form",
"height": 220,
"width": 460
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
1136,
288
],
"id": "b68aba50-dc47-4010-a3e8-c1ed610c8d27",
"name": "Sticky Note"
},
{
"parameters": {
"content": "Via KI ",
"height": 400,
"width": 1480
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
48,
16
],
"id": "d8a1355c-2e01-40fb-8d7a-da0bf0d34f60",
"name": "Sticky Note1"
},
{
"parameters": {
"url": "http://192.168.2.22/img_tmp/alg_roi.jpg",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
512,
160
],
"id": "d4eac2d6-527e-46e6-b6e3-ae59f2e8d5f2",
"name": "get zaehlerstand from photo"
}
],
"pinData": {},
"connections": {
"Daily Trigger": {
"main": [
[
{
"node": "get vebrauch/tag via http request",
"type": "main",
"index": 0
}
]
]
},
"update data to homelab \"Wasser\"": {
"main": [
[
{
"node": "Send a text message",
"type": "main",
"index": 0
}
]
]
},
"get vebrauch/tag via http request": {
"main": [
[
{
"node": "update data to homelab \"Wasser\"",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "HTTP Request set_zahlerstand",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request set_zahlerstand": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "get vebrauch/tag via http request",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "get zaehlerstand aktuell",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "get zaehlerstand aktuell",
"type": "main",
"index": 0
}
]
]
},
"get zaehlerstand aktuell": {
"main": [
[
{
"node": "get zaehlerstand from photo",
"type": "main",
"index": 0
}
]
]
},
"write zaehlerstand new": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"If": {
"main": [
[],
[
{
"node": "write zaehlerstand new",
"type": "main",
"index": 0
}
]
]
},
"get zaehlerstand from photo": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "5e8ac774-c1c1-4d97-a446-e3fe3a523d72",
"meta": {
"instanceId": "3cc6c4256e2bbdec1b3708c49dc3889c7266357f3e239651c157c2de760e6c65"
},
"id": "suIqhSRRO2zhzLmy",
"tags": [
{
"updatedAt": "2025-12-20T19:56:59.512Z",
"createdAt": "2025-12-20T19:56:59.512Z",
"id": "9G8OthZJpXo6BPbV",
"name": "Smart Home"
}
]
}