Bodenfeuchte nei dazu

This commit is contained in:
rxf
2026-05-23 10:19:03 +02:00
parent fe0a571730
commit efe8dcf126
2 changed files with 814 additions and 7 deletions
+813 -6
View File
@@ -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": []
}
]
+1 -1
View File
@@ -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="
}