889 lines
23 KiB
JSON
889 lines
23 KiB
JSON
[
|
|
{
|
|
"id": "6d543cb4.ed3084",
|
|
"type": "tab",
|
|
"label": "Kraken Trading",
|
|
"disabled": false,
|
|
"info": ""
|
|
},
|
|
{
|
|
"id": "d8e8a587.a39408",
|
|
"type": "tab",
|
|
"label": "HTML Queries",
|
|
"disabled": false,
|
|
"info": ""
|
|
},
|
|
{
|
|
"id": "af98615f.cf9ce",
|
|
"type": "subflow",
|
|
"name": "DB Data to HTML Table",
|
|
"info": "",
|
|
"category": "",
|
|
"in": [
|
|
{
|
|
"x": 20,
|
|
"y": 80,
|
|
"wires": [
|
|
{
|
|
"id": "3ff8fa1b.3148f6"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"out": [
|
|
{
|
|
"x": 320,
|
|
"y": 240,
|
|
"wires": [
|
|
{
|
|
"id": "71b8fd74.2d9404",
|
|
"port": 0
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"env": [],
|
|
"color": "#DDAA99"
|
|
},
|
|
{
|
|
"id": "42702610.230028",
|
|
"type": "kraken-credentials",
|
|
"z": "",
|
|
"name": "DFLT"
|
|
},
|
|
{
|
|
"id": "c0dcbde0.3085",
|
|
"type": "sqlitedb",
|
|
"z": "",
|
|
"db": "KrakenTradingDB.sqlite3",
|
|
"mode": "RW"
|
|
},
|
|
{
|
|
"id": "4378beea.a2c7f",
|
|
"type": "sqlitedb",
|
|
"z": "",
|
|
"db": "KrakenTradingDB.sqlite3",
|
|
"mode": "RWC"
|
|
},
|
|
{
|
|
"id": "b8c92875.131c58",
|
|
"type": "get-server-time",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"x": 310,
|
|
"y": 240,
|
|
"wires": [
|
|
[
|
|
"63e56415.01466c"
|
|
],
|
|
[
|
|
"1637654a.83336b"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "d11eed52.456ac",
|
|
"type": "inject",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"x": 120,
|
|
"y": 240,
|
|
"wires": [
|
|
[
|
|
"b8c92875.131c58"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "63e56415.01466c",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "false",
|
|
"x": 550,
|
|
"y": 220,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "1637654a.83336b",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "false",
|
|
"x": 560,
|
|
"y": 320,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "978bdbc5.1c3508",
|
|
"type": "get-account-balance",
|
|
"z": "6d543cb4.ed3084",
|
|
"kraken": "42702610.230028",
|
|
"name": "",
|
|
"x": 340,
|
|
"y": 480,
|
|
"wires": [
|
|
[
|
|
"5fd28dbd.7d1504"
|
|
],
|
|
[
|
|
"8d9b208b.f68a7"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "5fd28dbd.7d1504",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Kraken-Balance",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 600,
|
|
"y": 460,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "8d9b208b.f68a7",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Kraken Balance ERROR",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 630,
|
|
"y": 540,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "586b4d14.eca6f4",
|
|
"type": "inject",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"repeat": "18000",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"x": 130,
|
|
"y": 480,
|
|
"wires": [
|
|
[
|
|
"978bdbc5.1c3508"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "a669c08c.d0185",
|
|
"type": "sqlite",
|
|
"z": "6d543cb4.ed3084",
|
|
"mydb": "c0dcbde0.3085",
|
|
"sqlquery": "msg.topic",
|
|
"sql": "",
|
|
"name": "",
|
|
"x": 890,
|
|
"y": 720,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "4f94e60f.4d3838",
|
|
"type": "function",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Build Insert Statement",
|
|
"func": "msg.topic=\"Insert into KrakenQuotes (Symbol,Data) values ('XETCZUSD','\" + JSON.stringify(msg.payload.XETCZUSD) + \"');\"\nreturn msg;",
|
|
"outputs": 1,
|
|
"noerr": 0,
|
|
"x": 600,
|
|
"y": 760,
|
|
"wires": [
|
|
[
|
|
"853572da.0b0bf",
|
|
"a669c08c.d0185"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "853572da.0b0bf",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"active": false,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"x": 830,
|
|
"y": 780,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "b6c88df3.41573",
|
|
"type": "get-ticker-information",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"x": 350,
|
|
"y": 1040,
|
|
"wires": [
|
|
[
|
|
"8f27b1c3.3277e",
|
|
"1a447d86.305162",
|
|
"4f94e60f.4d3838"
|
|
],
|
|
[
|
|
"57c6ead4.4943d4"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "b131c158.9b6e5",
|
|
"type": "inject",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"topic": "",
|
|
"payload": "{\"pair\":\"XETCZUSD\"}",
|
|
"payloadType": "json",
|
|
"repeat": "60",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"x": 160,
|
|
"y": 1040,
|
|
"wires": [
|
|
[
|
|
"b6c88df3.41573"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "8f27b1c3.3277e",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"active": false,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "false",
|
|
"x": 590,
|
|
"y": 880,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "57c6ead4.4943d4",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Ticker Retrieval Error",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 510,
|
|
"y": 1100,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "1a447d86.305162",
|
|
"type": "switch",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Initialization Needed?",
|
|
"property": "lastExecPrice",
|
|
"propertyType": "flow",
|
|
"rules": [
|
|
{
|
|
"t": "null"
|
|
},
|
|
{
|
|
"t": "else"
|
|
}
|
|
],
|
|
"checkall": "true",
|
|
"repair": false,
|
|
"outputs": 2,
|
|
"x": 560,
|
|
"y": 1020,
|
|
"wires": [
|
|
[
|
|
"b14715f9.da01b8"
|
|
],
|
|
[
|
|
"746dd800.489408",
|
|
"3fcb4bfe.6d4b84"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "b14715f9.da01b8",
|
|
"type": "change",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "lastExecPrice",
|
|
"pt": "flow",
|
|
"to": "payload.XETCZUSD.a[0]",
|
|
"tot": "msg"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "maxVolume",
|
|
"pt": "flow",
|
|
"to": "10",
|
|
"tot": "num"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "minVolume",
|
|
"pt": "flow",
|
|
"to": "0",
|
|
"tot": "num"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "currVolume",
|
|
"pt": "flow",
|
|
"to": "0",
|
|
"tot": "num"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "delta",
|
|
"pt": "flow",
|
|
"to": "0.1",
|
|
"tot": "num"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "grosBalance",
|
|
"pt": "flow",
|
|
"to": "0",
|
|
"tot": "num"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "commission",
|
|
"pt": "flow",
|
|
"to": "0",
|
|
"tot": "num"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "acctBalance",
|
|
"pt": "flow",
|
|
"to": "100",
|
|
"tot": "num"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 840,
|
|
"y": 960,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "713645b4.f9ba7c",
|
|
"type": "switch",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Action",
|
|
"property": "action",
|
|
"propertyType": "msg",
|
|
"rules": [
|
|
{
|
|
"t": "eq",
|
|
"v": "sell",
|
|
"vt": "str"
|
|
},
|
|
{
|
|
"t": "eq",
|
|
"v": "buy",
|
|
"vt": "str"
|
|
},
|
|
{
|
|
"t": "else"
|
|
}
|
|
],
|
|
"checkall": "true",
|
|
"repair": false,
|
|
"outputs": 3,
|
|
"x": 1050,
|
|
"y": 1100,
|
|
"wires": [
|
|
[
|
|
"8fc8be9f.e3552",
|
|
"894f2795.914b38"
|
|
],
|
|
[
|
|
"9073f8dd.8a8558",
|
|
"e961895.42ab678"
|
|
],
|
|
[
|
|
"1bc0ea09.db8676"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "8fc8be9f.e3552",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "gt (Sell)",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"x": 1400,
|
|
"y": 1020,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "9073f8dd.8a8558",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "lt (buy)",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"x": 1400,
|
|
"y": 1100,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "1bc0ea09.db8676",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "small",
|
|
"active": false,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 1370,
|
|
"y": 1240,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "746dd800.489408",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"active": false,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "{\"le\":$flowContext('lastExecPrice'),\"cp\":payload.XETCZUSD.a[0] }",
|
|
"targetType": "jsonata",
|
|
"x": 760,
|
|
"y": 1180,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "37af9cb0.cd7d74",
|
|
"type": "inject",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "",
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"x": 660,
|
|
"y": 940,
|
|
"wires": [
|
|
[
|
|
"b14715f9.da01b8"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "894f2795.914b38",
|
|
"type": "switch",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "MinReached?",
|
|
"property": "currVolume",
|
|
"propertyType": "flow",
|
|
"rules": [
|
|
{
|
|
"t": "gt",
|
|
"v": "minVolume",
|
|
"vt": "flow"
|
|
},
|
|
{
|
|
"t": "else"
|
|
}
|
|
],
|
|
"checkall": "true",
|
|
"repair": false,
|
|
"outputs": 2,
|
|
"x": 1500,
|
|
"y": 1060,
|
|
"wires": [
|
|
[
|
|
"db4dcb29.89cd38",
|
|
"7a524b14.ab2ea4"
|
|
],
|
|
[
|
|
"c6b046f0.da94b8",
|
|
"10898ef6.fab381"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "c6b046f0.da94b8",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Not Selling, min Volume reached.",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 1800,
|
|
"y": 1100,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "db4dcb29.89cd38",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "SELLING!",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 1730,
|
|
"y": 1020,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "9ff35104.7db0d",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "BUYING!",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 1710,
|
|
"y": 1180,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "e961895.42ab678",
|
|
"type": "switch",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "MaxReached?",
|
|
"property": "currVolume",
|
|
"propertyType": "flow",
|
|
"rules": [
|
|
{
|
|
"t": "lt",
|
|
"v": "maxVolume",
|
|
"vt": "flow"
|
|
},
|
|
{
|
|
"t": "else"
|
|
}
|
|
],
|
|
"checkall": "true",
|
|
"repair": false,
|
|
"outputs": 2,
|
|
"x": 1500,
|
|
"y": 1200,
|
|
"wires": [
|
|
[
|
|
"9ff35104.7db0d",
|
|
"11de6ea9.7cbab1"
|
|
],
|
|
[
|
|
"cf8bb8be.0de778",
|
|
"b1857f61.f3b9a"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "cf8bb8be.0de778",
|
|
"type": "debug",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Not buying, max Volume reached.",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 1790,
|
|
"y": 1260,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "3fcb4bfe.6d4b84",
|
|
"type": "function",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "Determine Action",
|
|
"func": "//$number(payload.XETCZUSD.a[0]) - $number($flowContext('lastExecPrice'))\n\nconst delta=flow.get('delta'); // how much price move to take action?\nlet askPrice=msg.payload.XETCZUSD.a[0];\nlet bidPrice=msg.payload.XETCZUSD.b[0];\nlet lastExecPrice=flow.get('lastExecPrice');\n\nmsg.lastExecPrice=lastExecPrice;\n\nif (bidPrice>lastExecPrice+delta) {\n msg.action=\"sell\";\n msg.price=bidPrice;\n} else if (askPrice<lastExecPrice-delta) {\n msg.action=\"buy\";\n msg.price=askPrice;\n} else {\n msg.action=\"nothing\";\n}\n\nreturn msg;",
|
|
"outputs": 1,
|
|
"noerr": 0,
|
|
"x": 890,
|
|
"y": 1100,
|
|
"wires": [
|
|
[
|
|
"713645b4.f9ba7c"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "7a524b14.ab2ea4",
|
|
"type": "function",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "SellAction",
|
|
"func": "let commission = flow.get('commission');\nlet grosBalance = flow.get('grosBalance');\nlet acctBalance = flow.get('acctBalance');\nlet delta = flow.get('delta');\n\nlet sellPrice = Number(msg.payload.XETCZUSD.b[0]);\n\ncommission += sellPrice*0.0026;\ngrosBalance -= 1;\nacctBalance += sellPrice;\n\nflow.set('commission',commission);\nflow.set('grosBalance',grosBalance);\nflow.set('acctBalance',acctBalance);\n\nflow.set('lastExecPrice',sellPrice);\nflow.set('currVolume',flow.get('currVolume')-1);\n\nreturn msg;",
|
|
"outputs": 1,
|
|
"noerr": 0,
|
|
"x": 1710,
|
|
"y": 980,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "11de6ea9.7cbab1",
|
|
"type": "function",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "BuyAction",
|
|
"func": "let commission = flow.get('commission');\nlet grosBalance = flow.get('grosBalance');\nlet acctBalance = flow.get('acctBalance');\nlet delta = flow.get('delta');\n\nlet buyPrice = Number(msg.payload.XETCZUSD.a[0]);\n\ncommission += buyPrice*0.0026;\ngrosBalance += 1;\nacctBalance -= buyPrice;\n\nflow.set('commission',commission);\nflow.set('grosBalance',grosBalance);\nflow.set('acctBalance',acctBalance);\n\nflow.set('lastExecPrice',buyPrice);\nflow.set('currVolume',flow.get('currVolume')+1);\n\nreturn msg;",
|
|
"outputs": 1,
|
|
"noerr": 0,
|
|
"x": 1700,
|
|
"y": 1140,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "10898ef6.fab381",
|
|
"type": "function",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "NoSellAction",
|
|
"func": "let sellPrice = Number(msg.payload.XETCZUSD.b[0]);\n\nflow.set('lastExecPrice',sellPrice);\n\nreturn msg;",
|
|
"outputs": 1,
|
|
"noerr": 0,
|
|
"x": 1730,
|
|
"y": 1060,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "b1857f61.f3b9a",
|
|
"type": "function",
|
|
"z": "6d543cb4.ed3084",
|
|
"name": "NoBuyAction",
|
|
"func": "let buyPrice = Number(msg.payload.XETCZUSD.a[0]);\n\nflow.set('lastExecPrice',sellPrice);\n\nreturn msg;",
|
|
"outputs": 1,
|
|
"noerr": 0,
|
|
"x": 1710,
|
|
"y": 1220,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "71b8fd74.2d9404",
|
|
"type": "template",
|
|
"z": "af98615f.cf9ce",
|
|
"name": "HTML",
|
|
"field": "payload",
|
|
"fieldType": "msg",
|
|
"format": "handlebars",
|
|
"syntax": "mustache",
|
|
"template": "<html>\n <head>\n <title>{{payload.title}}</title>\n <style>{{payload.style}}</style>\n </head>\n<body>\n<table border='1'>\n <tr>\n {{#payload.header}}\n <th>{{.}}</th>\n {{/payload.header}}\n </tr>\n {{#payload.data}}\n <tr>\n {{#.}}\n <td><pre>{{.}}</pre></td>\n {{/.}}\n </tr>\n {{/payload.data}}\n</table>\n</body>\n</html>",
|
|
"output": "str",
|
|
"x": 190,
|
|
"y": 240,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "3ff8fa1b.3148f6",
|
|
"type": "function",
|
|
"z": "af98615f.cf9ce",
|
|
"name": "JSON Obj -> Array split Header and Data",
|
|
"func": "function toArray(json_data){\n for(var i in json_data)\n result.push([i, json_data [i]]);\n}\n\nfunction getHeader(json_data){\n let keys=Object.keys(json_data);\n return keys;\n}\n\nlet pl=msg.payload;\ndelete msg.payload;\n\nmsg.payload={};\nmsg.payload.header=[];\nmsg.payload.data=[];\nmsg.payload.title=msg.title;\n\nlet y=[];\nfor(var i in pl) {\n if (i==1) {\n msg.payload.header=getHeader(pl[i]);\n }\n let x=[];\n for (var j in pl[i]){\n x.push(pl[i][j]);\n }\n y.push(x);\n}\n\nmsg.payload.data=y;\n\nreturn msg;",
|
|
"outputs": 1,
|
|
"noerr": 0,
|
|
"x": 260,
|
|
"y": 80,
|
|
"wires": [
|
|
[
|
|
"325628f8.f9bb48"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "325628f8.f9bb48",
|
|
"type": "template",
|
|
"z": "af98615f.cf9ce",
|
|
"name": "CSS",
|
|
"field": "payload.style",
|
|
"fieldType": "msg",
|
|
"format": "handlebars",
|
|
"syntax": "mustache",
|
|
"template": "html,\nbody {\n height: 100%;\n}\nbody {\n margin: 0;\n background: #222222;\n font-family: sans-serif;\n font-weight: 100;\n}\n.container {\n position: absolute;\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n}\ntable {\n width: 800px;\n border-collapse: collapse;\n overflow: hidden;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);\n}\ntd {\n padding: 0px;\n background-color: rgba(255, 255, 255, 0.2);\n color: #ffffff;\n text-align: left;\n}\npre {\n margin: 0;\n text-align: left;\n}\nth {\n background-color: #27206f;\n color: yellow;\n}\ntbody tr:hover {\n background-color: rgba(255, 255, 255, 0.3);\n}\ntbody td {\n position: relative;\n}\ntbody td:hover:before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: -9999px;\n bottom: -9999px;\n background-color: rgba(255, 255, 255, 0.2);\n z-index: -1;\n}\n",
|
|
"output": "str",
|
|
"x": 190,
|
|
"y": 160,
|
|
"wires": [
|
|
[
|
|
"71b8fd74.2d9404"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "8b96370c.e63028",
|
|
"type": "debug",
|
|
"z": "d8e8a587.a39408",
|
|
"d": true,
|
|
"name": "",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": true,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"x": 360,
|
|
"y": 100,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "448c23fb.54356c",
|
|
"type": "http response",
|
|
"z": "d8e8a587.a39408",
|
|
"name": "",
|
|
"statusCode": "",
|
|
"headers": {},
|
|
"x": 1000,
|
|
"y": 140,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "e7546e50.b4e6",
|
|
"type": "sqlite",
|
|
"z": "d8e8a587.a39408",
|
|
"mydb": "4378beea.a2c7f",
|
|
"sqlquery": "fixed",
|
|
"sql": "select * from TradeGeneralLog order by ID desc limit 10000;",
|
|
"name": "",
|
|
"x": 680,
|
|
"y": 140,
|
|
"wires": [
|
|
[
|
|
"b67c9c51.fda15"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "79f2b3b4.db6cdc",
|
|
"type": "change",
|
|
"z": "d8e8a587.a39408",
|
|
"name": "Set Title (Manual)",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "title",
|
|
"pt": "msg",
|
|
"to": "LOGs",
|
|
"tot": "str"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 300,
|
|
"y": 140,
|
|
"wires": [
|
|
[
|
|
"e7546e50.b4e6",
|
|
"8b96370c.e63028"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "b67c9c51.fda15",
|
|
"type": "subflow:af98615f.cf9ce",
|
|
"z": "d8e8a587.a39408",
|
|
"name": "",
|
|
"env": [],
|
|
"x": 760,
|
|
"y": 220,
|
|
"wires": [
|
|
[
|
|
"448c23fb.54356c"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "7f957960.b6cd58",
|
|
"type": "http in",
|
|
"z": "d8e8a587.a39408",
|
|
"name": "",
|
|
"url": "/getLog",
|
|
"method": "get",
|
|
"upload": false,
|
|
"swaggerDoc": "",
|
|
"x": 80,
|
|
"y": 140,
|
|
"wires": [
|
|
[
|
|
"79f2b3b4.db6cdc"
|
|
]
|
|
]
|
|
}
|
|
] |