-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Thx #2
Comments
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](https://proton.me/mail/home).
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](#2 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/AF7DTNTXRX2ZA77A4E76W4DZ32ZJFAVCNFSM6AAAAABQB7SBFKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJXGY3TQNBRHA).
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
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'</g>' +\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 }} </text>' +\n' </g>' +\n' </g>' +\n'</svg>' +\n'</md-button>';\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](https://proton.me/mail/home).
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)](https://github.com/user-attachments/assets/b65b4de6-3b7c-40c3-9fd4-fe4069605ade)
—
Reply to this email directly, [view it on GitHub](#2 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/AF7DTNUWBB63DI4N3RLHZW3Z3263FAVCNFSM6AAAAABQB7SBFKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJXG44TCMRYHE).
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. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
The text was updated successfully, but these errors were encountered: