Wetterstation/rtl_433_Bresser/wetter_bresser_node_red_flo...

1650 lines
46 KiB
JSON

[
{
"id": "d3ca8384.37e118",
"type": "mqtt in",
"z": "199a2494.d44483",
"name": "",
"topic": "rtl_433/172/temperature_C",
"qos": "2",
"datatype": "auto",
"broker": "3bfdb428.8d8e3c",
"x": 200,
"y": 420,
"wires": [
[
"80a65e52.86759"
]
]
},
{
"id": "4191850c.80a284",
"type": "mqtt in",
"z": "199a2494.d44483",
"name": "",
"topic": "rtl_433/172/humidity",
"qos": "2",
"datatype": "auto",
"broker": "3bfdb428.8d8e3c",
"x": 170,
"y": 500,
"wires": [
[
"b37a161c.fcd9d"
]
]
},
{
"id": "5fc4ebb6.d73924",
"type": "mqtt in",
"z": "199a2494.d44483",
"name": "",
"topic": "rtl_433/172/wind_dir_deg",
"qos": "2",
"datatype": "auto",
"broker": "3bfdb428.8d8e3c",
"x": 170,
"y": 1180,
"wires": [
[
"877c91d6.50b2f8"
]
]
},
{
"id": "8416fcd5.454c68",
"type": "mqtt in",
"z": "199a2494.d44483",
"name": "",
"topic": "rtl_433/172/wind_avg_m_s",
"qos": "2",
"datatype": "auto",
"broker": "3bfdb428.8d8e3c",
"x": 170,
"y": 1400,
"wires": [
[
"69c1a305.442864"
]
]
},
{
"id": "b239c78f.f0f78",
"type": "mqtt in",
"z": "199a2494.d44483",
"name": "",
"topic": "rtl_433/172/wind_max_m_s",
"qos": "2",
"datatype": "auto",
"broker": "3bfdb428.8d8e3c",
"x": 180,
"y": 1500,
"wires": [
[
"67d40285.0349a4"
]
]
},
{
"id": "aee03a48.f3c4c8",
"type": "function",
"z": "199a2494.d44483",
"name": "Taupunkt berechnen (°C)",
"func": "//Quelle: https://myscope.net/taupunkttemperatur/\n\nvar calcdewpoint = function(celsius, humidity) {\n\n var a, b;\n if (celsius >= 0) {\n a = 7.5;\n b = 237.3;\n } else if (celsius < 0) {\n a = 7.6;\n b = 240.7;\n }\n\n // Sättigungsdampfdruck (hPa)\n var sdd = 6.1078 * Math.pow(10, (a * celsius) / (b + celsius));\n\n // Dampfdruck (hPa)\n var dd = sdd * (humidity / 100);\n\n // v-Parameter\n var v = Math.log10(dd / 6.1078);\n\n // Taupunkttemperatur (°C)\n var td = (b * v) / (a - v);\n \n //Runden 1 Nachkommastelle\n td = Math.round(td * 10) / 10;\n \n return td;\n}\n\nmsg.payload = calcdewpoint(parseFloat(global.get(\"Temperatur_Bresser\")), parseFloat(global.get(\"Luftfeuchte_Bresser\")));\n\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1610,
"y": 700,
"wires": [
[
"c7363d81.8c8b4",
"e52715fe.b9702"
]
]
},
{
"id": "49939cf0.ba107c",
"type": "delay",
"z": "199a2494.d44483",
"name": "",
"pauseType": "delay",
"timeout": "1",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 1240,
"y": 760,
"wires": [
[
"aee03a48.f3c4c8",
"97086b92.1b9c08",
"4f2c0771.d273d8",
"2f685a95.9a24e6",
"38c10a6d.ba730e"
]
]
},
{
"id": "97086b92.1b9c08",
"type": "function",
"z": "199a2494.d44483",
"name": "Gefühlte Temperatur berechnen (°C)",
"func": "\n//Quelle: https://myscope.net/windchill-gefuehlte-temperatur-berechnen/\n// https://de.wikipedia.org/wiki/Windchill\nvar calcwindchill = function(celsius, windspeed) {\n var windchill = 13.12 + 0.6215 * celsius - 11.37 * Math.pow(windspeed, 0.16) + 0.3965 * celsius * Math.pow(windspeed, 0.16);\n return windchill;\n}\n\n//Quelle: https://myscope.net/hitzeindex-gefuehle-temperatur/\n// https://de.wikipedia.org/wiki/Hitzeindex\nvar calcheatindex = function(celsius, humidity) {\n return (-8.784695 + 1.61139411 * celsius + 2.338549 * humidity - 0.14611605 * celsius * humidity - 0.012308094 * celsius * celsius - 0.016424828 * humidity * humidity + 0.002211732 * celsius * celsius * humidity + 0.00072546 * celsius * humidity * humidity - 0.000003582 * celsius * celsius * humidity * humidity);\n}\n\nvar Temperatur_2m = parseFloat(global.get(\"Temperatur_Bresser\"));\nvar Luftfeuchte_rel = parseFloat(global.get(\"Luftfeuchte_Bresser\"));\nvar windkmh = parseFloat(global.get(\"Wind_kmh_10min_Bresser\"));\n\nif (Temperatur_2m <= 10 && windkmh >= 4.8) \n{\n msg.payload = calcwindchill(Temperatur_2m, windkmh);\n msg.topic = \"123\";\n}\nelse if (Temperatur_2m >= 26.7 && Luftfeuchte_rel >= 40) \n{\n msg.payload = calcheatindex(Temperatur_2m, Luftfeuchte_rel);\n msg.topic = \"246\";\n}\nelse //Keine der beiden Formeln ist definiert\n{\n //msg.payload = -1;\n msg.payload = Temperatur_2m;\n}\n \n//Runden 1 Nachkommastelle\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1650,
"y": 760,
"wires": [
[
"9a55cc4c.f15f48"
]
]
},
{
"id": "39227a60.41774e",
"type": "function",
"z": "199a2494.d44483",
"name": "in km/h",
"func": "//Runden 1 Nachkommastelle und *3.6\n\nmsg.payload = Math.round(msg.payload * 3.6 * 10) / 10;\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 600,
"y": 1400,
"wires": [
[
"341cfe64.27c68a",
"963932e3.0adc28"
]
]
},
{
"id": "4f2c0771.d273d8",
"type": "function",
"z": "199a2494.d44483",
"name": "Absolute Luftfeuchtigkeit berechnen (g/m^3)",
"func": "\n// Relative to absolute humidity\n// Based on https://carnotcycle.wordpress.com/2012/08/04/how-to-convert-relative-humidity-to-absolute-humidity/\nvar absoluteHumidity = function(temperature, humidity) {\n return (13.2471*Math.pow(2.7182818,17.67*temperature/(temperature+243.5))*humidity/(273.15+temperature));\n}\n\nvar Temperatur_2m = parseFloat(global.get(\"Temperatur_Bresser\"));\nvar Luftfeuchte_rel = parseFloat(global.get(\"Luftfeuchte_Bresser\"));\n\nmsg.payload = absoluteHumidity(Temperatur_2m, Luftfeuchte_rel);\n\n//Runden 1 Nachkommastelle\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1670,
"y": 820,
"wires": [
[
"ebcfdb2b.8317e"
]
]
},
{
"id": "add19758.e17278",
"type": "function",
"z": "199a2494.d44483",
"name": "Wind (km/h) in Wort und bft umwandeln",
"func": "var windmax = parseFloat(msg.payload) / 3.6;\n\nvar windstarkewort = {};\nwindstarkewort.topic = \"Windstärke_Wort\";\n\nvar windstarkebft = {};\nwindstarkebft.topic = \"Windstärke_bft\";\n\nif (windmax < 0.3) {\n windstarkebft.payload = 0;\n windstarkewort.payload = \"Windstille\";\n }\n else if (windmax >= 0.3 && windmax < 1.6) {\n windstarkebft.payload = 1;\n windstarkewort.payload = \"leiser Zug\";\n }\n else if (windmax >= 1.6 && windmax < 3.4 ) {\n windstarkebft.payload = 2;\n windstarkewort.payload = \"leichte Brise\";\n }\n else if (windmax >= 3.4 && windmax < 5.5) {\n windstarkebft.payload = 3;\n windstarkewort.payload = \"schwache Brise\";\n }\n else if (windmax >= 5.5 && windmax < 8.0 ) {\n windstarkebft.payload = 4;\n windstarkewort.payload = \"mäßige Brise\";\n }\n else if (windmax >= 8.0 && windmax < 10.8 ) {\n windstarkebft.payload = 5;\n windstarkewort.payload = \"frische Brise\";\n }\n else if (windmax >= 10.8 && windmax < 13.9 ) {\n windstarkebft.payload = 6;\n windstarkewort.payload = \"starker Wind\";\n }\n else if (windmax >= 13.9 && windmax < 17.2 ) {\n windstarkebft.payload = 7;\n windstarkewort.payload = \"steifer Wind\";\n }\n else if (windmax >= 17.2 && windmax < 20.8 ) {\n windstarkebft.payload = 8;\n windstarkewort.payload = \"stürmischer Wind\";\n }\n else if (windmax >= 20.8 && windmax < 24.5 ) {\n windstarkebft.payload = 9;\n windstarkewort.payload = \"Sturm\";\n }\n else if (windmax >= 24.5 && windmax < 28.5 ) {\n windstarkebft.payload = 10;\n windstarkewort.payload = \"schwerer Sturm\";\n }\n else if (windmax >= 28.5 && windmax < 32.7 ) {\n windstarkebft.payload = 11;\n windstarkewort.payload = \"orkanartiger Sturm\";\n }\n else if (windmax >= 32.7) {\n windstarkebft.payload = 12;\n windstarkewort.payload = \"Sturm\";\n }\n\n\nreturn [windstarkewort, windstarkebft];",
"outputs": 2,
"noerr": 0,
"x": 1240,
"y": 1580,
"wires": [
[
"fafdb2ed.83711"
],
[
"3e740b7d.c55024"
]
],
"outputLabels": [
"Wort",
"bft"
]
},
{
"id": "9d684adf.b3eb9",
"type": "function",
"z": "199a2494.d44483",
"name": "Windrichtung (°) in Wort umwandeln",
"func": "var windrichtung = parseInt(msg.payload);\n\nvar windrichtungwort = {};\nwindrichtungwort.topic = \"Windrichtung_Wort\";\n\n\nif (windrichtung >= 348 && windrichtung < 12) {\n windrichtungwort.payload = \"N\";\n }\n else if (windrichtung >= 12 && windrichtung < 35) {\n windrichtungwort.payload = \"NNO\";\n }\n else if (windrichtung >= 35 && windrichtung < 57) {\n windrichtungwort.payload = \"NO\";\n }\n else if (windrichtung >= 57 && windrichtung < 80) {\n windrichtungwort.payload = \"NOO\";\n }\n else if (windrichtung >= 80 && windrichtung < 102) {\n windrichtungwort.payload = \"O\";\n }\n else if (windrichtung >= 102 && windrichtung < 125) {\n windrichtungwort.payload = \"SOO\";\n }\n else if (windrichtung >= 125 && windrichtung < 147) {\n windrichtungwort.payload = \"SO\";\n }\n else if (windrichtung >= 147 && windrichtung < 170) {\n windrichtungwort.payload = \"SSO\";\n }\n else if (windrichtung >= 170 && windrichtung < 192) {\n windrichtungwort.payload = \"S\";\n }\n else if (windrichtung >= 192 && windrichtung < 215) {\n windrichtungwort.payload = \"SSW\";\n }\n else if (windrichtung >= 215 && windrichtung < 237) {\n windrichtungwort.payload = \"SW\";\n }\n else if (windrichtung >= 237 && windrichtung < 260) {\n windrichtungwort.payload = \"SWW\";\n }\n else if (windrichtung >= 260 && windrichtung < 282) {\n windrichtungwort.payload = \"W\";\n }\n else if (windrichtung >= 282 && windrichtung < 305) {\n windrichtungwort.payload = \"NWW\";\n }\n else if (windrichtung >= 305 && windrichtung < 327) {\n windrichtungwort.payload = \"NW\";\n }\n else if (windrichtung >= 327 && windrichtung < 348) {\n windrichtungwort.payload = \"NNW\";\n }\n else {\n windrichtungwort.payload = \"???\";\n }\n\nreturn windrichtungwort;",
"outputs": 1,
"noerr": 0,
"x": 690,
"y": 1280,
"wires": [
[
"3c90d4d6.84584c",
"7b8b407f.02c5a8"
]
],
"outputLabels": [
"Wort"
]
},
{
"id": "80a65e52.86759",
"type": "change",
"z": "199a2494.d44483",
"name": "Str to Num + Topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(payload)",
"tot": "jsonata"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "temp_Bresser",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 490,
"y": 420,
"wires": [
[
"341cfe64.27c68a"
]
]
},
{
"id": "b37a161c.fcd9d",
"type": "change",
"z": "199a2494.d44483",
"name": "Str to Num + Topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(payload)",
"tot": "jsonata"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "humidity_Bresser",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 490,
"y": 500,
"wires": [
[
"341cfe64.27c68a"
]
]
},
{
"id": "69c1a305.442864",
"type": "change",
"z": "199a2494.d44483",
"name": "Str to Num + Topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(payload)",
"tot": "jsonata"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "wind_avg_Bresser",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 410,
"y": 1400,
"wires": [
[
"39227a60.41774e"
]
]
},
{
"id": "67d40285.0349a4",
"type": "change",
"z": "199a2494.d44483",
"name": "Str to Num + Topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(payload)",
"tot": "jsonata"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "wind_max_Bresser",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 410,
"y": 1500,
"wires": [
[
"3512b6e8.1bedba"
]
]
},
{
"id": "877c91d6.50b2f8",
"type": "change",
"z": "199a2494.d44483",
"name": "Str to Num + Topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(payload)",
"tot": "jsonata"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "wind_dir_Bresser",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 410,
"y": 1180,
"wires": [
[
"9d684adf.b3eb9",
"46c57b66.607724",
"341cfe64.27c68a",
"a10f98b.29a2768",
"22ee949c.098b5c"
]
]
},
{
"id": "da27693.de58618",
"type": "mqtt in",
"z": "199a2494.d44483",
"name": "",
"topic": "rtl_433/#",
"qos": "2",
"datatype": "auto",
"broker": "3bfdb428.8d8e3c",
"x": 140,
"y": 360,
"wires": [
[
"e35797c8.af7488"
]
]
},
{
"id": "e35797c8.af7488",
"type": "debug",
"z": "199a2494.d44483",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 470,
"y": 360,
"wires": []
},
{
"id": "4209f5b.074ca0c",
"type": "mqtt in",
"z": "199a2494.d44483",
"name": "",
"topic": "rtl_433/172/rain_mm",
"qos": "2",
"datatype": "auto",
"broker": "3bfdb428.8d8e3c",
"x": 150,
"y": 1780,
"wires": [
[
"1e42eb82.cff744"
]
]
},
{
"id": "1e42eb82.cff744",
"type": "change",
"z": "199a2494.d44483",
"name": "Str to Num + Topic",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$number(payload)",
"tot": "jsonata"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "rain_mm_Bresser",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 410,
"y": 1780,
"wires": [
[
"7f870b19.89622c"
]
]
},
{
"id": "341cfe64.27c68a",
"type": "calculate",
"z": "199a2494.d44483",
"name": "10 Minuten Durchschnitt",
"pauseType": "timed",
"calculation": "average",
"timeout": "10",
"timeoutUnits": "minutes",
"rate": "10",
"x": 810,
"y": 460,
"wires": [
[
"3f1feb1f.260b64"
]
]
},
{
"id": "3f1feb1f.260b64",
"type": "function",
"z": "199a2494.d44483",
"name": "runden",
"func": "//Runden 1 Nachkommastelle\nmsg.payload = Math.round(msg.payload * 10) / 10;\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1020,
"y": 460,
"wires": [
[
"960e35aa.265a98"
]
]
},
{
"id": "ee710eac.efa0d",
"type": "function",
"z": "199a2494.d44483",
"name": "Temperatur_Bresser Variable schreiben",
"func": "global.set(\"Temperatur_Bresser\", msg.payload);\n",
"outputs": 1,
"noerr": 0,
"x": 1660,
"y": 400,
"wires": [
[]
]
},
{
"id": "960e35aa.265a98",
"type": "switch",
"z": "199a2494.d44483",
"name": "topics trennen",
"property": "topic",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "temp_Bresser",
"vt": "str"
},
{
"t": "eq",
"v": "humidity_Bresser",
"vt": "str"
},
{
"t": "eq",
"v": "wind_dir_Bresser",
"vt": "str"
},
{
"t": "eq",
"v": "wind_avg_Bresser",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 4,
"x": 1220,
"y": 460,
"wires": [
[
"ee710eac.efa0d",
"4f5132b0.5b63ac",
"49ed1cfc.c5bbe4",
"49939cf0.ba107c"
],
[
"5d216762.ec5fb8",
"12046eec.09e511",
"2a5b6588.fca1da",
"3dc3fd5f.6d6a82"
],
[
"88b65228.1a1ed8",
"4a76a8aa.2a864"
],
[
"7cb4e1ab.fecf68",
"331f012a.0b21d6",
"b91b4ae0.6e4aa8"
]
]
},
{
"id": "5d216762.ec5fb8",
"type": "function",
"z": "199a2494.d44483",
"name": "Luftfeuchte_Bresser Variable schreiben",
"func": "global.set(\"Luftfeuchte_Bresser\", msg.payload);\n",
"outputs": 1,
"noerr": 0,
"x": 1660,
"y": 580,
"wires": [
[]
]
},
{
"id": "4f5132b0.5b63ac",
"type": "ui_chart",
"z": "199a2494.d44483",
"name": "",
"group": "6d9811b9.aafee",
"order": 2,
"width": "6",
"height": "5",
"label": "Letzte 24 Stunden",
"chartType": "line",
"legend": "true",
"xformat": "HH:mm",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "24",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#00ffff",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"useOldStyle": false,
"outputs": 1,
"x": 1590,
"y": 360,
"wires": [
[]
]
},
{
"id": "9a55cc4c.f15f48",
"type": "ui_gauge",
"z": "199a2494.d44483",
"name": "",
"group": "3d91d558.b0b642",
"order": 2,
"width": "3",
"height": "2",
"gtype": "gage",
"title": "Gefühlte Temperatur",
"label": "°C",
"format": "{{value}}",
"min": "-30",
"max": "50",
"colors": [
"#2701fe",
"#00ff00",
"#ff0000"
],
"seg1": "0",
"seg2": "30",
"x": 2000,
"y": 760,
"wires": []
},
{
"id": "c7363d81.8c8b4",
"type": "ui_gauge",
"z": "199a2494.d44483",
"name": "",
"group": "3d91d558.b0b642",
"order": 3,
"width": "3",
"height": "2",
"gtype": "gage",
"title": "Taupunkt",
"label": "°C",
"format": "{{value}}",
"min": "-30",
"max": "50",
"colors": [
"#2701fe",
"#00ff00",
"#ff0000"
],
"seg1": "0",
"seg2": "30",
"x": 1960,
"y": 700,
"wires": []
},
{
"id": "ebcfdb2b.8317e",
"type": "ui_text",
"z": "199a2494.d44483",
"group": "be69e0ff.5c8f3",
"order": 3,
"width": "0",
"height": "0",
"name": "",
"label": "Absolute Luftfeuchte g/m³",
"format": "{{msg.payload}}",
"layout": "row-spread",
"x": 2010,
"y": 820,
"wires": []
},
{
"id": "d259eb08.ebf568",
"type": "ui_text",
"z": "199a2494.d44483",
"group": "4d0d0eb6.cfdf1",
"order": 3,
"width": "0",
"height": "0",
"name": "",
"label": "Bresser Letzte Nachricht",
"format": "{{msg.payload}}",
"layout": "row-spread",
"x": 650,
"y": 1860,
"wires": []
},
{
"id": "12301ad9.a4bc05",
"type": "mqtt in",
"z": "199a2494.d44483",
"name": "",
"topic": "rtl_433/172/time",
"qos": "2",
"datatype": "auto",
"broker": "3bfdb428.8d8e3c",
"x": 140,
"y": 1860,
"wires": [
[
"687e718a.7700b"
]
]
},
{
"id": "12046eec.09e511",
"type": "ui_gauge",
"z": "199a2494.d44483",
"name": "Luftfeuchte",
"group": "be69e0ff.5c8f3",
"order": 1,
"width": "0",
"height": "0",
"gtype": "gage",
"title": "",
"label": "%",
"format": "{{value}}",
"min": "0",
"max": "100",
"colors": [
"#ff8000",
"#ff8000",
"#ff8000"
],
"seg1": "",
"seg2": "",
"x": 1570,
"y": 500,
"wires": []
},
{
"id": "2a5b6588.fca1da",
"type": "ui_chart",
"z": "199a2494.d44483",
"name": "",
"group": "9e770773.d8a92",
"order": 2,
"width": 0,
"height": 0,
"label": "Letzte 24 Stunden",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "0",
"ymax": "100",
"removeOlder": "24",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"colors": [
"#ff8000",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"useOldStyle": false,
"outputs": 1,
"x": 1590,
"y": 540,
"wires": [
[]
]
},
{
"id": "49ed1cfc.c5bbe4",
"type": "influxdb out",
"z": "199a2494.d44483",
"influxdb": "17baa071.c57db8",
"name": "",
"measurement": "Temperatur_Bresser",
"precision": "s",
"retentionPolicy": "",
"x": 1670,
"y": 440,
"wires": []
},
{
"id": "963932e3.0adc28",
"type": "ui_gauge",
"z": "199a2494.d44483",
"name": "",
"group": "30d719a6.8689be",
"order": 1,
"width": "0",
"height": "0",
"gtype": "gage",
"title": "Windgeschwindigkeit",
"label": "km/h",
"format": "{{value}}",
"min": "0",
"max": "100",
"colors": [
"#00ff40",
"#00ff00",
"#ff0000"
],
"seg1": "",
"seg2": "",
"x": 780,
"y": 1400,
"wires": []
},
{
"id": "7cb4e1ab.fecf68",
"type": "function",
"z": "199a2494.d44483",
"name": "Wind_kmh_10min_Bresser Variable schreiben",
"func": "global.set(\"Wind_kmh_10min_Bresser\", msg.payload);\n",
"outputs": 1,
"noerr": 0,
"x": 1680,
"y": 1420,
"wires": [
[]
]
},
{
"id": "331f012a.0b21d6",
"type": "influxdb out",
"z": "199a2494.d44483",
"influxdb": "17baa071.c57db8",
"name": "",
"measurement": "Wind_kmh",
"precision": "s",
"retentionPolicy": "",
"x": 1640,
"y": 1460,
"wires": []
},
{
"id": "b91b4ae0.6e4aa8",
"type": "ui_chart",
"z": "199a2494.d44483",
"name": "",
"group": "4ec81a48.48104c",
"order": 6,
"width": 0,
"height": 0,
"label": "Letzte 24 Stunden km/h",
"chartType": "line",
"legend": "true",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "24",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"colors": [
"#1f77b4",
"#ff0000",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"useOldStyle": false,
"outputs": 1,
"x": 1610,
"y": 1380,
"wires": [
[]
]
},
{
"id": "3512b6e8.1bedba",
"type": "function",
"z": "199a2494.d44483",
"name": "in km/h",
"func": "//Runden 1 Nachkommastelle und *3.6\n\nmsg.payload = Math.round(msg.payload * 3.6 * 10) / 10;\n\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 600,
"y": 1500,
"wires": [
[
"fa956745.9f4dd",
"5ee7357e.918624"
]
]
},
{
"id": "fa956745.9f4dd",
"type": "ui_gauge",
"z": "199a2494.d44483",
"name": "",
"group": "30d719a6.8689be",
"order": 3,
"width": "3",
"height": "2",
"gtype": "gage",
"title": "Windböen",
"label": "km/h",
"format": "{{value}}",
"min": "0",
"max": "100",
"colors": [
"#00ff40",
"#00ff00",
"#ff0000"
],
"seg1": "",
"seg2": "",
"x": 750,
"y": 1560,
"wires": []
},
{
"id": "5ee7357e.918624",
"type": "calculate",
"z": "199a2494.d44483",
"name": "10 Minuten Maximum",
"pauseType": "timed",
"calculation": "max",
"timeout": "10",
"timeoutUnits": "minutes",
"rate": "10",
"x": 780,
"y": 1500,
"wires": [
[
"d5b01530.e810f"
]
]
},
{
"id": "d5b01530.e810f",
"type": "function",
"z": "199a2494.d44483",
"name": "runden",
"func": "//Runden 1 Nachkommastelle\nmsg.payload = Math.round(msg.payload * 10) / 10;\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 980,
"y": 1500,
"wires": [
[
"b91b4ae0.6e4aa8",
"add19758.e17278",
"c8cec4c9.f1016"
]
]
},
{
"id": "c8cec4c9.f1016",
"type": "influxdb out",
"z": "199a2494.d44483",
"influxdb": "17baa071.c57db8",
"name": "",
"measurement": "Wind_kmh_max",
"precision": "s",
"retentionPolicy": "",
"x": 1230,
"y": 1500,
"wires": []
},
{
"id": "3e740b7d.c55024",
"type": "ui_gauge",
"z": "199a2494.d44483",
"name": "Windstärke bft",
"group": "30d719a6.8689be",
"order": 5,
"width": "3",
"height": "2",
"gtype": "gage",
"title": "Windstärke",
"label": "bft",
"format": "{{value}}",
"min": "0",
"max": "12",
"colors": [
"#00ff40",
"#ff8000",
"#ff00ff"
],
"seg1": "4",
"seg2": "10",
"x": 1580,
"y": 1600,
"wires": []
},
{
"id": "fafdb2ed.83711",
"type": "ui_text",
"z": "199a2494.d44483",
"group": "30d719a6.8689be",
"order": 4,
"width": "0",
"height": "0",
"name": "Windstärke Wort",
"label": "Windstärke",
"format": "{{msg.payload}}",
"layout": "row-spread",
"x": 1590,
"y": 1560,
"wires": []
},
{
"id": "46c57b66.607724",
"type": "ui_gauge",
"z": "199a2494.d44483",
"name": "Windrichtung Kompass",
"group": "30d719a6.8689be",
"order": 7,
"width": "6",
"height": "4",
"gtype": "compass",
"title": "Windrichtung <br><b><center> N </center></b>",
"label": "",
"format": "{{value}}°",
"min": "0",
"max": "360",
"colors": [
"#00ff40",
"#00ff00",
"#ff0000"
],
"seg1": "",
"seg2": "",
"x": 810,
"y": 1240,
"wires": []
},
{
"id": "4a76a8aa.2a864",
"type": "ui_chart",
"z": "199a2494.d44483",
"name": "Windrichtung Letzte 24 Stunden",
"group": "4ec81a48.48104c",
"order": 9,
"width": "6",
"height": "5",
"label": "Windrichtung",
"chartType": "line",
"legend": "true",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "0",
"ymax": "360",
"removeOlder": "24",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"colors": [
"#ff8000",
"#0080ff",
"#ff0000",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"useOldStyle": false,
"outputs": 1,
"x": 1630,
"y": 1080,
"wires": [
[]
]
},
{
"id": "3c90d4d6.84584c",
"type": "ui_text",
"z": "199a2494.d44483",
"group": "30d719a6.8689be",
"order": 8,
"width": "0",
"height": "0",
"name": "",
"label": "Himmelsrichtung",
"format": "{{msg.payload}}",
"layout": "row-spread",
"x": 980,
"y": 1280,
"wires": []
},
{
"id": "7b8b407f.02c5a8",
"type": "function",
"z": "199a2494.d44483",
"name": "Windr_wort_Bresser Variable schreiben",
"func": "global.set(\"Windr_wort_Bresser\", msg.payload);\n",
"outputs": 1,
"noerr": 0,
"x": 1060,
"y": 1320,
"wires": [
[]
]
},
{
"id": "22ee949c.098b5c",
"type": "calculate",
"z": "199a2494.d44483",
"name": "10 Minuten Minimum",
"pauseType": "timed",
"calculation": "min",
"timeout": "10",
"timeoutUnits": "minutes",
"rate": "10",
"x": 800,
"y": 1200,
"wires": [
[
"2deb55ab.8be922"
]
]
},
{
"id": "a10f98b.29a2768",
"type": "calculate",
"z": "199a2494.d44483",
"name": "10 Minuten Maximum",
"pauseType": "timed",
"calculation": "max",
"timeout": "10",
"timeoutUnits": "minutes",
"rate": "10",
"x": 800,
"y": 1160,
"wires": [
[
"458aef6c.4e3d6"
]
]
},
{
"id": "458aef6c.4e3d6",
"type": "function",
"z": "199a2494.d44483",
"name": "runden + Topic",
"func": "//Runden 1 Nachkommastelle\nmsg.payload = Math.round(msg.payload * 10) / 10;\nmsg.topic = \"wind_dir_max\";\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1020,
"y": 1160,
"wires": [
[
"1cb0de67.9432d2",
"4a76a8aa.2a864"
]
]
},
{
"id": "2deb55ab.8be922",
"type": "function",
"z": "199a2494.d44483",
"name": "runden + Topic",
"func": "//Runden 1 Nachkommastelle\nmsg.payload = Math.round(msg.payload * 10) / 10;\nmsg.topic = \"wind_dir_min\";\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1020,
"y": 1200,
"wires": [
[
"f18dfaf0.fed0f8",
"4a76a8aa.2a864"
]
]
},
{
"id": "1cb0de67.9432d2",
"type": "influxdb out",
"z": "199a2494.d44483",
"influxdb": "17baa071.c57db8",
"name": "",
"measurement": "Wind_Richtung_Max",
"precision": "s",
"retentionPolicy": "",
"x": 1670,
"y": 1160,
"wires": []
},
{
"id": "f18dfaf0.fed0f8",
"type": "influxdb out",
"z": "199a2494.d44483",
"influxdb": "17baa071.c57db8",
"name": "",
"measurement": "Wind_Richtung_Min",
"precision": "s",
"retentionPolicy": "",
"x": 1670,
"y": 1200,
"wires": []
},
{
"id": "88b65228.1a1ed8",
"type": "influxdb out",
"z": "199a2494.d44483",
"influxdb": "17baa071.c57db8",
"name": "",
"measurement": "Wind_Richtung_Avg",
"precision": "s",
"retentionPolicy": "",
"x": 1670,
"y": 1120,
"wires": []
},
{
"id": "8af69694.23b5c",
"type": "comment",
"z": "199a2494.d44483",
"name": "Art des Messwertes",
"info": "Gesendete Regenmenge ist GESAMTMENGE seit dem letzten Reset der Wetterstation. -> Auswertung der Differenzwerte",
"x": 150,
"y": 1740,
"wires": []
},
{
"id": "7f870b19.89622c",
"type": "delay",
"z": "199a2494.d44483",
"name": "1 Nachricht pro Minute",
"pauseType": "rate",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "minute",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": true,
"x": 640,
"y": 1780,
"wires": [
[
"f8592001.4e8f1"
]
]
},
{
"id": "f8592001.4e8f1",
"type": "function",
"z": "199a2494.d44483",
"name": "Regen_Summe_aktuell Variable schreiben",
"func": "global.set(\"Regen_Summe_aktuell\", msg.payload);\n",
"outputs": 1,
"noerr": 0,
"x": 930,
"y": 1780,
"wires": [
[]
]
},
{
"id": "2f685a95.9a24e6",
"type": "function",
"z": "199a2494.d44483",
"name": "Regenmenge auswerten",
"func": "\nvar regenmenge = parseFloat(global.get(\"Regen_Summe_aktuell\")) - parseFloat(global.get(\"Regen_Summe_letzte\"));\n\nglobal.set(\"Regen_Summe_letzte\", global.get(\"Regen_Summe_aktuell\"));\n\nif(regenmenge < 0 || regenmenge > 50) //Keine Ausgabe bei Offensichtlich falschen Werten\n{\n regenmenge = 0;\n}\nelse\n{\n var output = {};\n output.topic = \"Regen_Bresser\";\n output.payload = parseFloat(regenmenge);\n\n return output;\n}\n\n",
"outputs": 1,
"noerr": 0,
"x": 1610,
"y": 880,
"wires": [
[
"aff85f7d.ce0928"
]
]
},
{
"id": "fa96407b.05dd4",
"type": "ui_gauge",
"z": "199a2494.d44483",
"name": "",
"group": "580799fe.f1c69",
"order": 2,
"width": "6",
"height": "4",
"gtype": "wave",
"title": "mm letzte 10 Minuten",
"label": "",
"format": "{{value}}°",
"min": "0",
"max": "10",
"colors": [
"#00ff40",
"#00ff00",
"#ff0000"
],
"seg1": "",
"seg2": "",
"x": 2000,
"y": 880,
"wires": []
},
{
"id": "480b62d5.dc63dc",
"type": "ui_chart",
"z": "199a2494.d44483",
"name": "",
"group": "39eba35.13c6edc",
"order": 4,
"width": 0,
"height": 0,
"label": "Letzte 24 Stunden",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "24",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"useOldStyle": false,
"outputs": 1,
"x": 1990,
"y": 920,
"wires": [
[]
]
},
{
"id": "3dc3fd5f.6d6a82",
"type": "influxdb out",
"z": "199a2494.d44483",
"influxdb": "17baa071.c57db8",
"name": "",
"measurement": "Luftfeuchte_Bresser",
"precision": "s",
"retentionPolicy": "",
"x": 1670,
"y": 620,
"wires": []
},
{
"id": "b7f019c2.117be8",
"type": "influxdb out",
"z": "199a2494.d44483",
"influxdb": "17baa071.c57db8",
"name": "",
"measurement": "Regen_Bresser",
"precision": "s",
"retentionPolicy": "",
"x": 2050,
"y": 960,
"wires": []
},
{
"id": "687e718a.7700b",
"type": "function",
"z": "199a2494.d44483",
"name": "Uhrzeit extrahieren",
"func": "msg.payload = msg.payload.substr(msg.payload.indexOf(\"T\") + 1);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 410,
"y": 1860,
"wires": [
[
"d259eb08.ebf568"
]
]
},
{
"id": "aff85f7d.ce0928",
"type": "function",
"z": "199a2494.d44483",
"name": "runden",
"func": "//Runden 3 Nachkommastellen\nmsg.payload = Math.round(msg.payload * 1000) / 1000;\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 1800,
"y": 880,
"wires": [
[
"fa96407b.05dd4",
"480b62d5.dc63dc",
"b7f019c2.117be8"
]
]
},
{
"id": "38c10a6d.ba730e",
"type": "function",
"z": "199a2494.d44483",
"name": "Zeitstempel erzeugen",
"func": "//Source: https://stackoverflow.com/questions/5416920/timestamp-to-human-readable-format\n\nvar date = new Date();\n\nvar hour = date.getHours();\nvar min = date.getMinutes();\nvar sec = date.getSeconds();\n\nhour = (hour < 10 ? \"0\" : \"\") + hour;\nmin = (min < 10 ? \"0\" : \"\") + min;\nsec = (sec < 10 ? \"0\" : \"\") + sec;\n\nmsg.payload = hour + \":\" + min + \":\" + sec;\nreturn msg;\n",
"outputs": 1,
"noerr": 0,
"x": 1600,
"y": 1000,
"wires": [
[
"baad3cdb.5b8d58"
]
]
},
{
"id": "baad3cdb.5b8d58",
"type": "ui_text",
"z": "199a2494.d44483",
"group": "4d0d0eb6.cfdf1",
"order": 3,
"width": "0",
"height": "0",
"name": "",
"label": "Bresser Letzte 10min-AVG Werte",
"format": "{{msg.payload}}",
"layout": "row-spread",
"x": 2040,
"y": 1000,
"wires": []
},
{
"id": "e52715fe.b9702",
"type": "function",
"z": "199a2494.d44483",
"name": "Taupunkt Variable schreiben",
"func": "global.set(\"Taupunkt\", msg.payload);\n",
"outputs": 1,
"noerr": 0,
"x": 2020,
"y": 660,
"wires": [
[]
]
},
{
"id": "3bfdb428.8d8e3c",
"type": "mqtt-broker",
"z": "",
"name": "MQTT_PVE2",
"broker": "192.168.1.20",
"port": "1883",
"clientid": "",
"usetls": false,
"compatmode": true,
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"closeTopic": "",
"closeQos": "0",
"closePayload": "",
"willTopic": "",
"willQos": "0",
"willPayload": ""
},
{
"id": "6d9811b9.aafee",
"type": "ui_group",
"z": "",
"name": "Temperatur",
"tab": "615adc4e.b8b374",
"order": 2,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "3d91d558.b0b642",
"type": "ui_group",
"z": "",
"name": "Temperatur",
"tab": "ebc25885.554eb",
"order": 3,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "be69e0ff.5c8f3",
"type": "ui_group",
"z": "",
"name": "Luftfeuchte",
"tab": "ebc25885.554eb",
"order": 6,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "4d0d0eb6.cfdf1",
"type": "ui_group",
"z": "",
"name": "Status",
"tab": "ebc25885.554eb",
"order": 2,
"disp": true,
"width": "6",
"collapse": true
},
{
"id": "9e770773.d8a92",
"type": "ui_group",
"z": "",
"name": "Luftfeuchte",
"tab": "615adc4e.b8b374",
"order": 4,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "17baa071.c57db8",
"type": "influxdb",
"z": "",
"hostname": "127.0.0.1",
"port": "8086",
"protocol": "http",
"database": "Wetter_Bresser",
"name": "Influx Wetter_Bresser",
"usetls": false,
"tls": ""
},
{
"id": "30d719a6.8689be",
"type": "ui_group",
"z": "",
"name": "Wind",
"tab": "ebc25885.554eb",
"order": 4,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "4ec81a48.48104c",
"type": "ui_group",
"z": "",
"name": "Wind",
"tab": "615adc4e.b8b374",
"order": 7,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "580799fe.f1c69",
"type": "ui_group",
"z": "",
"name": "Regen",
"tab": "ebc25885.554eb",
"order": 8,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "39eba35.13c6edc",
"type": "ui_group",
"z": "",
"name": "Regen",
"tab": "615adc4e.b8b374",
"order": 5,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "615adc4e.b8b374",
"type": "ui_tab",
"z": "",
"name": "Wetter außen Historie",
"icon": "dashboard",
"order": 3,
"disabled": false,
"hidden": true
},
{
"id": "ebc25885.554eb",
"type": "ui_tab",
"z": "",
"name": "Wetter Außen",
"icon": "wb_sunny",
"order": 1,
"disabled": false,
"hidden": false
}
]