This commit is contained in:
kkira
2026-05-27 23:57:52 +03:00
parent 527ea7cd24
commit fe5555bc44

512
node-red/flows.json Normal file
View File

@@ -0,0 +1,512 @@
[
{
"id": "b6a554cb58b20b89",
"type": "tab",
"label": "Поток 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "e2dbb550ecc754bb",
"type": "mqtt in",
"z": "b6a554cb58b20b89",
"name": "",
"topic": "Bird",
"qos": "2",
"datatype": "auto-detect",
"broker": "77647757300a0f3b",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 230,
"y": 300,
"wires": [
[
"2362125992f2f15a",
"853c51250983534e"
]
]
},
{
"id": "2362125992f2f15a",
"type": "debug",
"z": "b6a554cb58b20b89",
"name": "debug 1",
"active": true,
"tosidebar": false,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 440,
"y": 240,
"wires": []
},
{
"id": "853c51250983534e",
"type": "ui_template",
"z": "b6a554cb58b20b89",
"group": "de858d4f14ceb677",
"name": "",
"order": 0,
"width": 0,
"height": 0,
"format": "<div id=\"camera-container\">\n <img id=\"camera-stream\" src=\"http://192.168.31.235/stream\"\n onerror=\"this.onerror=null; this.src='data:image/svg+xml,%3Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"100%25\\\" height=\\\"400\\\"%3E%3Crect width=\\\"100%25\\\" height=\\\"100%25\\\" fill=\\\"%23333\\\"%3E%3C/rect%3E%3Ctext x=\\\"50%25\\\" y=\\\"50%25\\\" text-anchor=\\\"middle\\\" fill=\\\"%23fff\\\"%3ECamera offline - check connection%3C/text%3E%3C/svg%3E';\"\n style=\"width:100%; max-width:320px; height:240px;\">\n</div>\n\n<script>\n setInterval(function() {\n var img = document.getElementById('camera-stream');\n if (img) {\n var timestamp = new Date().getTime();\n img.src = 'http://192.168.31.235/stream?' + timestamp;\n }\n}, 5000);\n</script>",
"storeOutMessages": true,
"fwdInMessages": true,
"resendOnRefresh": true,
"templateScope": "local",
"className": "",
"x": 440,
"y": 300,
"wires": [
[]
]
},
{
"id": "f43e5b2d6e86f54d",
"type": "mqtt in",
"z": "b6a554cb58b20b89",
"name": "light",
"topic": "esp32/sensors/light",
"qos": "2",
"datatype": "auto-detect",
"broker": "77647757300a0f3b",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 230,
"y": 400,
"wires": [
[
"5f6b7a790ede5d26",
"744d0ca72a8e8df6"
]
]
},
{
"id": "347db67a62c25780",
"type": "mqtt in",
"z": "b6a554cb58b20b89",
"name": "temp",
"topic": "esp32/sensors/temp",
"qos": "2",
"datatype": "auto-detect",
"broker": "77647757300a0f3b",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 230,
"y": 520,
"wires": [
[
"1abf7819982867cb",
"bade5e5c2073894d"
]
]
},
{
"id": "edacc7ae819555c1",
"type": "mqtt in",
"z": "b6a554cb58b20b89",
"name": "humidity",
"topic": "esp32/sensors/humidity",
"qos": "2",
"datatype": "auto-detect",
"broker": "77647757300a0f3b",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 240,
"y": 660,
"wires": [
[
"56ccdbc50d6e0d65",
"dc38d7ae67c9b0fa"
]
]
},
{
"id": "5f6b7a790ede5d26",
"type": "debug",
"z": "b6a554cb58b20b89",
"name": "debug 2",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 440,
"y": 400,
"wires": []
},
{
"id": "1abf7819982867cb",
"type": "debug",
"z": "b6a554cb58b20b89",
"name": "debug 3",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 440,
"y": 520,
"wires": []
},
{
"id": "56ccdbc50d6e0d65",
"type": "debug",
"z": "b6a554cb58b20b89",
"name": "debug 4",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 440,
"y": 660,
"wires": []
},
{
"id": "744d0ca72a8e8df6",
"type": "ui_text",
"z": "b6a554cb58b20b89",
"group": "de858d4f14ceb677",
"order": 1,
"width": 0,
"height": 0,
"name": "",
"label": "Освещённость",
"format": "{{msg.payload}}",
"layout": "row-left",
"className": "",
"style": false,
"font": "",
"fontSize": 16,
"color": "#000000",
"x": 460,
"y": 360,
"wires": []
},
{
"id": "bade5e5c2073894d",
"type": "ui_text",
"z": "b6a554cb58b20b89",
"group": "de858d4f14ceb677",
"order": 2,
"width": 0,
"height": 0,
"name": "",
"label": "Температура",
"format": "{{msg.payload}}",
"layout": "row-left",
"className": "",
"style": false,
"font": "",
"fontSize": 16,
"color": "#000000",
"x": 460,
"y": 480,
"wires": []
},
{
"id": "dc38d7ae67c9b0fa",
"type": "ui_text",
"z": "b6a554cb58b20b89",
"group": "de858d4f14ceb677",
"order": 3,
"width": 0,
"height": 0,
"name": "",
"label": "Влажность",
"format": "{{msg.payload}}",
"layout": "row-left",
"className": "",
"style": false,
"font": "",
"fontSize": 16,
"color": "#000000",
"x": 450,
"y": 620,
"wires": []
},
{
"id": "0eacb49f1c0dd21a",
"type": "mqtt out",
"z": "b6a554cb58b20b89",
"name": "",
"topic": "esp32/led",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "77647757300a0f3b",
"x": 620,
"y": 780,
"wires": []
},
{
"id": "dff600700ba8712a",
"type": "ui_colour_picker",
"z": "b6a554cb58b20b89",
"name": "color_led",
"label": "Настроить освещение",
"group": "de858d4f14ceb677",
"format": "hex",
"outformat": "string",
"showSwatch": true,
"showPicker": false,
"showValue": false,
"showHue": false,
"showAlpha": false,
"showLightness": true,
"square": "false",
"dynOutput": "false",
"order": 5,
"width": 0,
"height": 0,
"passthru": true,
"topic": "topic",
"topicType": "msg",
"className": "",
"x": 200,
"y": 840,
"wires": [
[
"2095de04955e307f"
]
]
},
{
"id": "2095de04955e307f",
"type": "function",
"z": "b6a554cb58b20b89",
"name": "function 1",
"func": "let hex = msg.payload;\n\nhex = hex.replace(\"#\", \"\");\n\nlet r = parseInt(hex.substring(0, 2), 16);\nlet g = parseInt(hex.substring(2, 4), 16);\nlet b = parseInt(hex.substring(4, 6), 16);\n\nmsg.payload = `${r},${g},${b}`;\n\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 400,
"y": 840,
"wires": [
[
"0eacb49f1c0dd21a"
]
]
},
{
"id": "38796c6012673ea3",
"type": "ui_switch",
"z": "b6a554cb58b20b89",
"name": "led",
"label": "Выкл./Вкл. освещение",
"tooltip": "",
"group": "de858d4f14ceb677",
"order": 5,
"width": 0,
"height": 0,
"passthru": true,
"decouple": "false",
"topic": "esp32/led",
"topicType": "msg",
"style": "",
"onvalue": "255,255,255",
"onvalueType": "str",
"onicon": "",
"oncolor": "",
"offvalue": "OFF",
"offvalueType": "str",
"officon": "",
"offcolor": "",
"animate": false,
"className": "",
"x": 390,
"y": 780,
"wires": [
[
"0eacb49f1c0dd21a"
]
]
},
{
"id": "56c329c92a8daa3a",
"type": "ui_button",
"z": "b6a554cb58b20b89",
"name": "day",
"group": "de858d4f14ceb677",
"order": 6,
"width": 0,
"height": 0,
"passthru": false,
"label": "День",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "DAY",
"payloadType": "str",
"topic": "esp32/servo",
"topicType": "msg",
"x": 390,
"y": 920,
"wires": [
[
"cb039d5711277422"
]
]
},
{
"id": "136ce072862c41f7",
"type": "ui_button",
"z": "b6a554cb58b20b89",
"name": "night",
"group": "de858d4f14ceb677",
"order": 8,
"width": 0,
"height": 0,
"passthru": false,
"label": "Ночь",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "NIGHT",
"payloadType": "str",
"topic": "esp32/servo",
"topicType": "msg",
"x": 390,
"y": 1000,
"wires": [
[
"cb039d5711277422"
]
]
},
{
"id": "39d131b72bf61cc5",
"type": "ui_button",
"z": "b6a554cb58b20b89",
"name": "mid",
"group": "de858d4f14ceb677",
"order": 7,
"width": 0,
"height": 0,
"passthru": false,
"label": "Полдень",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "MID",
"payloadType": "str",
"topic": "esp32/servo",
"topicType": "msg",
"x": 390,
"y": 960,
"wires": [
[
"cb039d5711277422"
]
]
},
{
"id": "cb039d5711277422",
"type": "mqtt out",
"z": "b6a554cb58b20b89",
"name": "",
"topic": "esp32/servo",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "77647757300a0f3b",
"x": 610,
"y": 980,
"wires": []
},
{
"id": "77647757300a0f3b",
"type": "mqtt-broker",
"name": "Mosquitto",
"broker": "192.168.31.78",
"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": "de858d4f14ceb677",
"type": "ui_group",
"name": "Default",
"tab": "8e35d7697e7af77c",
"order": 1,
"disp": true,
"width": "24",
"collapse": false,
"className": ""
},
{
"id": "8e35d7697e7af77c",
"type": "ui_tab",
"name": "Home",
"icon": "dashboard",
"disabled": false,
"hidden": false
},
{
"id": "cfd15ff24e6ffc58",
"type": "global-config",
"env": [],
"modules": {
"node-red-dashboard": "3.6.6"
}
}
]