smart-energy-monitor/software/flow/flows.json

3278 lines
86 KiB
JSON

[
{
"id": "f6f2187d.f17ca8",
"type": "tab",
"label": "MQTT2Influxdb",
"disabled": false,
"info": ""
},
{
"id": "ae14dbbaafe62be6",
"type": "tab",
"label": "CSV2Influxdb",
"disabled": false,
"info": "",
"env": []
},
{
"id": "d0f6fc20cc752ed0",
"type": "tab",
"label": "Debug Dashboard",
"disabled": false,
"info": ""
},
{
"id": "325e309897bf4538",
"type": "tab",
"label": "3dprinter",
"disabled": false,
"info": "",
"env": []
},
{
"id": "47e5443dc1c29bcd",
"type": "tab",
"label": "laser cutter",
"disabled": false,
"info": "",
"env": []
},
{
"id": "8ef0902d5920bef2",
"type": "tab",
"label": "cnc",
"disabled": false,
"info": "",
"env": []
},
{
"id": "306896b1c1761662",
"type": "tab",
"label": "Test Watts to KWh",
"disabled": false,
"info": "",
"env": []
},
{
"id": "7ce136dbb8c897d1",
"type": "mqtt-broker",
"name": "pi-mqtt-server:1833",
"broker": "192.168.178.21",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": 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": "368e029bdaefea73",
"type": "ui_group",
"name": "Power",
"tab": "8eef9f1fd7446608",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "8eef9f1fd7446608",
"type": "ui_tab",
"name": "Powermonitor",
"icon": "dashboard",
"order": 1,
"disabled": false,
"hidden": false
},
{
"id": "90bc7a058a6ccbd7",
"type": "ui_base",
"theme": {
"name": "theme-light",
"lightTheme": {
"default": "#0094CE",
"baseColor": "#0094CE",
"baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif",
"edited": true,
"reset": false
},
"darkTheme": {
"default": "#097479",
"baseColor": "#097479",
"baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif",
"edited": false
},
"customTheme": {
"name": "Untitled Theme 1",
"default": "#4B7930",
"baseColor": "#4B7930",
"baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"
},
"themeState": {
"base-color": {
"default": "#0094CE",
"value": "#0094CE",
"edited": false
},
"page-titlebar-backgroundColor": {
"value": "#0094CE",
"edited": false
},
"page-backgroundColor": {
"value": "#fafafa",
"edited": false
},
"page-sidebar-backgroundColor": {
"value": "#ffffff",
"edited": false
},
"group-textColor": {
"value": "#1bbfff",
"edited": false
},
"group-borderColor": {
"value": "#ffffff",
"edited": false
},
"group-backgroundColor": {
"value": "#ffffff",
"edited": false
},
"widget-textColor": {
"value": "#111111",
"edited": false
},
"widget-backgroundColor": {
"value": "#0094ce",
"edited": false
},
"widget-borderColor": {
"value": "#ffffff",
"edited": false
},
"base-font": {
"value": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"
}
},
"angularTheme": {
"primary": "indigo",
"accents": "blue",
"warn": "red",
"background": "grey",
"palette": "light"
}
},
"site": {
"name": "Node-RED Dashboard",
"hideToolbar": "false",
"allowSwipe": "false",
"lockMenu": "false",
"allowTempTheme": "true",
"dateFormat": "DD.MM.YYYY",
"sizes": {
"sx": 48,
"sy": 48,
"gx": 6,
"gy": 6,
"cx": 6,
"cy": 6,
"px": 0,
"py": 0
}
}
},
{
"id": "eeb221fb.ab27f",
"type": "influxdb",
"hostname": "127.0.0.1",
"port": "8086",
"protocol": "http",
"database": "test",
"name": "test",
"usetls": true,
"tls": "d50d0c9f.31e858",
"influxdbVersion": "1.x",
"url": "http://localhost:8086",
"rejectUnauthorized": true
},
{
"id": "d50d0c9f.31e858",
"type": "tls-config",
"name": "",
"cert": "",
"key": "",
"ca": "",
"certname": "",
"keyname": "",
"caname": "",
"servername": "",
"verifyservercert": false
},
{
"id": "d61a7da6caeb26aa",
"type": "influxdb",
"hostname": "influxdb",
"port": "8086",
"protocol": "http",
"database": "database",
"name": "influx",
"usetls": false,
"tls": "d50d0c9f.31e858",
"influxdbVersion": "2.0",
"url": "http://influxdb:8086",
"rejectUnauthorized": true
},
{
"id": "4cf36a44b74caee5",
"type": "mqtt-broker",
"name": "mosquitto",
"broker": "mosquitto",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": 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": "00a750cdfb54579e",
"type": "mqtt in",
"z": "f6f2187d.f17ca8",
"name": "",
"topic": "/iot-platform/energy-monitor/test-device/watt",
"qos": "1",
"datatype": "auto-detect",
"broker": "4cf36a44b74caee5",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 270,
"y": 480,
"wires": [
[
"16687c90623bdb9b"
]
]
},
{
"id": "7e53d20583f56487",
"type": "influxdb out",
"z": "f6f2187d.f17ca8",
"influxdb": "d61a7da6caeb26aa",
"name": "Influx watt",
"measurement": "msg",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "test",
"x": 810,
"y": 500,
"wires": []
},
{
"id": "16687c90623bdb9b",
"type": "function",
"z": "f6f2187d.f17ca8",
"name": "toNumber",
"func": "\nmsg.payload = Number(msg.payload)\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 540,
"y": 480,
"wires": [
[
"7e53d20583f56487",
"499e0f3651d818db"
]
]
},
{
"id": "499e0f3651d818db",
"type": "debug",
"z": "f6f2187d.f17ca8",
"name": "consumption",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 810,
"y": 420,
"wires": []
},
{
"id": "b14166f65d5aec75",
"type": "mqtt in",
"z": "f6f2187d.f17ca8",
"name": "",
"topic": "tele/tasmota_A4D1F3/SENSOR",
"qos": "1",
"datatype": "auto-detect",
"broker": "4cf36a44b74caee5",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 210,
"y": 720,
"wires": [
[
"29cd45a4f1feb505"
]
]
},
{
"id": "23c62c30ebabca6e",
"type": "influxdb out",
"z": "f6f2187d.f17ca8",
"influxdb": "d61a7da6caeb26aa",
"name": "Influx plant sensor",
"measurement": "msg",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "plant",
"x": 790,
"y": 640,
"wires": []
},
{
"id": "e3742f5060cf6cb7",
"type": "debug",
"z": "f6f2187d.f17ca8",
"name": "debug 1",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 760,
"y": 760,
"wires": []
},
{
"id": "29cd45a4f1feb505",
"type": "function",
"z": "f6f2187d.f17ca8",
"name": "plant2Influx",
"func": "var newMsg = {\n payload: {\n temperature: Number(msg.payload.DHT11.Temperature),\n humidity: Number(msg.payload.DHT11.Humidity)\n }\n};\nreturn newMsg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 530,
"y": 640,
"wires": [
[
"23c62c30ebabca6e",
"e3742f5060cf6cb7"
]
]
},
{
"id": "f21213aec2f647ff",
"type": "mqtt in",
"z": "f6f2187d.f17ca8",
"name": "",
"topic": "tele/tasmota_891E97/SENSOR",
"qos": "1",
"datatype": "auto-detect",
"broker": "4cf36a44b74caee5",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 190,
"y": 1000,
"wires": [
[
"5e4f2b3e1acad45b"
]
]
},
{
"id": "26b455c1bd337375",
"type": "influxdb out",
"z": "f6f2187d.f17ca8",
"influxdb": "d61a7da6caeb26aa",
"name": "Influx Shelly device",
"measurement": "msg",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "shelly",
"x": 770,
"y": 920,
"wires": []
},
{
"id": "96eaf14353a89e9c",
"type": "debug",
"z": "f6f2187d.f17ca8",
"name": "shelly",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 730,
"y": 1040,
"wires": []
},
{
"id": "5e4f2b3e1acad45b",
"type": "function",
"z": "f6f2187d.f17ca8",
"name": "shelly2Influx",
"func": "return {\n payload: {\n power: Number(msg.payload.ENERGY.Power),\n voltage: Number(msg.payload.ENERGY.Voltage),\n current: Number(msg.payload.ENERGY.Current)\n }\n};\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 490,
"y": 1000,
"wires": [
[
"26b455c1bd337375",
"96eaf14353a89e9c"
]
]
},
{
"id": "e0977f2582bfaaa6",
"type": "mqtt in",
"z": "d0f6fc20cc752ed0",
"name": "",
"topic": "/iot-platform/energy-monitor/test-device/watt",
"qos": "1",
"datatype": "auto-detect",
"broker": "4cf36a44b74caee5",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 330,
"y": 300,
"wires": [
[
"af39dce845afb447",
"73b0f02f5524fc38"
]
]
},
{
"id": "af39dce845afb447",
"type": "ui_gauge",
"z": "d0f6fc20cc752ed0",
"name": "",
"group": "368e029bdaefea73",
"order": 0,
"width": 0,
"height": 0,
"gtype": "gage",
"title": "Power ",
"label": "W",
"format": "{{value}}",
"min": 0,
"max": "4000",
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"diff": false,
"className": "",
"x": 690,
"y": 300,
"wires": []
},
{
"id": "73b0f02f5524fc38",
"type": "ui_chart",
"z": "d0f6fc20cc752ed0",
"name": "",
"group": "368e029bdaefea73",
"order": 1,
"width": 0,
"height": 0,
"label": "Chart",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": 1,
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"className": "",
"x": 690,
"y": 340,
"wires": [
[]
]
},
{
"id": "ab06ffb0bf2c56e8",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "microfactory/3dprinter",
"qos": "2",
"datatype": "auto-detect",
"broker": "4cf36a44b74caee5",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 120,
"y": 120,
"wires": [
[
"b0d392d2c63876e6"
]
]
},
{
"id": "4becd7ada513bdcf",
"type": "debug",
"z": "325e309897bf4538",
"name": "filament sensor",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 720,
"y": 180,
"wires": []
},
{
"id": "b0d392d2c63876e6",
"type": "function",
"z": "325e309897bf4538",
"name": "parse filament data",
"func": "return {\n payload: {\n device: String(msg.payload.device),\n unit: String(msg.payload.unit),\n measure: Number(msg.payload.value)\n }\n};",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 120,
"wires": [
[
"4becd7ada513bdcf",
"f0a128bf29194ea6"
]
]
},
{
"id": "f0a128bf29194ea6",
"type": "influxdb out",
"z": "325e309897bf4538",
"influxdb": "d61a7da6caeb26aa",
"name": "filament2Influx",
"measurement": "filament",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "3dprinter",
"x": 700,
"y": 60,
"wires": []
},
{
"id": "5743e72dc31c53a8",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/power",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 380,
"wires": [
[
"833743b62b5687d6"
]
]
},
{
"id": "833743b62b5687d6",
"type": "function",
"z": "325e309897bf4538",
"name": "parse power data",
"func": "var power = Number(msg.payload);\n\nif (power != 0){\n return {\n payload: 90*power\n }\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 380,
"wires": [
[
"e2da2b347453dd67",
"2bbfb79be4639a0f"
]
]
},
{
"id": "e2da2b347453dd67",
"type": "debug",
"z": "325e309897bf4538",
"name": "power 3dprinter",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 700,
"y": 420,
"wires": []
},
{
"id": "2bbfb79be4639a0f",
"type": "influxdb out",
"z": "325e309897bf4538",
"influxdb": "d61a7da6caeb26aa",
"name": "power2Influx",
"measurement": "power",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "3dprinter",
"x": 690,
"y": 340,
"wires": []
},
{
"id": "45612fd7f9c352cd",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/state",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 130,
"y": 580,
"wires": [
[
"da214da48c4af7a9"
]
]
},
{
"id": "da214da48c4af7a9",
"type": "function",
"z": "325e309897bf4538",
"name": "parse state data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 400,
"y": 580,
"wires": [
[
"b905735dc618a8a0",
"de6344746014f314"
]
]
},
{
"id": "b905735dc618a8a0",
"type": "debug",
"z": "325e309897bf4538",
"name": "state 3dprinter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 700,
"y": 620,
"wires": []
},
{
"id": "de6344746014f314",
"type": "influxdb out",
"z": "325e309897bf4538",
"influxdb": "d61a7da6caeb26aa",
"name": "state2Influx",
"measurement": "state",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "3dprinter",
"x": 690,
"y": 540,
"wires": []
},
{
"id": "043e7748ef5e677b",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/filename",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 800,
"wires": [
[
"a2b0ef42bca5e9f1"
]
]
},
{
"id": "a2b0ef42bca5e9f1",
"type": "function",
"z": "325e309897bf4538",
"name": "parse filename data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 800,
"wires": [
[
"04b4d32bae0f2348",
"8d1f5be333d2d226"
]
]
},
{
"id": "04b4d32bae0f2348",
"type": "debug",
"z": "325e309897bf4538",
"name": "filename 3dprinter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 710,
"y": 840,
"wires": []
},
{
"id": "8d1f5be333d2d226",
"type": "influxdb out",
"z": "325e309897bf4538",
"influxdb": "d61a7da6caeb26aa",
"name": "filename2Influx",
"measurement": "fileaname",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "3dprinter",
"x": 700,
"y": 760,
"wires": []
},
{
"id": "65bf19a4f55aee7e",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/starttime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 1000,
"wires": [
[
"1d33bc1b547f5ce2"
]
]
},
{
"id": "1d33bc1b547f5ce2",
"type": "function",
"z": "325e309897bf4538",
"name": "parse start time data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1000,
"wires": [
[
"6af55efed77b7ef4",
"af07e620b26d2106"
]
]
},
{
"id": "6af55efed77b7ef4",
"type": "debug",
"z": "325e309897bf4538",
"name": "starttime 3dprinter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 710,
"y": 1040,
"wires": []
},
{
"id": "af07e620b26d2106",
"type": "influxdb out",
"z": "325e309897bf4538",
"influxdb": "d61a7da6caeb26aa",
"name": "starttime2Influx",
"measurement": "starttime",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "3dprinter",
"x": 700,
"y": 960,
"wires": []
},
{
"id": "957acd380de62057",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/endtime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 1200,
"wires": [
[
"048a2e5ff076bae4"
]
]
},
{
"id": "048a2e5ff076bae4",
"type": "function",
"z": "325e309897bf4538",
"name": "parse end time data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1200,
"wires": [
[
"2dc5b48d55a82a7c",
"ee288ff508fa00f2"
]
]
},
{
"id": "2dc5b48d55a82a7c",
"type": "debug",
"z": "325e309897bf4538",
"name": "endtime 3dprinter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 710,
"y": 1240,
"wires": []
},
{
"id": "ee288ff508fa00f2",
"type": "influxdb out",
"z": "325e309897bf4538",
"influxdb": "d61a7da6caeb26aa",
"name": "endtime2Influx",
"measurement": "starttime",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "3dprinter",
"x": 700,
"y": 1160,
"wires": []
},
{
"id": "f721f6ca3b0cecf9",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "microfactory/3dprinter",
"qos": "2",
"datatype": "auto-detect",
"broker": "4cf36a44b74caee5",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 120,
"y": 1780,
"wires": [
[
"457e27536f3374c3"
]
]
},
{
"id": "de4f15d4a930ac7c",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/filename",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 1740,
"wires": [
[
"f801ca46ae96ee13"
]
]
},
{
"id": "4d79d002fc073730",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/starttime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 1660,
"wires": [
[
"1f71b44724013341"
]
]
},
{
"id": "a5836d9b547ecc51",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/endtime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 1700,
"wires": [
[
"ec5b4e4a5bfd740c"
]
]
},
{
"id": "c53493537ea6f7be",
"type": "watt2kwh",
"z": "325e309897bf4538",
"format": "kwh",
"maximum": "5",
"maximumunit": "mins",
"name": "energy",
"x": 570,
"y": 1520,
"wires": [
[
"70b6224a4844669b"
]
]
},
{
"id": "70b6224a4844669b",
"type": "function",
"z": "325e309897bf4538",
"name": "Calculate Total Energy per Job in KWh",
"func": "if (msg.topic == \"starttime\"){\n flow.set(\"energyVal\", 0);\n flow.set(\"starttime\", String(msg.payload));\n}\nelse if (msg.topic == \"filename\"){\n flow.set(\"filename\", msg.payload);\n}\nelse if (msg.topic == \"energy\"){\n var savedVal = flow.get(\"energyVal\")||0;\n savedVal += Number(msg.payload);\n flow.set(\"energyVal\", savedVal);\n}\nelse if (msg.topic == \"endtime\") {\n\n var filename = String(flow.get(\"filename\"));\n var totalEnergy = Number(flow.get(\"energyVal\"));\n var starttime = String(flow.get(\"starttime\"));\n var endtime = String(msg.payload);\n\n if (filename == \"\") endtime = \"\";\n\n flow.set(\"energyVal\", 0);\n flow.set(\"filename\", \"\");\n flow.set(\"starttime\", \"\");\n \n if (filename != \"\"){\n return {\n payload: {\n filename: filename,\n totalEnergy: totalEnergy,\n starttime: starttime,\n endtime: endtime\n }\n }\n };\n}\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 710,
"y": 1400,
"wires": [
[
"03a1941ce253b3b9",
"68c658d3edbf677c"
]
]
},
{
"id": "03a1941ce253b3b9",
"type": "debug",
"z": "325e309897bf4538",
"name": "total energy data 3dprinter",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 790,
"y": 1340,
"wires": []
},
{
"id": "67657741888fde9e",
"type": "function",
"z": "325e309897bf4538",
"name": "parse power data",
"func": "return {\n payload: Number(msg.payload),\n topic: \"energy\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1520,
"wires": [
[
"c53493537ea6f7be"
]
]
},
{
"id": "4285ef3b1208e509",
"type": "function",
"z": "325e309897bf4538",
"name": "parse filename data",
"func": "return {\n payload: String(msg.payload),\n topic: \"filename\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1480,
"wires": [
[
"70b6224a4844669b"
]
]
},
{
"id": "9ac67ad3477863de",
"type": "function",
"z": "325e309897bf4538",
"name": "parse start time data",
"func": "return {\n payload: String(msg.payload),\n topic: \"starttime\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1400,
"wires": [
[
"70b6224a4844669b"
]
]
},
{
"id": "98d996ff21aa233a",
"type": "function",
"z": "325e309897bf4538",
"name": "parse end time data",
"func": "return {\n payload: String(msg.payload),\n topic: \"endtime\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1440,
"wires": [
[
"70b6224a4844669b"
]
]
},
{
"id": "68c658d3edbf677c",
"type": "influxdb out",
"z": "325e309897bf4538",
"influxdb": "d61a7da6caeb26aa",
"name": "energy2Influx",
"measurement": "totalEnergy",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "3dprinter",
"x": 820,
"y": 1460,
"wires": []
},
{
"id": "542cedacd11634a0",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/starttime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 1400,
"wires": [
[
"9ac67ad3477863de"
]
]
},
{
"id": "073af3328a03ced6",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/filename",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 1480,
"wires": [
[
"4285ef3b1208e509"
]
]
},
{
"id": "6ef8324a574f7fb8",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/endtime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 1440,
"wires": [
[
"98d996ff21aa233a"
]
]
},
{
"id": "1b85b9d5bddbdeeb",
"type": "mqtt in",
"z": "325e309897bf4538",
"name": "",
"topic": "inmachines/3dprinter/power",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 1520,
"wires": [
[
"67657741888fde9e"
]
]
},
{
"id": "1f71b44724013341",
"type": "function",
"z": "325e309897bf4538",
"name": "parse start time data",
"func": "return {\n payload: String(msg.payload),\n topic: \"starttime\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1660,
"wires": [
[
"cc1955fcad08f307"
]
]
},
{
"id": "ec5b4e4a5bfd740c",
"type": "function",
"z": "325e309897bf4538",
"name": "parse end time data",
"func": "return {\n payload: String(msg.payload),\n topic: \"endtime\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1700,
"wires": [
[
"cc1955fcad08f307"
]
]
},
{
"id": "f801ca46ae96ee13",
"type": "function",
"z": "325e309897bf4538",
"name": "parse filename data",
"func": "return {\n payload: String(msg.payload),\n topic: \"filename\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1740,
"wires": [
[
"cc1955fcad08f307"
]
]
},
{
"id": "457e27536f3374c3",
"type": "function",
"z": "325e309897bf4538",
"name": "parse filament data",
"func": "return {\n payload: Number(msg.payload.value),\n topic: \"filament\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1780,
"wires": [
[
"cc1955fcad08f307"
]
]
},
{
"id": "cc1955fcad08f307",
"type": "function",
"z": "325e309897bf4538",
"name": "Calculate Total Filament per Job in mm",
"func": "if (msg.topic == \"starttime\"){\n flow.set(\"energyVal\", 0);\n flow.set(\"starttime\", String(msg.payload));\n}\nelse if (msg.topic == \"filename\"){\n flow.set(\"filename\", msg.payload);\n}\nelse if (msg.topic == \"filament\"){\n var savedVal = flow.get(\"filamentVal\")||0;\n savedVal += Number(msg.payload);\n flow.set(\"filamentVal\", savedVal);\n}\nelse if (msg.topic == \"endtime\") {\n\n var filename = String(flow.get(\"filename\"));\n var totalFilament = Number(flow.get(\"filamentVal\"));\n var starttime = String(flow.get(\"starttime\"));\n var endtime = String(msg.payload);\n\n if (filename == \"\") endtime = \"\";\n\n flow.set(\"filamentVal\", 0);\n flow.set(\"filename\", \"\");\n flow.set(\"starttime\", \"\");\n \n if (filename != \"\"){\n return {\n payload: {\n filename: filename,\n totalFilament: totalFilament,\n starttime: starttime,\n endtime: endtime\n }\n }\n };\n}\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 760,
"y": 1660,
"wires": [
[
"2ce2d1777768561f",
"6df29c651de8a30f"
]
]
},
{
"id": "2ce2d1777768561f",
"type": "influxdb out",
"z": "325e309897bf4538",
"influxdb": "d61a7da6caeb26aa",
"name": "totalFilament2Influx",
"measurement": "totalFilament",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "3dprinter",
"x": 810,
"y": 1720,
"wires": []
},
{
"id": "6df29c651de8a30f",
"type": "debug",
"z": "325e309897bf4538",
"name": "total filament data 3dprinter",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 840,
"y": 1600,
"wires": []
},
{
"id": "03218742c3ad8813",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/power",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 160,
"y": 100,
"wires": [
[
"d5c6cec404621985"
]
]
},
{
"id": "d5c6cec404621985",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse power data",
"func": "var power = Number(msg.payload);\n\nif (power != 0) {\n return {\n payload: 25*power\n }\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 100,
"wires": [
[
"bc5a407d180795d6",
"717f97209a08d9e6"
]
]
},
{
"id": "bc5a407d180795d6",
"type": "debug",
"z": "47e5443dc1c29bcd",
"name": "power lasercutter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 730,
"y": 140,
"wires": []
},
{
"id": "717f97209a08d9e6",
"type": "influxdb out",
"z": "47e5443dc1c29bcd",
"influxdb": "d61a7da6caeb26aa",
"name": "power2Influx",
"measurement": "power",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "lasercutter",
"x": 710,
"y": 60,
"wires": []
},
{
"id": "de46b19aa31d7651",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/state",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 300,
"wires": [
[
"c744b426dfa65eb5"
]
]
},
{
"id": "c744b426dfa65eb5",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse state data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 300,
"wires": [
[
"efd7719d7decb1ea",
"2b6011429c5db2cf"
]
]
},
{
"id": "efd7719d7decb1ea",
"type": "debug",
"z": "47e5443dc1c29bcd",
"name": "state lasercutter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 720,
"y": 340,
"wires": []
},
{
"id": "2b6011429c5db2cf",
"type": "influxdb out",
"z": "47e5443dc1c29bcd",
"influxdb": "d61a7da6caeb26aa",
"name": "state2Influx",
"measurement": "state",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "lasercutter",
"x": 710,
"y": 260,
"wires": []
},
{
"id": "8526861fd9b04a1e",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/filename",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 160,
"y": 520,
"wires": [
[
"608cda03a9c0f11c"
]
]
},
{
"id": "608cda03a9c0f11c",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse filename data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 520,
"wires": [
[
"338d4cf095415f71",
"6a44d6248d307f2f"
]
]
},
{
"id": "338d4cf095415f71",
"type": "debug",
"z": "47e5443dc1c29bcd",
"name": "filename lasercutter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 730,
"y": 560,
"wires": []
},
{
"id": "6a44d6248d307f2f",
"type": "influxdb out",
"z": "47e5443dc1c29bcd",
"influxdb": "d61a7da6caeb26aa",
"name": "filename2Influx",
"measurement": "fileaname",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "lasercutter",
"x": 720,
"y": 480,
"wires": []
},
{
"id": "04a28afa6d1e805e",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/starttime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 720,
"wires": [
[
"fced75dd9147f098"
]
]
},
{
"id": "fced75dd9147f098",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse start time data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 720,
"wires": [
[
"77a78efc551054de",
"e8414361ec62c0fd"
]
]
},
{
"id": "77a78efc551054de",
"type": "debug",
"z": "47e5443dc1c29bcd",
"name": "starttime lasercutter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 710,
"y": 760,
"wires": []
},
{
"id": "e8414361ec62c0fd",
"type": "influxdb out",
"z": "47e5443dc1c29bcd",
"influxdb": "d61a7da6caeb26aa",
"name": "starttime2Influx",
"measurement": "starttime",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "lasercutter",
"x": 700,
"y": 680,
"wires": []
},
{
"id": "3090b2bebdaf9dc4",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/endtime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 920,
"wires": [
[
"1c4d7a829c5238f5"
]
]
},
{
"id": "1c4d7a829c5238f5",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse end time data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 920,
"wires": [
[
"b44d4302a407dd2b",
"dbfb1873d5556ab7"
]
]
},
{
"id": "b44d4302a407dd2b",
"type": "debug",
"z": "47e5443dc1c29bcd",
"name": "endtime lasercutter",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 710,
"y": 960,
"wires": []
},
{
"id": "dbfb1873d5556ab7",
"type": "influxdb out",
"z": "47e5443dc1c29bcd",
"influxdb": "d61a7da6caeb26aa",
"name": "endtime2Influx",
"measurement": "starttime",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "lasercutter",
"x": 700,
"y": 880,
"wires": []
},
{
"id": "9d7570569e826d67",
"type": "watt2kwh",
"z": "47e5443dc1c29bcd",
"format": "kwh",
"maximum": "5",
"maximumunit": "mins",
"name": "energy",
"x": 570,
"y": 1260,
"wires": [
[
"2a8f5b34aa7515dc"
]
]
},
{
"id": "2a8f5b34aa7515dc",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "Calculate Total Energy per Job in KWh",
"func": "if (msg.topic == \"starttime\"){\n flow.set(\"energyVal\", 0);\n flow.set(\"starttime\", String(msg.payload));\n}\nelse if (msg.topic == \"filename\"){\n flow.set(\"filename\", msg.payload);\n}\nelse if (msg.topic == \"energy\"){\n var savedVal = flow.get(\"energyVal\")||0;\n savedVal += Number(msg.payload);\n flow.set(\"energyVal\", savedVal);\n}\nelse if (msg.topic == \"endtime\") {\n\n var filename = String(flow.get(\"filename\"));\n var totalEnergy = Number(flow.get(\"energyVal\"));\n var starttime = String(flow.get(\"starttime\"));\n var endtime = String(msg.payload);\n\n if (filename == \"\") endtime = \"\";\n\n flow.set(\"energyVal\", 0);\n flow.set(\"filename\", \"\");\n flow.set(\"starttime\", \"\");\n \n if (filename != \"\"){\n return {\n payload: {\n filename: filename,\n totalEnergy: totalEnergy,\n starttime: starttime,\n endtime: endtime\n }\n }\n };\n}\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 710,
"y": 1140,
"wires": [
[
"17442662acc3cc61",
"a18f6f9a24ea9144"
]
]
},
{
"id": "17442662acc3cc61",
"type": "debug",
"z": "47e5443dc1c29bcd",
"name": "total energy data lasercutter",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 800,
"y": 1080,
"wires": []
},
{
"id": "ef92d9755a6cee93",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/power",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 160,
"y": 1260,
"wires": [
[
"168fb8d5dd594bf7"
]
]
},
{
"id": "137b0ca0a7dd2b65",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/filename",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 1220,
"wires": [
[
"2e896c2ae1ba2354"
]
]
},
{
"id": "7cedd8b637dc1ff5",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/starttime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 1140,
"wires": [
[
"74f85843b62cb4e5"
]
]
},
{
"id": "0d6281f5484dc85f",
"type": "mqtt in",
"z": "47e5443dc1c29bcd",
"name": "",
"topic": "inmachines/lasercutter/endtime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 1180,
"wires": [
[
"a9fccfc5db812bc1"
]
]
},
{
"id": "168fb8d5dd594bf7",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse power data",
"func": "return {\n payload: Number(msg.payload) * 12,\n topic: \"energy\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1260,
"wires": [
[
"9d7570569e826d67"
]
]
},
{
"id": "2e896c2ae1ba2354",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse filename data",
"func": "return {\n payload: String(msg.payload),\n topic: \"filename\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1220,
"wires": [
[
"2a8f5b34aa7515dc"
]
]
},
{
"id": "74f85843b62cb4e5",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse start time data",
"func": "return {\n payload: String(msg.payload),\n topic: \"starttime\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1140,
"wires": [
[
"2a8f5b34aa7515dc"
]
]
},
{
"id": "a9fccfc5db812bc1",
"type": "function",
"z": "47e5443dc1c29bcd",
"name": "parse end time data",
"func": "return {\n payload: String(msg.payload),\n topic: \"endtime\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1180,
"wires": [
[
"2a8f5b34aa7515dc"
]
]
},
{
"id": "a18f6f9a24ea9144",
"type": "influxdb out",
"z": "47e5443dc1c29bcd",
"influxdb": "d61a7da6caeb26aa",
"name": "energy2Influx",
"measurement": "totalEnergy",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "lasercutter",
"x": 820,
"y": 1200,
"wires": []
},
{
"id": "638c6ded649c614b",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/power",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 160,
"y": 100,
"wires": [
[
"10cf598593d1c733"
]
]
},
{
"id": "10cf598593d1c733",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse power data",
"func": "var power = Number(msg.payload);\n\nif (power != 0) {\n return {\n payload: 15*power\n }\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 100,
"wires": [
[
"0786982790db5744",
"c7fb8cedc139159b"
]
]
},
{
"id": "c7fb8cedc139159b",
"type": "debug",
"z": "8ef0902d5920bef2",
"name": "power cnc",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 710,
"y": 140,
"wires": []
},
{
"id": "0786982790db5744",
"type": "influxdb out",
"z": "8ef0902d5920bef2",
"influxdb": "d61a7da6caeb26aa",
"name": "power2Influx",
"measurement": "power",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "cnc",
"x": 710,
"y": 60,
"wires": []
},
{
"id": "98b5ad128b01848f",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/state",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 300,
"wires": [
[
"53e884adebc7c2b6"
]
]
},
{
"id": "53e884adebc7c2b6",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse state data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 300,
"wires": [
[
"9e773dd4015689eb",
"ef7d6e2d40f1aa5f"
]
]
},
{
"id": "9e773dd4015689eb",
"type": "debug",
"z": "8ef0902d5920bef2",
"name": "state cnc",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 700,
"y": 340,
"wires": []
},
{
"id": "ef7d6e2d40f1aa5f",
"type": "influxdb out",
"z": "8ef0902d5920bef2",
"influxdb": "d61a7da6caeb26aa",
"name": "state2Influx",
"measurement": "state",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "cnc",
"x": 710,
"y": 260,
"wires": []
},
{
"id": "7bd4b1807e47ee1d",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/filename",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 160,
"y": 520,
"wires": [
[
"cb768f2f0da63c93"
]
]
},
{
"id": "cb768f2f0da63c93",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse filename data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 520,
"wires": [
[
"cb4c266a29ef1440",
"1cc4882458d1f319"
]
]
},
{
"id": "cb4c266a29ef1440",
"type": "debug",
"z": "8ef0902d5920bef2",
"name": "filename cnc",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 710,
"y": 560,
"wires": []
},
{
"id": "1cc4882458d1f319",
"type": "influxdb out",
"z": "8ef0902d5920bef2",
"influxdb": "d61a7da6caeb26aa",
"name": "filename2Influx",
"measurement": "fileaname",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "cnc",
"x": 720,
"y": 480,
"wires": []
},
{
"id": "885cd93aa8f7ef38",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/starttime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 720,
"wires": [
[
"2257476829ab9742"
]
]
},
{
"id": "2257476829ab9742",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse start time data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 720,
"wires": [
[
"217def6e60f47b93",
"6d5919e96c3906fd"
]
]
},
{
"id": "217def6e60f47b93",
"type": "debug",
"z": "8ef0902d5920bef2",
"name": "starttime cnc",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 690,
"y": 760,
"wires": []
},
{
"id": "6d5919e96c3906fd",
"type": "influxdb out",
"z": "8ef0902d5920bef2",
"influxdb": "d61a7da6caeb26aa",
"name": "starttime2Influx",
"measurement": "starttime",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "cnc",
"x": 700,
"y": 680,
"wires": []
},
{
"id": "2293ee44337863a9",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/endtime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 140,
"y": 920,
"wires": [
[
"8e5574ad90cc3b10"
]
]
},
{
"id": "8e5574ad90cc3b10",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse end time data",
"func": "return {\n payload: String(msg.payload)\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 920,
"wires": [
[
"25d21239196d7faa",
"28113e349797c645"
]
]
},
{
"id": "25d21239196d7faa",
"type": "debug",
"z": "8ef0902d5920bef2",
"name": "endtime cnc",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 690,
"y": 960,
"wires": []
},
{
"id": "28113e349797c645",
"type": "influxdb out",
"z": "8ef0902d5920bef2",
"influxdb": "d61a7da6caeb26aa",
"name": "endtime2Influx",
"measurement": "starttime",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "cnc",
"x": 700,
"y": 880,
"wires": []
},
{
"id": "b0a15edf8fe83d66",
"type": "watt2kwh",
"z": "8ef0902d5920bef2",
"format": "kwh",
"maximum": "5",
"maximumunit": "mins",
"name": "energy",
"x": 570,
"y": 1340,
"wires": [
[
"8fcc98c839a1453f"
]
]
},
{
"id": "8fcc98c839a1453f",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "Calculate Total Energy per Job in KWh",
"func": "if (msg.topic == \"starttime\"){\n flow.set(\"energyVal\", 0);\n flow.set(\"starttime\", String(msg.payload));\n}\nelse if (msg.topic == \"filename\"){\n flow.set(\"filename\", msg.payload);\n}\nelse if (msg.topic == \"energy\"){\n var savedVal = flow.get(\"energyVal\")||0;\n savedVal += Number(msg.payload);\n flow.set(\"energyVal\", savedVal);\n}\nelse if (msg.topic == \"endtime\") {\n\n var filename = String(flow.get(\"filename\"));\n var totalEnergy = Number(flow.get(\"energyVal\"));\n var starttime = String(flow.get(\"starttime\"));\n var endtime = String(msg.payload);\n\n if (filename == \"\") endtime = \"\";\n\n flow.set(\"energyVal\", 0);\n flow.set(\"filename\", \"\");\n flow.set(\"starttime\", \"\");\n \n if (filename != \"\"){\n return {\n payload: {\n filename: filename,\n totalEnergy: totalEnergy,\n starttime: starttime,\n endtime: endtime\n }\n }\n };\n}\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 750,
"y": 1220,
"wires": [
[
"9eab0627c1031cf2",
"082316617296f409"
]
]
},
{
"id": "9eab0627c1031cf2",
"type": "debug",
"z": "8ef0902d5920bef2",
"name": "total energy data cnc",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 820,
"y": 1160,
"wires": []
},
{
"id": "082316617296f409",
"type": "influxdb out",
"z": "8ef0902d5920bef2",
"influxdb": "d61a7da6caeb26aa",
"name": "energy2Influx",
"measurement": "totalEnergy",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "cnc",
"x": 900,
"y": 1280,
"wires": []
},
{
"id": "96f6eaa5c9904074",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/power",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 180,
"y": 1340,
"wires": [
[
"0d0ec5e5d29889ce"
]
]
},
{
"id": "4c227772c7eca826",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/filename",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 170,
"y": 1300,
"wires": [
[
"bcc39f1191b7d553"
]
]
},
{
"id": "4011677e0ba8e6b1",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/starttime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 170,
"y": 1220,
"wires": [
[
"6b42430ab3b72380"
]
]
},
{
"id": "311050b52addd82f",
"type": "mqtt in",
"z": "8ef0902d5920bef2",
"name": "",
"topic": "inmachines/cnc/endtime",
"qos": "2",
"datatype": "auto-detect",
"broker": "7ce136dbb8c897d1",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 170,
"y": 1260,
"wires": [
[
"e7a627de85bde4b5"
]
]
},
{
"id": "0d0ec5e5d29889ce",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse power data",
"func": "return {\n payload: Number(msg.payload),\n topic: \"energy\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1340,
"wires": [
[
"b0a15edf8fe83d66"
]
]
},
{
"id": "bcc39f1191b7d553",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse filename data",
"func": "return {\n payload: String(msg.payload),\n topic: \"filename\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 1300,
"wires": [
[
"8fcc98c839a1453f"
]
]
},
{
"id": "6b42430ab3b72380",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse start time data",
"func": "return {\n payload: String(msg.payload),\n topic: \"starttime\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1220,
"wires": [
[
"8fcc98c839a1453f"
]
]
},
{
"id": "e7a627de85bde4b5",
"type": "function",
"z": "8ef0902d5920bef2",
"name": "parse end time data",
"func": "return {\n payload: String(msg.payload),\n topic: \"endtime\"\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 420,
"y": 1260,
"wires": [
[
"8fcc98c839a1453f"
]
]
},
{
"id": "d62baedc.ded46",
"type": "debug",
"z": "306896b1c1761662",
"name": "",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 690,
"y": 120,
"wires": []
},
{
"id": "74280b50.f704a4",
"type": "inject",
"z": "306896b1c1761662",
"name": "1 kW feed",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "10",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "1000",
"payloadType": "str",
"x": 370,
"y": 120,
"wires": [
[
"5eb66b22.1a4de4"
]
]
},
{
"id": "5eb66b22.1a4de4",
"type": "watt2kwh",
"z": "306896b1c1761662",
"format": "kwh",
"maximum": "5",
"maximumunit": "mins",
"name": "",
"x": 530,
"y": 120,
"wires": [
[
"d62baedc.ded46"
]
]
},
{
"id": "0a53eaae9809ca5d",
"type": "inject",
"z": "306896b1c1761662",
"name": "1 kW feed",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "energy",
"payload": "100",
"payloadType": "str",
"x": 340,
"y": 740,
"wires": [
[
"b8a15b474b58d57e"
]
]
},
{
"id": "b8a15b474b58d57e",
"type": "watt2kwh",
"z": "306896b1c1761662",
"format": "kwh",
"maximum": "5",
"maximumunit": "mins",
"name": "energy",
"x": 490,
"y": 740,
"wires": [
[
"49376315951ce5fa",
"ec96c9fe97b07be6",
"566d67059f548be9"
]
]
},
{
"id": "49376315951ce5fa",
"type": "function",
"z": "306896b1c1761662",
"name": "Store kwh",
"func": "if (msg.topic == \"starttime\"){\n flow.set(\"energyVal\", 0);\n flow.set(\"starttime\", String(msg.payload));\n}\nelse if (msg.topic == \"filename\"){\n flow.set(\"filename\", msg.payload);\n}\nelse if (msg.topic == \"energy\"){\n var savedVal = flow.get(\"energyVal\")||0;\n savedVal += Number(msg.payload);\n flow.set(\"energyVal\", savedVal);\n}\nelse if (msg.topic == \"endtime\") {\n\n var filename = String(flow.get(\"filename\"));\n var totalEnergy = Number(flow.get(\"energyVal\"));\n var starttime = String(flow.get(\"starttime\"));\n var endtime = String(msg.payload);\n\n if (filename == \"\") endtime = \"\";\n\n flow.set(\"energyVal\", 0);\n flow.set(\"filename\", \"\");\n flow.set(\"starttime\", \"\");\n \n if (filename != \"\"){\n return {\n payload: {\n filename: filename,\n totalEnergy: totalEnergy,\n starttime: starttime,\n endtime: endtime\n }\n }\n };\n}\n\n\n\n\n// var inputVal = msg.payload;\n// return {\n// payload: Number(inputVal)\n// }\n// if (inputVal == \"reset\"){\n// flow.set(\"energyVal\",0); \n// } \n// else {\n// var savedVal = flow.get('energyVal')||0;\n// savedVal += inputVal;\n// flow.set(\"energyVal\",savedVal);\n// msg.payload = savedVal;\n// return msg;\n// }",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 680,
"y": 500,
"wires": [
[
"429b6abaf0a24b24"
]
]
},
{
"id": "429b6abaf0a24b24",
"type": "debug",
"z": "306896b1c1761662",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"x": 830,
"y": 500,
"wires": []
},
{
"id": "a22c25030b9db89c",
"type": "inject",
"z": "306896b1c1761662",
"name": "starttime",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "starttime",
"payload": "",
"payloadType": "date",
"x": 340,
"y": 320,
"wires": [
[
"49376315951ce5fa",
"4e0ba29caa8ba379",
"9b027270db41cce4"
]
]
},
{
"id": "205d111a44376ad3",
"type": "inject",
"z": "306896b1c1761662",
"name": "endtime",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "endtime",
"payload": "",
"payloadType": "date",
"x": 320,
"y": 460,
"wires": [
[
"49376315951ce5fa",
"066026e31d385e24",
"b18e4570d774eeb7"
]
]
},
{
"id": "e467f8636f87a598",
"type": "inject",
"z": "306896b1c1761662",
"name": "filename",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "filename",
"payload": "test.gcode",
"payloadType": "str",
"x": 340,
"y": 600,
"wires": [
[
"49376315951ce5fa",
"0cb3904156cccc89",
"f4618e8839ee98c9"
]
]
},
{
"id": "ec96c9fe97b07be6",
"type": "debug",
"z": "306896b1c1761662",
"name": "energy payload",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 360,
"y": 780,
"wires": []
},
{
"id": "4e0ba29caa8ba379",
"type": "debug",
"z": "306896b1c1761662",
"name": "starttime payload",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 350,
"y": 360,
"wires": []
},
{
"id": "066026e31d385e24",
"type": "debug",
"z": "306896b1c1761662",
"name": "endtime payload",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 350,
"y": 500,
"wires": []
},
{
"id": "0cb3904156cccc89",
"type": "debug",
"z": "306896b1c1761662",
"name": "filename payload",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 350,
"y": 640,
"wires": []
},
{
"id": "9b027270db41cce4",
"type": "debug",
"z": "306896b1c1761662",
"name": "starttime topic",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "topic",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 340,
"y": 400,
"wires": []
},
{
"id": "566d67059f548be9",
"type": "debug",
"z": "306896b1c1761662",
"name": "energy topic",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "topic",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 350,
"y": 820,
"wires": []
},
{
"id": "f4618e8839ee98c9",
"type": "debug",
"z": "306896b1c1761662",
"name": "filename topic",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "topic",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 340,
"y": 680,
"wires": []
},
{
"id": "b18e4570d774eeb7",
"type": "debug",
"z": "306896b1c1761662",
"name": "endtime topic",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "topic",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 340,
"y": 540,
"wires": []
},
{
"id": "09892d432d23febd",
"type": "inject",
"z": "306896b1c1761662",
"name": "1 kW feed",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "energy",
"payload": "100",
"payloadType": "str",
"x": 320,
"y": 1120,
"wires": [
[
"ea9bcaa0f0ec0b94"
]
]
},
{
"id": "ea9bcaa0f0ec0b94",
"type": "watt2kwh",
"z": "306896b1c1761662",
"format": "kwh",
"maximum": "5",
"maximumunit": "mins",
"name": "energy",
"x": 470,
"y": 1120,
"wires": [
[
"cfde7a2beb7bd7b1"
]
]
},
{
"id": "cfde7a2beb7bd7b1",
"type": "function",
"z": "306896b1c1761662",
"name": "Store kwh",
"func": "if (msg.topic == \"starttime\"){\n flow.set(\"energyVal\", 0);\n flow.set(\"starttime\", String(msg.payload));\n}\nelse if (msg.topic == \"filename\"){\n flow.set(\"filename\", msg.payload);\n}\nelse if (msg.topic == \"energy\"){\n var savedVal = flow.get(\"energyVal\")||0;\n savedVal += Number(msg.payload);\n flow.set(\"energyVal\", savedVal);\n}\nelse if (msg.topic == \"endtime\") {\n\n var filename = String(flow.get(\"filename\"));\n var totalEnergy = Number(flow.get(\"energyVal\"));\n var starttime = String(flow.get(\"starttime\"));\n var endtime = String(msg.payload);\n\n if (filename == \"\") endtime = \"\";\n\n flow.set(\"energyVal\", 0);\n flow.set(\"filename\", \"\");\n flow.set(\"starttime\", \"\");\n \n if (filename != \"\"){\n return {\n payload: {\n filename: filename,\n totalEnergy: totalEnergy,\n starttime: starttime,\n endtime: endtime\n }\n }\n };\n}\n\n\n\n\n// var inputVal = msg.payload;\n// return {\n// payload: Number(inputVal)\n// }\n// if (inputVal == \"reset\"){\n// flow.set(\"energyVal\",0); \n// } \n// else {\n// var savedVal = flow.get('energyVal')||0;\n// savedVal += inputVal;\n// flow.set(\"energyVal\",savedVal);\n// msg.payload = savedVal;\n// return msg;\n// }",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 660,
"y": 1060,
"wires": [
[
"6279be3cba18b520",
"7ba6782b58c6f6f9"
]
]
},
{
"id": "6279be3cba18b520",
"type": "debug",
"z": "306896b1c1761662",
"name": "total energy data",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 830,
"y": 1000,
"wires": []
},
{
"id": "2d61f4f33de55817",
"type": "inject",
"z": "306896b1c1761662",
"name": "starttime",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "starttime",
"payload": "",
"payloadType": "date",
"x": 460,
"y": 1000,
"wires": [
[
"cfde7a2beb7bd7b1"
]
]
},
{
"id": "a021859dc895ce1c",
"type": "inject",
"z": "306896b1c1761662",
"name": "endtime",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "endtime",
"payload": "",
"payloadType": "date",
"x": 460,
"y": 1040,
"wires": [
[
"cfde7a2beb7bd7b1"
]
]
},
{
"id": "7aa25b20b1aba7e7",
"type": "inject",
"z": "306896b1c1761662",
"name": "filename",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "filename",
"payload": "test.gcode",
"payloadType": "str",
"x": 460,
"y": 1080,
"wires": [
[
"cfde7a2beb7bd7b1"
]
]
},
{
"id": "7ba6782b58c6f6f9",
"type": "influxdb out",
"z": "306896b1c1761662",
"influxdb": "d61a7da6caeb26aa",
"name": "energy2Influx",
"measurement": "energy",
"precision": "",
"retentionPolicy": "",
"database": "database",
"precisionV18FluxV20": "ms",
"retentionPolicyV18Flux": "",
"org": "Curious Community Labs",
"bucket": "cnc",
"x": 840,
"y": 1060,
"wires": []
}
]