From efe8dcf126bf73305401dab5364983be4d555f17 Mon Sep 17 00:00:00 2001 From: rxf Date: Sat, 23 May 2026 10:19:03 +0200 Subject: [PATCH] Bodenfeuchte nei dazu --- flows.json | 819 +++++++++++++++++++++++++++++++++++++++++++++++- flows_cred.json | 2 +- 2 files changed, 814 insertions(+), 7 deletions(-) diff --git a/flows.json b/flows.json index 7b63ad5..c516f4e 100644 --- a/flows.json +++ b/flows.json @@ -191,6 +191,14 @@ "info": "", "env": [] }, + { + "id": "a78d7fab32058fcd", + "type": "tab", + "label": "Bodenfeuchte", + "disabled": false, + "info": "Bodenfeuchte über den ELV-Sensor per LoraWan (TTN) einlesen\n\nV 0.0.0 2026-05-22 rxf\n Los gehts\n\n ", + "env": [] + }, { "id": "168cd2080e21b71d", "type": "junction", @@ -1059,10 +1067,10 @@ "cols": "12" } ], - "order": 1, + "order": 2, "className": "", - "visible": "true", - "disabled": "false" + "visible": true, + "disabled": false }, { "id": "tab1", @@ -1152,10 +1160,10 @@ "cols": "12" } ], - "order": 2, + "order": 3, "className": "", - "visible": true, - "disabled": false + "visible": "true", + "disabled": "false" }, { "id": "ed415db654fe4777", @@ -1292,6 +1300,129 @@ "disabled": "false", "groupType": "default" }, + { + "id": "7765206f8b8da7a5", + "type": "mqtt-broker", + "name": "TTN", + "broker": "eu1.cloud.thethings.network", + "port": 1883, + "clientid": "", + "autoConnect": true, + "usetls": false, + "protocolVersion": 4, + "keepalive": 60, + "cleansession": true, + "autoUnsubscribe": true, + "birthTopic": "", + "birthQos": "0", + "birthRetain": "false", + "birthPayload": "", + "birthMsg": {}, + "closeTopic": "", + "closeQos": "0", + "closeRetain": "false", + "closePayload": "", + "closeMsg": {}, + "willTopic": "", + "willQos": "0", + "willRetain": "false", + "willPayload": "", + "willMsg": {}, + "userProps": "", + "sessionExpiry": "" + }, + { + "id": "883598fbde3d4269", + "type": "ui-group", + "name": "Boden_Temp", + "page": "c6f339624d3ba639", + "width": 6, + "height": 1, + "order": 3, + "showTitle": true, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "c6f339624d3ba639", + "type": "ui-page", + "name": "Garten", + "ui": "a8dc70a6237173a2", + "path": "/garden", + "icon": "home", + "layout": "grid", + "theme": "bf39f7747c4cb89e", + "breakpoints": [ + { + "name": "Default", + "px": "0", + "cols": "3" + }, + { + "name": "Tablet", + "px": "576", + "cols": "6" + }, + { + "name": "Small Desktop", + "px": "768", + "cols": "9" + }, + { + "name": "Desktop", + "px": "1024", + "cols": "12" + } + ], + "order": 1, + "className": "", + "visible": "true", + "disabled": "false" + }, + { + "id": "b2d662ad608dad5f", + "type": "ui-group", + "name": "Datetime_3", + "page": "c6f339624d3ba639", + "width": "12", + "height": 1, + "order": 1, + "showTitle": false, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "1f934e808f93452b", + "type": "ui-group", + "name": "Boden-Feuchte", + "page": "c6f339624d3ba639", + "width": 6, + "height": 1, + "order": 2, + "showTitle": true, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "da32bdb1eddd2918", + "type": "ui-group", + "name": "BodeWerte", + "page": "c6f339624d3ba639", + "width": "12", + "height": 1, + "order": 4, + "showTitle": false, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, { "id": "4d2812cbd43e95b7", "type": "mqtt in", @@ -15029,5 +15160,681 @@ "wires": [ [] ] + }, + { + "id": "6cdb5e33b4903183", + "type": "mqtt in", + "z": "a78d7fab32058fcd", + "name": "ttn-bodenfeuchte", + "topic": "v3/bodensensor-elv@ttn/devices/eui-7066e1fffe0103c8/up", + "qos": "0", + "datatype": "auto-detect", + "broker": "7765206f8b8da7a5", + "nl": false, + "rap": true, + "rh": 0, + "inputs": 0, + "x": 280, + "y": 420, + "wires": [ + [ + "34e174e7a9d37dd5", + "a03f5df8c22f25d1" + ] + ] + }, + { + "id": "34e174e7a9d37dd5", + "type": "debug", + "z": "a78d7fab32058fcd", + "name": "debug 1", + "active": false, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "false", + "statusVal": "", + "statusType": "auto", + "x": 440, + "y": 280, + "wires": [] + }, + { + "id": "a03f5df8c22f25d1", + "type": "function", + "z": "a78d7fab32058fcd", + "name": "Payload extrahieren", + "func": "msg.payload = msg.payload.uplink_message.decoded_payload\nreturn msg", + "outputs": 1, + "timeout": 0, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 560, + "y": 420, + "wires": [ + [ + "452c55a49ef0ad15", + "345745ef1225cafa", + "7ee844e06f999b08", + "65b34b9bb53d7e6f", + "3cc76584baba2d5d" + ] + ] + }, + { + "id": "afbaa85bdc7e8864", + "type": "ui-gauge", + "z": "a78d7fab32058fcd", + "name": "Feuchte_Uhr", + "group": "1f934e808f93452b", + "order": 1, + "value": "payload", + "valueType": "msg", + "width": "3", + "height": "3", + "gtype": "gauge-half", + "gstyle": "needle", + "title": "Feuchte", + "alwaysShowTitle": false, + "floatingTitlePosition": "top-left", + "units": "%", + "icon": "", + "prefix": "", + "suffix": "", + "segments": [ + { + "from": "0", + "color": "#ffc800", + "text": "", + "textType": "label" + }, + { + "from": "30", + "color": "#5cd65c", + "text": "", + "textType": "label" + }, + { + "from": "50", + "color": "#ea5353", + "text": "", + "textType": "label" + } + ], + "min": 0, + "max": "100", + "sizeThickness": 16, + "sizeGap": 4, + "sizeKeyThickness": 8, + "styleRounded": true, + "styleGlow": false, + "className": "", + "x": 1290, + "y": 180, + "wires": [ + [] + ] + }, + { + "id": "4718868c680bee10", + "type": "ui-chart", + "z": "a78d7fab32058fcd", + "group": "1f934e808f93452b", + "name": "Feuchte_Chart", + "label": "Feuchte [%]", + "order": 2, + "chartType": "line", + "category": "topic", + "categoryType": "msg", + "xAxisLabel": "", + "xAxisProperty": "", + "xAxisPropertyType": "timestamp", + "xAxisType": "time", + "xAxisFormat": "", + "xAxisFormatType": "auto", + "xmin": "", + "xmax": "", + "yAxisLabel": "", + "yAxisProperty": "payload", + "yAxisPropertyType": "msg", + "ymin": "0", + "ymax": "100", + "bins": 10, + "action": "append", + "stackSeries": false, + "pointShape": "circle", + "pointRadius": 4, + "showLegend": true, + "removeOlder": "12", + "removeOlderUnit": "3600", + "removeOlderPoints": "", + "colors": [ + "#0095ff", + "#ff0000", + "#ff7f0e", + "#2ca02c", + "#a347e1", + "#d62728", + "#ff9896", + "#9467bd", + "#c5b0d5" + ], + "textColor": [ + "#666666" + ], + "textColorDefault": true, + "gridColor": [ + "#e5e5e5" + ], + "gridColorDefault": true, + "width": "6", + "height": "8", + "className": "", + "interpolation": "linear", + "x": 1300, + "y": 240, + "wires": [ + [] + ] + }, + { + "id": "0d75176c6219160f", + "type": "ui-text", + "z": "a78d7fab32058fcd", + "group": "da32bdb1eddd2918", + "order": 1, + "width": "6", + "height": "1", + "name": "", + "label": "Feuchte [raw]", + "format": "{{msg.payload}}", + "layout": "row-center", + "style": false, + "font": "", + "fontSize": 16, + "color": "#717171", + "wrapText": false, + "className": "", + "value": "payload", + "valueType": "msg", + "x": 1300, + "y": 300, + "wires": [] + }, + { + "id": "57c3b66a5f1320b3", + "type": "comment", + "z": "a78d7fab32058fcd", + "name": "Bodenfeuchte messen und anzeigen", + "info": "", + "x": 340, + "y": 180, + "wires": [] + }, + { + "id": "452c55a49ef0ad15", + "type": "debug", + "z": "a78d7fab32058fcd", + "name": "debug 9", + "active": true, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "payload", + "targetType": "msg", + "statusVal": "", + "statusType": "auto", + "x": 680, + "y": 280, + "wires": [] + }, + { + "id": "095e43f2426d04be", + "type": "ui-gauge", + "z": "a78d7fab32058fcd", + "name": "Temp_Uhr", + "group": "883598fbde3d4269", + "order": 1, + "value": "payload", + "valueType": "msg", + "width": "3", + "height": "3", + "gtype": "gauge-half", + "gstyle": "needle", + "title": "Temperatur", + "alwaysShowTitle": false, + "floatingTitlePosition": "top-left", + "units": "°C", + "icon": "", + "prefix": "", + "suffix": "", + "segments": [ + { + "from": "0", + "color": "#ffc800", + "text": "", + "textType": "label" + }, + { + "from": "10", + "color": "#5cd65c", + "text": "", + "textType": "label" + }, + { + "from": "20", + "color": "#ea5353", + "text": "", + "textType": "label" + } + ], + "min": 0, + "max": "30", + "sizeThickness": 16, + "sizeGap": 4, + "sizeKeyThickness": 8, + "styleRounded": true, + "styleGlow": false, + "className": "", + "x": 1290, + "y": 380, + "wires": [ + [] + ] + }, + { + "id": "6a873a26b5a30fa9", + "type": "ui-chart", + "z": "a78d7fab32058fcd", + "group": "883598fbde3d4269", + "name": "Temp_chart", + "label": "Temperatur [°C]", + "order": 2, + "chartType": "line", + "category": "topic", + "categoryType": "msg", + "xAxisLabel": "", + "xAxisProperty": "", + "xAxisPropertyType": "timestamp", + "xAxisType": "time", + "xAxisFormat": "", + "xAxisFormatType": "auto", + "xmin": "", + "xmax": "", + "yAxisLabel": "", + "yAxisProperty": "payload", + "yAxisPropertyType": "msg", + "ymin": "", + "ymax": "", + "bins": 10, + "action": "append", + "stackSeries": false, + "pointShape": "circle", + "pointRadius": 4, + "showLegend": true, + "removeOlder": "12", + "removeOlderUnit": "3600", + "removeOlderPoints": "", + "colors": [ + "#0095ff", + "#ff0000", + "#ff7f0e", + "#2ca02c", + "#a347e1", + "#d62728", + "#ff9896", + "#9467bd", + "#c5b0d5" + ], + "textColor": [ + "#666666" + ], + "textColorDefault": true, + "gridColor": [ + "#e5e5e5" + ], + "gridColorDefault": true, + "width": "6", + "height": "8", + "className": "", + "interpolation": "linear", + "x": 1290, + "y": 440, + "wires": [ + [] + ] + }, + { + "id": "a75a0af638bad79d", + "type": "ui-text", + "z": "a78d7fab32058fcd", + "group": "da32bdb1eddd2918", + "order": 2, + "width": "6", + "height": "1", + "name": "", + "label": "Batterie [V]", + "format": "{{msg.payload}}", + "layout": "row-center", + "style": false, + "font": "", + "fontSize": 16, + "color": "#717171", + "wrapText": false, + "className": "", + "value": "payload", + "valueType": "msg", + "x": 1290, + "y": 500, + "wires": [] + }, + { + "id": "345745ef1225cafa", + "type": "change", + "z": "a78d7fab32058fcd", + "name": "extract Feuchte %", + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "payload.SoMo1H_Level", + "tot": "msg" + }, + { + "t": "set", + "p": "topic", + "pt": "msg", + "to": "feuchte", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 970, + "y": 180, + "wires": [ + [ + "afbaa85bdc7e8864", + "4718868c680bee10" + ] + ] + }, + { + "id": "7ee844e06f999b08", + "type": "change", + "z": "a78d7fab32058fcd", + "name": "extract Temperatur", + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "payload.SoMo1T_Value", + "tot": "msg" + }, + { + "t": "set", + "p": "topic", + "pt": "msg", + "to": "Temperatur", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 970, + "y": 360, + "wires": [ + [ + "095e43f2426d04be", + "6a873a26b5a30fa9" + ] + ] + }, + { + "id": "65b34b9bb53d7e6f", + "type": "change", + "z": "a78d7fab32058fcd", + "name": "extract Feuchteraw", + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "payload.SoMo1H_Value", + "tot": "msg" + }, + { + "t": "set", + "p": "topic", + "pt": "msg", + "to": "feuchte", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 970, + "y": 260, + "wires": [ + [ + "0d75176c6219160f" + ] + ] + }, + { + "id": "3cc76584baba2d5d", + "type": "change", + "z": "a78d7fab32058fcd", + "name": "extract TBatterie", + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "payload.Supply_Voltage", + "tot": "msg" + }, + { + "t": "set", + "p": "topic", + "pt": "msg", + "to": "Batterie", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 970, + "y": 440, + "wires": [ + [ + "a75a0af638bad79d" + ] + ] + }, + { + "id": "c6ca89c2421783bf", + "type": "debug", + "z": "a78d7fab32058fcd", + "name": "debug 8", + "active": false, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "payload", + "targetType": "msg", + "statusVal": "", + "statusType": "auto", + "x": 940, + "y": 760, + "wires": [] + }, + { + "id": "44f9ded0668dda8c", + "type": "inject", + "z": "a78d7fab32058fcd", + "name": "", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "5", + "crontab": "", + "once": true, + "onceDelay": 0.1, + "topic": "", + "payload": "", + "payloadType": "date", + "x": 270, + "y": 640, + "wires": [ + [ + "998115dcc2747675" + ] + ] + }, + { + "id": "998115dcc2747675", + "type": "moment", + "z": "a78d7fab32058fcd", + "name": "", + "topic": "", + "input": "", + "inputType": "msg", + "inTz": "Europe/Berlin", + "adjAmount": 0, + "adjType": "days", + "adjDir": "add", + "format": "HH:mm dddd, DD.MMMM.YYYY", + "locale": "de-DE", + "output": "", + "outputType": "msg", + "outTz": "Europe/Berlin", + "x": 640, + "y": 640, + "wires": [ + [ + "c6ca89c2421783bf", + "3c99fa4a4f7ae330", + "811f918dc02418ac" + ] + ] + }, + { + "id": "3c99fa4a4f7ae330", + "type": "function", + "z": "a78d7fab32058fcd", + "name": "function 4", + "func": "msg.payload = msg.payload.slice(0,5)\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 950, + "y": 640, + "wires": [ + [ + "191c8e6b314bc330" + ] + ] + }, + { + "id": "811f918dc02418ac", + "type": "function", + "z": "a78d7fab32058fcd", + "name": "function 5", + "func": "msg.payload = msg.payload.slice(6)\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 950, + "y": 700, + "wires": [ + [ + "ee6e26a7218d1b9a" + ] + ] + }, + { + "id": "399dc21dc23b5af9", + "type": "comment", + "z": "a78d7fab32058fcd", + "name": "Uhrzeit/Datum anzeigen", + "info": "", + "x": 290, + "y": 580, + "wires": [] + }, + { + "id": "191c8e6b314bc330", + "type": "ui-text", + "z": "a78d7fab32058fcd", + "group": "b2d662ad608dad5f", + "order": 2, + "width": "12", + "height": "1", + "name": "Time", + "label": "", + "format": "{{msg.payload}}", + "layout": "col-center", + "style": true, + "font": "Arial Black,Arial Black,Gadget,sans-serif", + "fontSize": "24", + "color": "#717171", + "wrapText": false, + "className": "", + "value": "payload", + "valueType": "msg", + "x": 1180, + "y": 640, + "wires": [] + }, + { + "id": "ee6e26a7218d1b9a", + "type": "ui-text", + "z": "a78d7fab32058fcd", + "group": "b2d662ad608dad5f", + "order": 1, + "width": "12", + "height": "1", + "name": "Date", + "label": "", + "format": "{{msg.payload}}", + "layout": "col-center", + "style": true, + "font": "Arial Black,Arial Black,Gadget,sans-serif", + "fontSize": "24", + "color": "#717171", + "wrapText": false, + "className": "", + "value": "payload", + "valueType": "msg", + "x": 1180, + "y": 700, + "wires": [] } ] \ No newline at end of file diff --git a/flows_cred.json b/flows_cred.json index 3c027b4..01d6373 100644 --- a/flows_cred.json +++ b/flows_cred.json @@ -1,3 +1,3 @@ { - "$": "eb873837a940de24542e84b40cd2616anMhrvj8QTeHoVaALfln2RpXxOk5VrGHdk/bbX5M7zOOho0j7KXQpI0+WTyrCN6NhT9TyidZIpGXXP0+uUStdBosrgo8MeCN5bOMvc4DAGuZ5ovlzTC3sBfRHIdyfHA+0Ty38xl9Urvpyq3jAXunwceGLC5RezldAD46bC3kyzkNo1aPcDmKYyMBylCE44mPZ3gm6Oa0HRKgrieMFG6AHfDLeWUhpl0l4q1RzNLMiO2SCaE7QRE+g/AQg6moN0bohIkzXEE3yTtsgwa7aiMN/yHD9R0vnG7Qq4QuFqCCE52WE+yJPGplev1KJB4462m4FEljenJ13MeyCnHHYugL8UnaUGwV7DqaTci8KrszmtsDSs2P5rI7Or/Bcc3loGzTNXGHBqCaCr+FC9EvEW6rJj52URTcKJu8KR/ujtvgWJbtUBUpOl23I3Hu1ct6KOuv9MYUTAjNvPEEZRwom7PNmRiz6wbfgaKusscsD/yY=" + "$": "f01513a8b83c3a0887028c54b5640db8gGCrychy+oyTLGyVT8jvkUkRmQNNj325UDBCvh6hVnUxkBbHhBqWkdi1MeiI2cICEMp6AGkbByFPFFHgkccqHsLubCkbkgCvrfxGmCGPuruR4oRGadoLRGMnIewhzvudklce6AJrxjGCuVrv5VP9BeviwBbl1FoA6IC9Giv3JBWEc8/WJAlgtaJEf+97xtqONpP8v00osoL1hPUFAyiF286MjbSCRzzSvEhtBN8tGu0pLjnoIWC9vbNhxpnmZU5hyYKcLnPCjjF0CbZlAQPM2WCqraaABtqMg7s/mqIc2Dh1ftxQDqZxdrWgRu4Fd4MsXcs8WFHeQyPpL9cgBDzcbgu9+ealVJ0v8UNSzAUdWJT2en1sERs8UnNo9Ey8fo/KhJcl7MORKygc4mXu/7OQjcO5YUgTE6R/eTE5AvqGDI2vJmfZO0Saa3GqnFliJK6cAt/JrKbX4JqqctnjSpLLE7YgOBuwq0O5KazAbO1KEaZNQ5LPzoFO4h0IOqhCG7cPLeNxiakuvhAM/MKUIDJ+D11V81Iqv0JRfZMdPpC8bgLKrAmmbAkk4g8SWDplc8UukADntWWHnOpaGgOg6xiEmpYgGEsHLNQ+axEp0ZfjjA+QWtdK4Z7xJbRjdSnROYYSbSPO9EXCIMSjg8AMXsiiD9I+R3sryp3CpMTxkGFWgrqQEMNb2AA3R1FCAy3fzTg=" } \ No newline at end of file