Open garosp opened 2 weeks ago
If you can reproduce the issue in a flow you can share; that'd be ideal. Note the options to include specific flows (comma separated, by name) or the default * to include all tabs.
I hope I use your flow the right way. I choose a tab of my flow copy flow2src, deploy and "Flow-to-Src" but there are no source-files in src. When I do this in another tab, this one contains some subflows, two of them are stored in src. As I mentioned, but only two of many. Node-red is running as docker service with nfs mounted storage. The src-directory is created in project folder. Can it be a serialization problem - nfs storage vs. local storage. I start the browser in developer-mode, I can see no errors. Enclosed my sample.
[image.png]
[
{
"id": "a2d739a76027584d",
"type": "tab",
"label": "Weather",
"disabled": false,
"info": "",
"env": []
},
{
"id": "b1fafb2a5f6a3eac",
"type": "junction",
"z": "a2d739a76027584d",
"x": 620,
"y": 160,
"wires": [
[
"81975d40eb6b2568"
]
]
},
{
"id": "f74e6e92619c4784",
"type": "junction",
"z": "a2d739a76027584d",
"x": 1060,
"y": 160,
"wires": [
[
"435503a904936e5c"
]
]
},
{
"id": "cd645d8ad0816f6b",
"type": "function",
"z": "a2d739a76027584d",
"name": "Url",
"func": "var lat = \"50.887672\"\nvar lon = \"7.2525857\"\nconst days = 7\nmsg.url = https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&hourly=temperature_2m,relativehumidity_2m,surface_pressure&temperature_unit=celsius&windspeed_unit=mph&precipitation_unit=inch&timezone=Europe%2FBerlin&past_days=${days}&forecast_days=1
;\n\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 690,
"y": 100,
"wires": [
[
"6d7abaf088410600"
]
]
},
{
"id": "6d7abaf088410600",
"type": "http request",
"z": "a2d739a76027584d",
"name": "",
"method": "GET",
"ret": "obj",
"paytoqs": "ignore",
"url": "",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [],
"x": 830,
"y": 100,
"wires": [
[
"e3c72a9e84392ebd"
]
]
},
{
"id": "e3c72a9e84392ebd",
"type": "function",
"z": "a2d739a76027584d",
"name": "Result",
"func": "var time = msg.payload.hourly.time;\n\nvar temp = msg.payload.hourly.temperature_2m;\nvar humidity = msg.payload.hourly.relativehumidity_2m;\nvar pressure = msg.payload.hourly.surface_pressure;\n\nvar data = [];\n\nfor (var i = 0; i < time.length; i++) {\n data.push({\n time: time[i],\n temp: temp[i],\n humidity: humidity[i],\n pressure: pressure[i],\n });\n}\n\nmsg = { \"payload\": data };\n\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 970,
"y": 100,
"wires": [
[
"435503a904936e5c"
]
]
},
{
"id": "81975d40eb6b2568",
"type": "change",
"z": "a2d739a76027584d",
"name": "",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "[]",
"tot": "json"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 810,
"y": 160,
"wires": [
[
"f74e6e92619c4784"
]
]
},
{
"id": "435503a904936e5c",
"type": "ui-chart",
"z": "a2d739a76027584d",
"group": "e71a3317c8aaa474",
"name": "",
"label": "Historic Temperature",
"order": 1,
"chartType": "line",
"category": "Temperature",
"categoryType": "str",
"xAxisLabel": "",
"xAxisProperty": "time",
"xAxisPropertyType": "property",
"xAxisType": "time",
"xAxisFormat": "",
"xAxisFormatType": "auto",
"xmin": "",
"xmax": "",
"yAxisLabel": "",
"yAxisProperty": "temp",
"yAxisPropertyType": "property",
"ymin": "",
"ymax": "",
"bins": "",
"action": "replace",
"stackSeries": false,
"pointShape": "line",
"pointRadius": "",
"showLegend": true,
"removeOlder": 1,
"removeOlderUnit": "3600",
"removeOlderPoints": "",
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"textColor": [
"#666666"
],
"textColorDefault": true,
"gridColor": [
"#e5e5e5"
],
"gridColorDefault": true,
"width": "6",
"height": "6",
"className": "",
"x": 1200,
"y": 100,
"wires": [
[]
]
},
{
"id": "aef50145bdaa960a",
"type": "link in",
"z": "a2d739a76027584d",
"name": "Page event In",
"links": [
"5159917b5a424f5a"
],
"x": 95,
"y": 100,
"wires": [
[
"23dd059ff8c482d1"
]
]
},
{
"id": "23dd059ff8c482d1",
"type": "switch",
"z": "a2d739a76027584d",
"name": "Pageview ?",
"property": "topic",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "$pageview",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 270,
"y": 100,
"wires": [
[
"8ed60103781325fe"
]
]
},
{
"id": "8ed60103781325fe",
"type": "switch",
"z": "a2d739a76027584d",
"name": "Weather ?",
"property": "payload.page.name",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "Weather",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 490,
"y": 100,
"wires": [
[
"cd645d8ad0816f6b",
"b1fafb2a5f6a3eac"
]
]
},
{
"id": "5c00097d322e6519",
"type": "ui-event",
"z": "a2d739a76027584d",
"ui": "f68a4799e6be2b60",
"name": "",
"x": 250,
"y": 320,
"wires": [
[
"f15db3364ded2375"
]
]
},
{
"id": "f15db3364ded2375",
"type": "debug",
"z": "a2d739a76027584d",
"name": "debug 83",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 420,
"y": 320,
"wires": []
},
{
"id": "c00a35e630360853",
"type": "inject",
"z": "a2d739a76027584d",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 240,
"y": 40,
"wires": [
[
"cd645d8ad0816f6b"
]
]
},
{
"id": "e494f71c9ba23da5",
"type": "flow2src",
"z": "a2d739a76027584d",
"name": "",
"incFlows": "",
"incSubflows": "",
"srcFolder": "src",
"chkAutoFlow2Src": false,
"x": 980,
"y": 240,
"wires": []
},
{
"id": "e71a3317c8aaa474",
"type": "ui-group",
"name": "Sensors",
"page": "e4db8a5958754a61",
"width": "6",
"height": "1",
"order": 1,
"className": "",
"visible": true,
"disabled": false
},
{
"id": "f68a4799e6be2b60",
"type": "ui-base",
"name": "Dashboard",
"path": "/dashboard",
"appIcon": "",
"includeClientData": true,
"acceptsClientConfig": [
"ui-control",
"ui-notification"
],
"showPathInSidebar": false,
"showPageTitle": true,
"navigationStyle": "icon",
"titleBarStyle": "default"
},
{
"id": "e4db8a5958754a61",
"type": "ui-page",
"name": "Weather",
"ui": "f68a4799e6be2b60",
"path": "/weather",
"icon": "weather-partly-snowy-rainy",
"layout": "grid",
"theme": "074b315414230834",
"order": 4,
"className": "",
"visible": true,
"disabled": "false"
},
{
"id": "074b315414230834",
"type": "ui-theme",
"name": "White",
"colors": {
"surface": "#ffffff",
"primary": "#0094ce",
"bgPage": "#eeeeee",
"groupBg": "#ffffff",
"groupOutline": "#cccccc"
},
"sizes": {
"pagePadding": "12px",
"groupGap": "12px",
"groupBorderRadius": "4px",
"widgetGap": "12px"
}
}]
Sicher versendet mit Proton Mail.
Stephen J. Carnam @.***> schrieb am Mittwoch, 16. Oktober 2024 um 20:57:
If you can reproduce the issue in a flow you can share; that'd be ideal. Note the options to include specific flows (comma separated, by name) or the default * to include all tabs.
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
Based on the flow you gave me, I only see two function nodes on a flow tab called "Weather"; after deploying and pressing Flow-to-Src, I get a src folder with Weather subfolder, and the two function nodes. My project name is "Scratch". Please see the screenshot below. I am using Flow2Src version 1.2.1.
That is what I would expect ;-) I send you a smaller flow as a sample. I can send you the one with the subflows that are exported.
[image.png]
[ { "id": "8bfb514b42039228", "type": "subflow", "name": "MQ Prepare Message", "info": "", "category": "", "in": [ { "x": 100, "y": 100, "wires": [ { "id": "736a5a0651b14f18" } ] } ], "out": [ { "x": 500, "y": 100, "wires": [ { "id": "736a5a0651b14f18", "port": 0 } ] } ], "env": [], "meta": {}, "color": "#DDAA99" }, { "id": "736a5a0651b14f18", "type": "function", "z": "8bfb514b42039228", "name": "Prepare MQ-Message", "func": "var actor = msg.topic.split(\"/\")[4];\nvar family = msg.topic.split(\"/\")[3];\n\nmsg.sensor = msg.topic;\nmsg.actor = \"/actor/\" + actor;\nmsg.value = msg.payload.value;\nmsg.type = msg.topic.split(\"/\")[5];\nmsg.content = { \"sensor\": actor, \"value\": msg.value, \"submitter\": \"nodeRED\" }\nmsg.payload = msg.value;\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 300, "y": 100, "wires": [ [] ] }, { "id": "acae54dd600a7b11", "type": "subflow", "name": "MQ Script-Eingang", "info": "", "category": "", "in": [], "out": [ { "x": 700, "y": 60, "wires": [ { "id": "9c86ca46dccbb0fa", "port": 0 } ] }, { "x": 700, "y": 120, "wires": [ { "id": "44f218de2b94592d", "port": 0 } ] } ], "env": [], "meta": {}, "color": "#DDAA99" }, { "id": "aa1c3e851b871451", "type": "mqtt in", "z": "acae54dd600a7b11", "name": "Script", "topic": "/sensor/script/SCRIPT/#", "qos": "2", "datatype": "auto-detect", "broker": "934b8dd7c4c27ee7", "nl": false, "rap": false, "inputs": 0, "x": 130, "y": 100, "wires": [ [ "5c5ea1a492c8c608" ] ] }, { "id": "5c5ea1a492c8c608", "type": "switch", "z": "acae54dd600a7b11", "name": "Skript ?", "property": "$split(topic, \"/\")[4]", "propertyType": "jsonata", "rules": [ { "t": "eq", "v": "DELETE_SENSOR", "vt": "str" }, { "t": "eq", "v": "INSERT_SENSOR", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 320, "y": 100, "wires": [ [ "9c86ca46dccbb0fa" ], [ "44f218de2b94592d" ] ] }, { "id": "9c86ca46dccbb0fa", "type": "function", "z": "acae54dd600a7b11", "name": "delete Global", "func": "global.set(\"domotics['\" + msg.payload.sensor.toLowerCase() + \"']\", undefined);\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 530, "y": 60, "wires": [ [] ] }, { "id": "44f218de2b94592d", "type": "function", "z": "acae54dd600a7b11", "name": "insert Global", "func": "global.set(\"domotics['\" + msg.payload.sensor.toLowerCase() + \"']\", msg.payload.data);\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 530, "y": 120, "wires": [ [] ] }, { "id": "934b8dd7c4c27ee7", "type": "mqtt-broker", "z": "acae54dd600a7b11", "name": "broker", "broker": "tasks.mosquitto", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "d8f4d61e31c1af63", "type": "subflow", "name": "MQ Actor-Ausgang", "info": "", "category": "", "in": [ { "x": 100, "y": 100, "wires": [ { "id": "b56764c0eef27d2f" } ] } ], "out": [], "env": [], "meta": {}, "color": "#DDAA99" }, { "id": "b56764c0eef27d2f", "type": "mqtt out", "z": "d8f4d61e31c1af63", "name": "MQTT Publish", "topic": "", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "1e046eac681a0591", "x": 260, "y": 100, "wires": [] }, { "id": "1e046eac681a0591", "type": "mqtt-broker", "z": "d8f4d61e31c1af63", "name": "broker", "broker": "tasks.mosquitto", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "a37a25765b5bec67", "type": "subflow", "name": "MQ Sensor-Eingang", "info": "", "category": "", "in": [], "out": [ { "x": 1220, "y": 80, "wires": [ { "id": "336866c291a738fc", "port": 0 } ] }, { "x": 1220, "y": 80, "wires": [ { "id": "336866c291a738fc", "port": 1 } ] }, { "x": 1220, "y": 80, "wires": [ { "id": "336866c291a738fc", "port": 2 } ] } ], "env": [], "meta": {}, "color": "#DDAA99" }, { "id": "df5a64053079f117", "type": "mqtt in", "z": "a37a25765b5bec67", "name": "Sensoren", "topic": "/sensor/+/+/+/#", "qos": "2", "datatype": "auto", "broker": "b51ff744ced1de40", "nl": false, "rap": false, "inputs": 0, "x": 200, "y": 80, "wires": [ [ "02e27cdae8216ea6" ] ] }, { "id": "02e27cdae8216ea6", "type": "switch", "z": "a37a25765b5bec67", "name": "Valid ?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "istype", "v": "json", "vt": "json" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 390, "y": 80, "wires": [ [ "a22ba0eb7684f0d5" ] ] }, { "id": "a22ba0eb7684f0d5", "type": "json", "z": "a37a25765b5bec67", "name": " 2Object", "property": "payload", "action": "obj", "pretty": false, "x": 580, "y": 80, "wires": [ [ "aea4902bf6f8b1c8" ] ] }, { "id": "aea4902bf6f8b1c8", "type": "function", "z": "a37a25765b5bec67", "name": "Update domotics", "func": "var actor = msg.topic.split(\"/\")[4]; \nvar family = msg.topic.split(\"/\")[3];\n\nif (family === \"SCRIPT\") return null;\n\nmsg.sensor = msg.topic;\nmsg.actor = \"/actor/\"+actor;\nmsg.value = msg.payload.value;\nmsg.type = msg.topic.split(\"/\")[5];\nmsg.content = {\"sensor\": actor, \"value\": msg.value, \"submitter\": \"nodeRED\"}\nmsg.payload = msg.value;\n\ntry\n {\n if (global.get(\"domotics['\"+actor.toLowerCase()+\"']\")) { global.set(\"domotics['\"+actor.toLowerCase()+\"'][2]\", msg.value); }\n }\ncatch(err)\n {\n //node.error(\"Error \"+actor+\" \"+family, msg);\n }\n\nreturn [ msg ];", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 810, "y": 80, "wires": [ [ "336866c291a738fc" ] ] }, { "id": "336866c291a738fc", "type": "function", "z": "a37a25765b5bec67", "name": "Message Filter ?", "func": "//**\n// Message Filter\n//\n// Position 3 : wird immer ausgegeben\n// Position 2 : bei Normal und Zeit\n// Position 1 : nur bei Normal\n//**\n\nvar name = msg.topic.split(\"/\")[4];\nvar type = name.split(\".\")[1];\n\nswitch(type)\n {\n case \"LOWBAT\":\n case \"LOW_BAT\":\n case \"BOOT\": \n case \"ERROR\":\n case \"ERROR_CODE\":\n case \"CONFIG_PENDING\":\n case \"RSSI_DEVICE\":\n case \"DUTY_CYCLE\":\n case \"UNREACH\":\n case \"SECTION\":\n case \"SECTION_STATUS\":\n case \"PROCESS\":\n case \"STATE_NOTWORKING\":\n case \"OPERATING_VOLTAGE_STATUS\":\n case \"OPERATING_VOLTAGE\":\n case \"ENERGY_COUNTER_OVERFLOW\":\n case \"VOLTAGE_STATUS\":\n case \"FREQUENCY_STATUS\":\n case \"VOLTAGE_STATUS\":\n case \"POWER_STATUS\":\n case \"CURRENT_STATUS\":\n return [ null, null, msg ];\n }\n\nif (type === \"CLOCK\") return [ null, msg, msg ];\n\nreturn [ msg, msg, msg ];", "outputs": 3, "noerr": 0, "x": 1060, "y": 80, "wires": [ [], [], [] ] }, { "id": "b51ff744ced1de40", "type": "mqtt-broker", "z": "a37a25765b5bec67", "name": "broker", "broker": "tasks.mosquitto", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "a93e4bdd4d6547c0", "type": "subflow", "name": "Get name", "info": "", "category": "", "in": [ { "x": 100, "y": 100, "wires": [ { "id": "61133e8b2834a955" } ] } ], "out": [ { "x": 1160, "y": 200, "wires": [ { "id": "50d3e15b767cac6a", "port": 1 }, { "id": "61133e8b2834a955", "port": 1 } ] } ], "env": [ { "name": "active", "type": "bool", "value": "true" } ], "meta": {}, "color": "#DDAA99", "status": { "x": 380, "y": 320, "wires": [ { "id": "14d345d95ce17d10", "port": 0 } ] } }, { "id": "14d345d95ce17d10", "type": "inject", "z": "a93e4bdd4d6547c0", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "active", "payloadType": "env", "x": 180, "y": 320, "wires": [ [] ] }, { "id": "2b0805f649a3e51e", "type": "change", "z": "a93e4bdd4d6547c0", "name": "get name", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "name:*", "tot": "str" }, { "t": "delete", "p": "payload", "pt": "msg" }, { "t": "delete", "p": "name", "pt": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 460, "y": 100, "wires": [ [ "898440f81f78516e" ] ] }, { "id": "2ba378ce42f73815", "type": "function", "z": "a93e4bdd4d6547c0", "name": "domoticsLength", "func": "//**\n// Prepare automation state from Mongo\n//**\n\nmsg.name = msg.payload.sort();\nmsg.nameLength = msg.name.length;\n\n//node.warn(msg.name.length);\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 920, "y": 100, "wires": [ [ "ef7e08c953948c58" ] ] }, { "id": "a3bdf4a9c2cc32a0", "type": "change", "z": "a93e4bdd4d6547c0", "name": "Loop = 0", "rules": [ { "t": "set", "p": "nameIndex", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 260, "y": 200, "wires": [ [ "93b3c026aa4e91a5" ] ] }, { "id": "93b3c026aa4e91a5", "type": "function", "z": "a93e4bdd4d6547c0", "name": "get sensor data", "func": "//**\n// Prepare automation state from Mongo\n//**\n\nvar name = msg.name[msg.nameIndex].split(\":\")[1];\n\nmsg.topic = \"name:\" + name;\nmsg.payload = [ 0, -1 ];\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 480, "y": 200, "wires": [ [ "6a716ce449141574" ] ] }, { "id": "86458c934355b248", "type": "function", "z": "a93e4bdd4d6547c0", "name": "Global name", "func": "//**\n// Get name from Redis\n//**\n\nglobal.set(\"name['\" + msg.topic.split(\":\")[1] + \"']\", msg.payload[0]);\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 830, "y": 200, "wires": [ [ "50d3e15b767cac6a" ] ] }, { "id": "50d3e15b767cac6a", "type": "function", "z": "a93e4bdd4d6547c0", "name": "Loop += 1", "func": "msg.nameIndex = msg.nameIndex + 1;\n\nif (msg.nameIndex < msg.nameLength)\n {\n return [ msg, null];\n }\nelse\n return [ null, msg];", "outputs": 2, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1000, "y": 200, "wires": [ [ "93b3c026aa4e91a5" ], [] ] }, { "id": "898440f81f78516e", "type": "redis-command", "z": "a93e4bdd4d6547c0", "server": "6dedffb0883e66bc", "command": "KEYS", "name": "", "topic": "", "params": "[]", "paramsType": "json", "payloadType": "json", "block": false, "x": 690, "y": 100, "wires": [ [ "2ba378ce42f73815" ] ] }, { "id": "6a716ce449141574", "type": "redis-command", "z": "a93e4bdd4d6547c0", "server": "6dedffb0883e66bc", "command": "LRANGE", "name": "", "topic": "", "params": " [0, -1]", "paramsType": "json", "payloadType": "json", "block": false, "x": 660, "y": 200, "wires": [ [ "86458c934355b248" ] ] }, { "id": "61133e8b2834a955", "type": "switch", "z": "a93e4bdd4d6547c0", "name": "active", "property": "active", "propertyType": "env", "rules": [ { "t": "true" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 250, "y": 100, "wires": [ [ "2b0805f649a3e51e" ], [] ] }, { "id": "ef7e08c953948c58", "type": "link out", "z": "a93e4bdd4d6547c0", "name": "link out 9", "mode": "link", "links": [ "d80145d0026fcab9" ], "x": 1095, "y": 100, "wires": [] }, { "id": "d80145d0026fcab9", "type": "link in", "z": "a93e4bdd4d6547c0", "name": "link in 9", "links": [ "ef7e08c953948c58" ], "x": 95, "y": 200, "wires": [ [ "a3bdf4a9c2cc32a0" ] ] }, { "id": "75fde064e338f2f3", "type": "subflow", "name": "Get domotics", "info": "", "category": "", "in": [ { "x": 120, "y": 100, "wires": [ { "id": "c5ad0c48da65248d" } ] } ], "out": [ { "x": 1200, "y": 180, "wires": [ { "id": "40679884d636b98a", "port": 1 }, { "id": "c5ad0c48da65248d", "port": 1 } ] } ], "env": [ { "name": "active", "type": "bool", "value": "true" } ], "meta": {}, "color": "#DDAA99", "status": { "x": 420, "y": 320, "wires": [ { "id": "265969480903c7e9", "port": 0 } ] } }, { "id": "82740fb0ee25ba10", "type": "change", "z": "75fde064e338f2f3", "name": "get domotics", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "domotics:*", "tot": "str" }, { "t": "delete", "p": "payload", "pt": "msg" }, { "t": "delete", "p": "domotics", "pt": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 490, "y": 100, "wires": [ [ "8e02ab4bb7f44f32" ] ] }, { "id": "a3a6b8713c34b593", "type": "function", "z": "75fde064e338f2f3", "name": "domoticsLength", "func": "//**\n// Prepare automation state from Mongo\n//**\n\nmsg.domotics = msg.payload.sort();\nmsg.domoticsLength = msg.domotics.length;\n\n//node.warn(msg.domotics.length);\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 940, "y": 100, "wires": [ [ "51355fa3b95d0d1d" ] ] }, { "id": "04b2c42d579d4425", "type": "change", "z": "75fde064e338f2f3", "name": "Loop = 0", "rules": [ { "t": "set", "p": "domoticsIndex", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 280, "y": 200, "wires": [ [ "454512bcf29330f6" ] ] }, { "id": "454512bcf29330f6", "type": "function", "z": "75fde064e338f2f3", "name": "get sensor data", "func": "//**\n// Prepare automation state from Mongo\n//**\n\nvar sensor = msg.domotics[msg.domoticsIndex].split(\":\")[1];\n\nmsg.topic = \"domotics:\" + sensor;\nmsg.payload = [ 0, -1 ];\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 500, "y": 200, "wires": [ [ "cfdec4aa2eca0162" ] ] }, { "id": "b9dd08f8121ece83", "type": "function", "z": "75fde064e338f2f3", "name": "Global domotics", "func": "//**\n// Prepare automation state from Mongo\n//**\n\nif (!isNaN(msg.payload[0])) msg.payload[0] = +msg.payload[0];\nif (!isNaN(msg.payload[2])) msg.payload[2] = +msg.payload[2];\nif (msg.payload[2] === \"true\" || msg.payload[2] === \"false\") msg.payload[2] = (msg.payload[2] === \"true\");\ntry { msg.payload[3] = JSON.parse(msg.payload[3]); } catch (e) { }\n\nglobal.set(\"domotics['\" + msg.topic.split(\":\")[1] + \"']\", msg.payload);\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 860, "y": 200, "wires": [ [ "40679884d636b98a" ] ] }, { "id": "40679884d636b98a", "type": "function", "z": "75fde064e338f2f3", "name": "Loop += 1", "func": "msg.domoticsIndex = msg.domoticsIndex + 1;\n\nif (msg.domoticsIndex < msg.domoticsLength)\n {\n return [ msg, null];\n }\nelse\n return [ null, msg];", "outputs": 2, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1020, "y": 200, "wires": [ [ "454512bcf29330f6" ], [] ] }, { "id": "8e02ab4bb7f44f32", "type": "redis-command", "z": "75fde064e338f2f3", "server": "6dedffb0883e66bc", "command": "KEYS", "name": "", "topic": "", "params": "[]", "paramsType": "json", "payloadType": "json", "block": false, "x": 710, "y": 100, "wires": [ [ "a3a6b8713c34b593" ] ] }, { "id": "cfdec4aa2eca0162", "type": "redis-command", "z": "75fde064e338f2f3", "server": "6dedffb0883e66bc", "command": "LRANGE", "name": "", "topic": "", "params": " [0, -1]", "paramsType": "json", "payloadType": "json", "block": false, "x": 680, "y": 200, "wires": [ [ "b9dd08f8121ece83" ] ] }, { "id": "c5ad0c48da65248d", "type": "switch", "z": "75fde064e338f2f3", "name": "active", "property": "active", "propertyType": "env", "rules": [ { "t": "true" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 270, "y": 100, "wires": [ [ "82740fb0ee25ba10" ], [] ] }, { "id": "51355fa3b95d0d1d", "type": "link out", "z": "75fde064e338f2f3", "name": "link out 1", "mode": "link", "links": [ "cf44fc773c7644a2" ], "x": 1115, "y": 100, "wires": [] }, { "id": "cf44fc773c7644a2", "type": "link in", "z": "75fde064e338f2f3", "name": "link in 1", "links": [ "51355fa3b95d0d1d" ], "x": 115, "y": 200, "wires": [ [ "04b2c42d579d4425" ] ] }, { "id": "265969480903c7e9", "type": "inject", "z": "75fde064e338f2f3", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "active", "payloadType": "env", "x": 220, "y": 320, "wires": [ [] ] }, { "id": "6dedffb0883e66bc", "type": "redis-config", "name": "tasks.redis", "options": "{\"host\":\"tasks.redis\"}", "cluster": false, "optionsType": "json" }, { "id": "96dd2e3cc57742ab", "type": "subflow", "name": "Button", "info": "", "category": "", "in": [ { "x": 100, "y": 100, "wires": [ { "id": "f5aa0f408587a6cb" } ] } ], "out": [ { "x": 1360, "y": 100, "wires": [ { "id": "3943d703b4088835", "port": 0 } ] } ], "env": [], "meta": {}, "color": "#DDAA99" }, { "id": "f5aa0f408587a6cb", "type": "change", "z": "96dd2e3cc57742ab", "name": "", "rules": [ { "t": "set", "p": "switch", "pt": "msg", "to": "$split(topic, \"/\")[4]", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 270, "y": 100, "wires": [ [ "8338df0ed6c08146" ] ] }, { "id": "8338df0ed6c08146", "type": "function", "z": "96dd2e3cc57742ab", "name": "Setze Text", "func": "if (msg.switchon)\n {\n flow.set(\"button['\"+msg.switch+\"']['on']\", msg.switchon);\n flow.set(\"button['\"+msg.switch+\"']['off']\", msg.switchoff); \n }\n\nreturn msg;", "outputs": 1, "noerr": 0, "x": 510, "y": 100, "wires": [ [ "3360fd4fcedb8470" ] ] }, { "id": "3360fd4fcedb8470", "type": "switch", "z": "96dd2e3cc57742ab", "name": "", "property": "value", "propertyType": "msg", "rules": [ { "t": "eq", "v": "aus", "vt": "str" }, { "t": "eq", "v": "an", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 710, "y": 100, "wires": [ [ "ecb640788110e0d9" ], [ "7267c21d2d9f3833" ] ] }, { "id": "7267c21d2d9f3833", "type": "change", "z": "96dd2e3cc57742ab", "name": "true", "rules": [ { "t": "set", "p": "value", "pt": "msg", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 120, "wires": [ [ "0798cd7b02bdad1e" ] ] }, { "id": "ecb640788110e0d9", "type": "change", "z": "96dd2e3cc57742ab", "name": "false", "rules": [ { "t": "set", "p": "value", "pt": "msg", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 80, "wires": [ [ "0798cd7b02bdad1e" ] ] }, { "id": "0798cd7b02bdad1e", "type": "subflow:48d868d85b014c91", "z": "96dd2e3cc57742ab", "name": "", "x": 1010, "y": 100, "wires": [ [ "3943d703b4088835" ] ] }, { "id": "3943d703b4088835", "type": "function", "z": "96dd2e3cc57742ab", "name": "Setze Template", "func": "msg.switchon = flow.get(\"button['\" + msg.switch + \"']['on']\");\nmsg.switchoff = flow.get(\"button['\" + msg.switch + \"']['off']\");\n\nmsg.template = ' ' +\n'<md-button class=\"vibrate filled touched bigfont rounded\" style=\"background-color:{{msg.backcolor}}\" ng-click=\"send({value: !msg.value, name: msg.switch })\"> ' +\n' ' +\n'<svg width=\"180px\" height=\"50px\" version=\"1.1\" viewBox=\"0 0 800 200\">' +\n' <g id=\"Button_Long\">' +\n' ' +\n' <rect fill={{msg.backcolor}} width=\"800\" height=\"200\"/>' +\n' <g ng-style=\"{fill: (msg.value || 0) ? msg.strongcolor : msg.softcolor }\">' +\n' <rect width=\"800\" height=\"200\" rx=\"80\" ry=\"80\"/>' +\n'' +\n' ' +\n' <rect fill={{msg.backcolor}} x=\"11\" y=\"10\" width=\"778\" height=\"180\" rx=\"90\" ry=\"90\"/>' +\n' <g ng-style=\"{fill: (msg.value || 0) ? msg.strongcolor : msg.softcolor }\">' +\n' <text x=\"400\" y=\"125\" style=\"text-anchor:middle\" font-weight=\"bold\" font-size=\"60\" font-family=\"Arial\">{{(msg.value||0)? msg.switchon : msg.switchoff }} ' +\n' ' +\n' ' +\n'' +\n'';\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1200, "y": 100, "wires": [ [] ] }, { "id": "48d868d85b014c91", "type": "subflow", "name": "Color", "info": "", "category": "", "in": [ { "x": 120, "y": 100, "wires": [ { "id": "8da6868e0650ee40" } ] } ], "out": [ { "x": 380, "y": 100, "wires": [ { "id": "8da6868e0650ee40", "port": 0 } ] } ], "env": [], "meta": {}, "color": "#DDAA99" }, { "id": "8da6868e0650ee40", "type": "change", "z": "48d868d85b014c91", "name": "Color", "rules": [ { "t": "set", "p": "strongcolor", "pt": "msg", "to": "strongcolor", "tot": "global" }, { "t": "set", "p": "color", "pt": "msg", "to": "color", "tot": "global" }, { "t": "set", "p": "headcolor", "pt": "msg", "to": "headcolor", "tot": "global" }, { "t": "set", "p": "backcolor", "pt": "msg", "to": "backcolor", "tot": "global" }, { "t": "set", "p": "softcolor", "pt": "msg", "to": "softcolor", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 250, "y": 100, "wires": [ [] ] }, { "id": "77667da07b6d7ea3", "type": "subflow", "name": "UI control", "info": "", "category": "", "in": [ { "x": 100, "y": 100, "wires": [ { "id": "53fd2a35d288875d" } ] } ], "out": [ { "x": 620, "y": 100, "wires": [ { "id": "c5f1b0a912b2bf3f", "port": 0 } ] } ], "env": [], "meta": {}, "color": "#DDAA99" }, { "id": "c5f1b0a912b2bf3f", "type": "function", "z": "77667da07b6d7ea3", "name": "ui control", "func": "var socketid = msg.socketid;\nvar func = msg.payload;\n\nif (func === \"connect\" || func === \"change\")\n {\n var message = { func: func, tab: msg.tab || 0, name: msg.name || \"\" };\n \n global.set(\"ui['\"+socketid+\"']\", message); \n }\n \nif (func === \"lost\")\n {\n var tab = global.get(\"ui\") || {};\n var keys = Object.keys(tab);\n var temp = { };\n \n for (var i = 0; i < keys.length; i++)\n {\n if (keys[i] !== socketid) { temp[keys[i]] = tab[keys[i]]; }\n }\n global.set(\"ui\", temp);\n }\n\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 460, "y": 100, "wires": [ [] ] }, { "id": "53fd2a35d288875d", "type": "ui-control", "z": "77667da07b6d7ea3", "name": "", "ui": "f68a4799e6be2b60", "events": "all", "x": 260, "y": 100, "wires": [ [ "c5f1b0a912b2bf3f" ] ] }, { "id": "f68a4799e6be2b60", "type": "ui-base", "name": "Dashboard", "path": "/dashboard", "appIcon": "", "includeClientData": true, "acceptsClientConfig": [ "ui-control", "ui-notification" ], "showPathInSidebar": false, "showPageTitle": true, "navigationStyle": "icon", "titleBarStyle": "default" }, { "id": "f3439aa892750c04", "type": "tab", "label": "Domotics (do not edit)", "disabled": false, "info": "Stand: 19.10.2022 (Start, Interface, Miscellaneous, MQ Eingang und Ausgang)" }, { "id": "b4c46c9a7adf2d56", "type": "group", "z": "f3439aa892750c04", "name": "Interface", "style": { "stroke": "#000000", "fill": "#ffff00", "label": true, "color": "#000000" }, "nodes": [ "77ebfb75b1fe1856", "6cc5e158a88c45af", "4d0bc315cb05ef0e", "209324eba972c514", "0c64e3b3b347552d", "d42dcd7ce5d6bd4d", "f27f7f970792536c", "eb05c1cf476d34a4", "f5f30670578629b5" ], "x": 94, "y": 379, "w": 292, "h": 202 }, { "id": "1fa998ef39c7b6cf", "type": "group", "z": "f3439aa892750c04", "name": "Start", "style": { "stroke": "#000000", "fill": "#ffbfbf", "label": true, "color": "#000000" }, "nodes": [ "a001d4cefd3e590e", "4867292359c61de8", "5ceb28b09ee70f3c", "b56aee4741f48f64", "9d10c17a9ee29bf6" ], "x": 94, "y": 179, "w": 722, "h": 122 }, { "id": "3b8d999a2ebe589b", "type": "group", "z": "f3439aa892750c04", "name": "MQ Eingang und Ausgang", "style": { "stroke": "#000000", "fill": "#ffefbf", "label": true, "color": "#000000" }, "nodes": [ "cee6b97080462f0b", "2ae6fe6abd284d9f", "88e59c5c14ad838e", "dec160a8a5fae346", "1d3ba51bebf1a21a", "e7e4abc4e858d971", "3451842912f53252", "3328b318e313b376", "4648be2f4c2748b2", "a7a84f9988183a2e" ], "x": 944, "y": 119, "w": 352, "h": 402 }, { "id": "77ebfb75b1fe1856", "type": "link in", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "UI Input", "links": [], "x": 135, "y": 420, "wires": [ [ "4d0bc315cb05ef0e" ] ], "icon": "font-awesome/fa-user-circle-o" }, { "id": "6cc5e158a88c45af", "type": "link out", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "UI Output", "mode": "link", "links": [ "4273fa95de6bfdd5", "d085e322ae4221c5", "039924f255f479e5", "f9b3781b1533e9f4" ], "x": 345, "y": 420, "wires": [], "icon": "font-awesome/fa-hourglass-start" }, { "id": "4d0bc315cb05ef0e", "type": "subflow:77667da07b6d7ea3", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "", "x": 240, "y": 420, "wires": [ [ "6cc5e158a88c45af" ] ] }, { "id": "209324eba972c514", "type": "link in", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "Color", "links": [], "x": 135, "y": 480, "wires": [ [ "d42dcd7ce5d6bd4d" ] ], "icon": "node-red-dashboard/ui_colour_picker.png" }, { "id": "0c64e3b3b347552d", "type": "link out", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "", "mode": "return", "links": [], "x": 345, "y": 480, "wires": [] }, { "id": "d42dcd7ce5d6bd4d", "type": "subflow:48d868d85b014c91", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "Color", "x": 230, "y": 480, "wires": [ [ "0c64e3b3b347552d" ] ], "icon": "node-red-dashboard/ui_colour_picker.png" }, { "id": "f27f7f970792536c", "type": "link in", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "button", "links": [], "x": 135, "y": 540, "wires": [ [ "f5f30670578629b5" ] ], "icon": "node-red-dashboard/ui_button.png" }, { "id": "eb05c1cf476d34a4", "type": "link out", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "", "mode": "return", "links": [], "x": 345, "y": 540, "wires": [] }, { "id": "f5f30670578629b5", "type": "subflow:96dd2e3cc57742ab", "z": "f3439aa892750c04", "g": "b4c46c9a7adf2d56", "name": "", "x": 230, "y": 540, "wires": [ [ "eb05c1cf476d34a4" ] ] }, { "id": "92365558eaaeef0a", "type": "config", "z": "f3439aa892750c04", "name": "", "properties": [ { "p": "floors", "pt": "global", "to": "null", "tot": "json" }, { "p": "url_lib", "pt": "global", "to": "https://www.familie-spitzer.de/lib/", "tot": "str" }, { "p": "url_image", "pt": "global", "to": "https://www.familie-spitzer.de/image/", "tot": "str" }, { "p": "url_doc", "pt": "global", "to": "https://www.familie-spitzer.de/doc/", "tot": "str" }, { "p": "main_svg_switch", "pt": "global", "to": "https://www.familie-spitzer.de/svg/", "tot": "str" }, { "p": "color", "pt": "global", "to": "green", "tot": "str" }, { "p": "headcolor", "pt": "global", "to": "lawngreen", "tot": "str" }, { "p": "backcolor", "pt": "global", "to": "white", "tot": "str" }, { "p": "softcolor", "pt": "global", "to": "gray", "tot": "str" }, { "p": "strongcolor", "pt": "global", "to": "red", "tot": "str" } ], "active": true, "x": 170, "y": 100, "wires": [] }, { "id": "dd92c34723f6a93f", "type": "ui-event", "z": "f3439aa892750c04", "ui": "f68a4799e6be2b60", "name": "", "x": 530, "y": 460, "wires": [ [ "5159917b5a424f5a" ] ] }, { "id": "5159917b5a424f5a", "type": "link out", "z": "f3439aa892750c04", "name": "Page event Out", "mode": "link", "links": [ "aef50145bdaa960a", "ae3dbfe31f99e8b6" ], "x": 675, "y": 460, "wires": [] }, { "id": "a001d4cefd3e590e", "type": "inject", "z": "f3439aa892750c04", "g": "1fa998ef39c7b6cf", "name": "Started !", "props": [ { "p": "payload", "v": "", "vt": "str" }, { "p": "topic", "v": "", "vt": "str" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": "", "topic": "", "payload": "", "payloadType": "str", "x": 200, "y": 220, "wires": [ [ "b56aee4741f48f64" ] ] }, { "id": "4867292359c61de8", "type": "link out", "z": "f3439aa892750c04", "g": "1fa998ef39c7b6cf", "name": "Start Init", "mode": "link", "links": [ "e916ff94b8ba2a66" ], "x": 775, "y": 220, "wires": [], "icon": "font-awesome/fa-hourglass-start" }, { "id": "5ceb28b09ee70f3c", "type": "link in", "z": "f3439aa892750c04", "g": "1fa998ef39c7b6cf", "name": "Init", "links": [ "1d3ba51bebf1a21a", "4648be2f4c2748b2" ], "x": 245, "y": 260, "wires": [ [ "b56aee4741f48f64" ] ], "icon": "font-awesome/fa-subscript" }, { "id": "b56aee4741f48f64", "type": "subflow:75fde064e338f2f3", "z": "f3439aa892750c04", "g": "1fa998ef39c7b6cf", "name": "", "x": 410, "y": 220, "wires": [ [ "9d10c17a9ee29bf6" ] ], "icon": "node-red-contrib-redis/redis.png" }, { "id": "9d10c17a9ee29bf6", "type": "subflow:a93e4bdd4d6547c0", "z": "f3439aa892750c04", "g": "1fa998ef39c7b6cf", "name": "", "env": [ { "name": "active", "value": "false", "type": "bool" } ], "x": 620, "y": 220, "wires": [ [ "4867292359c61de8" ] ], "icon": "node-red-contrib-redis/redis.png" }, { "id": "cee6b97080462f0b", "type": "link out", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "Subscribe ohne Uhr", "mode": "link", "links": [], "x": 1255, "y": 160, "wires": [], "icon": "font-awesome/fa-envelope" }, { "id": "2ae6fe6abd284d9f", "type": "link out", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "Subscribe mit Uhr", "mode": "link", "links": [], "x": 1255, "y": 200, "wires": [], "icon": "font-awesome/fa-envelope" }, { "id": "88e59c5c14ad838e", "type": "link out", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "Subscribe All", "mode": "link", "links": [], "x": 1255, "y": 240, "wires": [], "icon": "font-awesome/fa-envelope" }, { "id": "dec160a8a5fae346", "type": "link in", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "Publish", "links": [ "318a1f5388d899c4" ], "x": 995, "y": 400, "wires": [ [ "3451842912f53252" ] ], "icon": "font-awesome/fa-send" }, { "id": "1d3ba51bebf1a21a", "type": "link out", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "Skript delete sensor", "mode": "link", "links": [ "5ceb28b09ee70f3c" ], "x": 1255, "y": 300, "wires": [], "icon": "font-awesome/fa-subscript" }, { "id": "e7e4abc4e858d971", "type": "subflow:a37a25765b5bec67", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "MQ Sensor-Eingang", "x": 1070, "y": 200, "wires": [ [ "cee6b97080462f0b" ], [ "2ae6fe6abd284d9f" ], [ "88e59c5c14ad838e" ] ], "icon": "font-awesome/fa-arrow-left" }, { "id": "3451842912f53252", "type": "subflow:d8f4d61e31c1af63", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "", "x": 1180, "y": 400, "wires": [], "icon": "font-awesome/fa-arrow-right" }, { "id": "3328b318e313b376", "type": "subflow:acae54dd600a7b11", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "", "x": 1060, "y": 320, "wires": [ [ "1d3ba51bebf1a21a" ], [ "4648be2f4c2748b2" ] ], "icon": "font-awesome/fa-arrow-left" }, { "id": "4648be2f4c2748b2", "type": "link out", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "Skript insert sensor", "mode": "link", "links": [ "5ceb28b09ee70f3c" ], "x": 1255, "y": 340, "wires": [], "icon": "font-awesome/fa-subscript" }, { "id": "a7a84f9988183a2e", "type": "subflow:8bfb514b42039228", "z": "f3439aa892750c04", "g": "3b8d999a2ebe589b", "name": "MQ Prepare Message", "x": 1090, "y": 480, "wires": [ [] ] }, { "id": "fae1679d18344cfe", "type": "flow2src", "z": "f3439aa892750c04", "name": "", "incFlows": "", "incSubflows": "", "srcFolder": "src", "chkAutoFlow2Src": false, "x": 540, "y": 80, "wires": [] }]
Sicher versendet mit Proton Mail.
Stephen J. Carnam @.***> schrieb am Mittwoch, 16. Oktober 2024 um 21:44:
Based on the flow you gave me, I only see two function nodes on a flow tab called "Weather"; after deploying and pressing Flow-to-Src, I get a src folder with Weather subfolder, and the two function nodes. My project name is "Scratch". Please see the screenshot below. I am using Flow2Src version 1.2.1.
Screenshot.2024-10-16.at.12.34.57.PM.png (view on web)
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
Hi, thank you for the flow; I do see an issue and it is reproducible. I'm not sure why it is falling short of all sub flows. I will need to investigate the code further.
Hi I test your flow in an instance with multiple function-nodes and subflows. I got only two of the subflows in my src-directory. I don't understand why only this two were exported. They are in the last tab among others. thx