NodeRed Intermediary API
This commit is contained in:
parent
551b0aaf5a
commit
d1a49816e1
682
NodeRed-API.json
Normal file
682
NodeRed-API.json
Normal file
@ -0,0 +1,682 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "5f82d0265a7780fe",
|
||||||
|
"type": "tab",
|
||||||
|
"label": "Plurality Reality",
|
||||||
|
"disabled": false,
|
||||||
|
"info": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "a4f9a1d4dc0bed16",
|
||||||
|
"type": "junction",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"x": 600,
|
||||||
|
"y": 360,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"485fbb51070dc89d",
|
||||||
|
"097b153e6e371842",
|
||||||
|
"36cdf90159b3cdb3",
|
||||||
|
"5e41df8e716cb6e7",
|
||||||
|
"26c5134882c95d99",
|
||||||
|
"be99c4b93f8b31ca",
|
||||||
|
"db81d439bf71bd2e"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f8677e4020d3227c",
|
||||||
|
"type": "junction",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"x": 220,
|
||||||
|
"y": 160,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"4e1d9fc4f01dcd0a",
|
||||||
|
"bd1a9ca4c8a3be31"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "b65c5c782a7c405d",
|
||||||
|
"type": "http in",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Switch endpoint",
|
||||||
|
"url": "/switch",
|
||||||
|
"method": "post",
|
||||||
|
"upload": false,
|
||||||
|
"swaggerDoc": "",
|
||||||
|
"x": 120,
|
||||||
|
"y": 100,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"f8677e4020d3227c",
|
||||||
|
"2b39c6f59be83971"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4e1d9fc4f01dcd0a",
|
||||||
|
"type": "http response",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "",
|
||||||
|
"statusCode": "",
|
||||||
|
"headers": {},
|
||||||
|
"x": 310,
|
||||||
|
"y": 180,
|
||||||
|
"wires": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bd1a9ca4c8a3be31",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Pluralkit",
|
||||||
|
"func": "\nconst AllowedTokens = [\n \"CUSTOM_API_KEY\",\n \"CUSTOM_API_KEY\"\n];\n\nif (typeof msg.payload.token !== \"string\"){\n return [null, null];\n}\nif (!AllowedTokens.includes(msg.payload.token)){\n return [null, null];\n}\n\nlet debugRun = false;\nif (typeof msg.payload.debug !== 'undefined'){\n debugRun = (msg.payload.debug);\n}\n\nmsg.payload.token = undefined;\n\nlet PK = global.get('pk').default;\nlet p = new PK({\n base_url: \"https://api.pluralkit.me\",\n version: 2,\n token: \"PLURALKIT_API_KEY\"\n});\nlet cray = await p.getSystem({\n system: \"zyucn\"\n})\nlet fronters = [];\nlet newFronter = false;\nif (typeof msg.payload.members != 'undefined'){\n fronters = msg.payload.members;\n let currentFronters = await cray.getFronters();\n if (currentFronters.members.size != fronters.length){\n newFronter = true; // Additional/Removed Fronter\n }else{\n currentFronters.members.forEach(mem => {\n if (!fronters.includes(mem.id)){\n newFronter = true; //New Fronter\n }\n });\n if (Array.from(currentFronters.members)[0].id != fronters[0]){\n newFronter = true; //New fronter order\n }\n }\n if (newFronter){\n await cray.createSwitch({\n members: fronters\n });\n }\n}\n\nmsg.payload = fronters;\nmsg.debugRun = debugRun;\nreturn [msg, (newFronter?msg:null)];",
|
||||||
|
"outputs": 2,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 320,
|
||||||
|
"y": 140,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"4bfc82c4b478ca10"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"66b4b7d2b57038f0"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4bfc82c4b478ca10",
|
||||||
|
"type": "debug",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "",
|
||||||
|
"active": false,
|
||||||
|
"tosidebar": true,
|
||||||
|
"console": false,
|
||||||
|
"tostatus": false,
|
||||||
|
"complete": "true",
|
||||||
|
"targetType": "full",
|
||||||
|
"statusVal": "",
|
||||||
|
"statusType": "auto",
|
||||||
|
"x": 490,
|
||||||
|
"y": 140,
|
||||||
|
"wires": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "290374deba671a83",
|
||||||
|
"type": "http request",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Pusher",
|
||||||
|
"method": "POST",
|
||||||
|
"ret": "txt",
|
||||||
|
"paytoqs": "ignore",
|
||||||
|
"url": "https://PUSHER_API_KEY.pushnotifications.pusher.com/publish_api/v1/instances/PUSHER_API_KEY/publishes",
|
||||||
|
"tls": "",
|
||||||
|
"persist": false,
|
||||||
|
"proxy": "",
|
||||||
|
"authType": "bearer",
|
||||||
|
"x": 940,
|
||||||
|
"y": 160,
|
||||||
|
"wires": [
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"icon": "node-red/inject.svg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "66b4b7d2b57038f0",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Switch Alert",
|
||||||
|
"func": "//TODO: Handle null\n\nlet PK = global.get('pk').default;\nlet p = new PK({\n base_url: \"https://api.pluralkit.me\",\n version: 2,\n token: \"PLUEALKIT_API_KEY\"\n});\nlet cray = await p.getSystem({\n system: \"zyucn\"\n})\nlet fronters = await cray.getFronters();\n\nflow.set(\"members\", JSON.stringify(Array.from(fronters.members, (member) => {\n return member[1];\n})))\n\nlet bodyMsg = \"\";\nif (fronters.members.size == 0){\n fronters.members = [\n {\n id: \"\",\n name: \"No one\"\n }\n ];\n}\nmsg.pkit = fronters.members;\nfronters.members.forEach(member => {\n bodyMsg += \" & \" + member.name;\n});\nbodyMsg = bodyMsg.slice(3);\nbodyMsg += \" \" + (bodyMsg.includes(\"&\")?\"are\":\"is\") + \" now fronting.\";\nmsg.payload = bodyMsg;\n\nlet fronterList = \"\";\nfronters.members.forEach(member => {\n fronterList += member.name + \", \";\n});\nfronterList = fronterList.slice(0, -2);\nmsg.fronter = fronterList;\n\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 510,
|
||||||
|
"y": 180,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"a4f9a1d4dc0bed16"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "432e1801bd8996b7",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Pluralkit Template",
|
||||||
|
"func": "let PK = global.get('pk').default;\nlet p = new PK({\n base_url: \"https://api.pluralkit.me\",\n version: 2,\n token: \"PLURALKIT_API_KEY\"\n});\n\n\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 350,
|
||||||
|
"y": 100,
|
||||||
|
"wires": [
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ab8165c02bbaf688",
|
||||||
|
"type": "telegram sender",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "",
|
||||||
|
"bot": "e9716457749e0eb5",
|
||||||
|
"haserroroutput": false,
|
||||||
|
"outputs": 1,
|
||||||
|
"x": 1130,
|
||||||
|
"y": 260,
|
||||||
|
"wires": [
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ef69abf209f5bc4a",
|
||||||
|
"type": "telegram command",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "/sub",
|
||||||
|
"command": "/subscribe",
|
||||||
|
"description": "Subscribe to Cray's system notifications",
|
||||||
|
"registercommand": true,
|
||||||
|
"language": "en",
|
||||||
|
"scope": "all_private_chats",
|
||||||
|
"bot": "e9716457749e0eb5",
|
||||||
|
"strict": false,
|
||||||
|
"hasresponse": false,
|
||||||
|
"useregex": false,
|
||||||
|
"removeregexcommand": false,
|
||||||
|
"outputs": 1,
|
||||||
|
"x": 110,
|
||||||
|
"y": 220,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"cda5079172bbf006"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4ad3123e9c534458",
|
||||||
|
"type": "mongodb4",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"clientNode": "e26a1e35ae350282",
|
||||||
|
"collection": "subscribers",
|
||||||
|
"operation": "find",
|
||||||
|
"output": "toArray",
|
||||||
|
"name": "Find Subs",
|
||||||
|
"x": 920,
|
||||||
|
"y": 260,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"ea94c5e41f4d82c6"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3fcb838dfeaed9fe",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Assemble Tele",
|
||||||
|
"func": "\nmsg.payload = {\n chatId: msg.payload.telegramId,\n type: \"message\",\n content: msg.content\n};\n//DEBUGGING\nif (msg.debugRun){\n msg.payload.chatId = DEVID; \n}\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 1140,
|
||||||
|
"y": 220,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"ab8165c02bbaf688"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ea94c5e41f4d82c6",
|
||||||
|
"type": "split",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "",
|
||||||
|
"splt": "\\n",
|
||||||
|
"spltType": "str",
|
||||||
|
"arraySplt": 1,
|
||||||
|
"arraySpltType": "len",
|
||||||
|
"stream": false,
|
||||||
|
"addname": "",
|
||||||
|
"x": 990,
|
||||||
|
"y": 220,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"3fcb838dfeaed9fe"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "cda5079172bbf006",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Process Current DB",
|
||||||
|
"func": "let telegramId = msg.originalMessage.chat.id;\n\n// Add to subscriptions\nmsg.payload = [{\n telegramId: telegramId\n}];\n\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 260,
|
||||||
|
"y": 260,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"155db78cc9ff74ba"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "155db78cc9ff74ba",
|
||||||
|
"type": "mongodb4",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"clientNode": "e26a1e35ae350282",
|
||||||
|
"collection": "subscribers",
|
||||||
|
"operation": "insertOne",
|
||||||
|
"output": "toArray",
|
||||||
|
"name": "Subscribe",
|
||||||
|
"x": 240,
|
||||||
|
"y": 300,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"db62b4e61870f27f"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "db62b4e61870f27f",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Generate Response Message",
|
||||||
|
"func": "\nlet telegramId = msg.originalMessage.chat.id;\n\n// Add to subscriptions\nmsg.payload = {\n chatId: telegramId,\n type: \"message\",\n content: \"Subscribed to the Cray system\"\n};\n\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 290,
|
||||||
|
"y": 340,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"f71b982f74da5540"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f71b982f74da5540",
|
||||||
|
"type": "telegram sender",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "",
|
||||||
|
"bot": "e9716457749e0eb5",
|
||||||
|
"haserroroutput": false,
|
||||||
|
"outputs": 1,
|
||||||
|
"x": 250,
|
||||||
|
"y": 380,
|
||||||
|
"wires": [
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "a75ca0dc2d7aac4c",
|
||||||
|
"type": "websocket out",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Fronter Socket",
|
||||||
|
"server": "edb292d97a0b097a",
|
||||||
|
"client": "",
|
||||||
|
"x": 1000,
|
||||||
|
"y": 420,
|
||||||
|
"wires": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2636a3a89b7f5519",
|
||||||
|
"type": "websocket in",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "",
|
||||||
|
"server": "edb292d97a0b097a",
|
||||||
|
"client": "",
|
||||||
|
"x": 790,
|
||||||
|
"y": 420,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"a75ca0dc2d7aac4c"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "36cdf90159b3cdb3",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Assemble Web",
|
||||||
|
"func": "// Assemble for web notifications\nmsg.payload = JSON.stringify({\n interests: [\n \"cray_system\"\n ],\n web: {\n notification: {\n title: \"Cray System\",\n body: msg.payload\n }\n }\n});\nmsg.headers = {\n 'Content-Type': 'application/json'\n};\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 780,
|
||||||
|
"y": 160,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"290374deba671a83"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "485fbb51070dc89d",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Assemble Telegram",
|
||||||
|
"func": "// Assemble for Telegram Notifications\nmsg.content = msg.payload;\nmsg.payload = [{\n}];\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 790,
|
||||||
|
"y": 220,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"4ad3123e9c534458"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "26c5134882c95d99",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Assemble Socket",
|
||||||
|
"func": "// Assemble Socket Data\nlet fronters = JSON.parse(flow.get(\"members\"))\nif (fronters.length > 0){\n msg.payload = fronters[0].id\n}else{\n msg.payload = \"null\"\n}\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 790,
|
||||||
|
"y": 380,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"a75ca0dc2d7aac4c"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "5e41df8e716cb6e7",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Discord Profile",
|
||||||
|
"func": "\nmsg.text = msg.fronter;\nmsg.status = msg.fronter;\n// TODO: Set emoji based on fronter\nmsg.icon = \"🏳️🌈\";\n\nreturn msg;\n",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 780,
|
||||||
|
"y": 100,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"4a5bf45282ba0390"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "097b153e6e371842",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "TODO: Discord Bot",
|
||||||
|
"func": "\nreturn msg;",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 790,
|
||||||
|
"y": 320,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"05d1850f5b804e20"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4a5bf45282ba0390",
|
||||||
|
"type": "discordStatus",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"token": "",
|
||||||
|
"statusType": "msg",
|
||||||
|
"customContent": "text",
|
||||||
|
"icon": "msg.icon",
|
||||||
|
"stt": "online",
|
||||||
|
"x": 960,
|
||||||
|
"y": 100,
|
||||||
|
"wires": [
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "be99c4b93f8b31ca",
|
||||||
|
"type": "hb-status",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Door",
|
||||||
|
"Homebridge": "homebridge",
|
||||||
|
"Manufacturer": "MagicHome",
|
||||||
|
"Service": "Lightbulb",
|
||||||
|
"device": "homebridgeEA:HOMERGB",
|
||||||
|
"conf": "588152ebedcf9ddf",
|
||||||
|
"x": 750,
|
||||||
|
"y": 480,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"997a912f8abfe9f4"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "05d1850f5b804e20",
|
||||||
|
"type": "debug",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "",
|
||||||
|
"active": false,
|
||||||
|
"tosidebar": true,
|
||||||
|
"console": false,
|
||||||
|
"tostatus": false,
|
||||||
|
"complete": "true",
|
||||||
|
"targetType": "full",
|
||||||
|
"statusVal": "",
|
||||||
|
"statusType": "auto",
|
||||||
|
"x": 970,
|
||||||
|
"y": 320,
|
||||||
|
"wires": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "997a912f8abfe9f4",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Smart Home Lookup",
|
||||||
|
"func": "// Shift current light config into msg object\nmsg.light = msg.payload\n\nconst RGBToHSB = (r, g, b) => {\n r /= 255;\n g /= 255;\n b /= 255;\n const v = Math.max(r, g, b),\n n = v - Math.min(r, g, b);\n const h =\n n === 0 ? 0 : n && v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n;\n return [60 * (h < 0 ? h + 6 : h), v && (n / v) * 100, v * 100];\n};\n\nlet fronters = JSON.parse(flow.get(\"members\"))\n\n\nif (typeof fronters == 'object'){\n if (fronters[0].color != null){\n let memberColor = {\n r: Number(`0x${fronters[0].color.slice(0, -4)}`),\n g: Number(`0x${fronters[0].color.slice(2, -2)}`),\n b: Number(`0x${fronters[0].color.slice(4)}`)\n }\n memberColor = RGBToHSB(memberColor.r, memberColor.g, memberColor.b)\n memberColor = {\n Saturation: memberColor[1],\n On: 1,\n // Brightness: memberColor[2],\n Brightness: msg.light.Brightness,\n Hue: memberColor[0]\n }\n let doorColor = null\n if (msg.light.On == 1){\n doorColor = msg\n doorColor.payload = memberColor\n }\n let gemColor = msg\n gemColor.payload = memberColor\n msg = [doorColor, gemColor]\n }else{\n msg = null\n }\n}else{\n msg = null\n}\nreturn msg",
|
||||||
|
"outputs": 2,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 920,
|
||||||
|
"y": 480,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"3af0892eda3373b1"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"fad5f43e466bdb2c"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3af0892eda3373b1",
|
||||||
|
"type": "hb-control",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Door",
|
||||||
|
"Homebridge": "homebridge",
|
||||||
|
"Manufacturer": "MagicHome",
|
||||||
|
"Service": "Lightbulb",
|
||||||
|
"device": "homebridgeEA:HOMERGB",
|
||||||
|
"conf": "588152ebedcf9ddf",
|
||||||
|
"outputs": 1,
|
||||||
|
"x": 1210,
|
||||||
|
"y": 460,
|
||||||
|
"wires": [
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "fad5f43e466bdb2c",
|
||||||
|
"type": "hb-control",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Gem",
|
||||||
|
"Homebridge": "homebridge",
|
||||||
|
"Manufacturer": "Corrupt Link",
|
||||||
|
"Service": "Lightbulb",
|
||||||
|
"device": "homebridgeEA:RGBLIGHT",
|
||||||
|
"conf": "588152ebedcf9ddf",
|
||||||
|
"outputs": 1,
|
||||||
|
"x": 1090,
|
||||||
|
"y": 480,
|
||||||
|
"wires": [
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4d2da22298fe3d41",
|
||||||
|
"type": "sms",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"d": true,
|
||||||
|
"name": "Phone Trigger",
|
||||||
|
"message": "",
|
||||||
|
"numbers": "[\"+15550201234\"]",
|
||||||
|
"throttle": 1000,
|
||||||
|
"twilio": "021ccf289ebca7ec",
|
||||||
|
"x": 1020,
|
||||||
|
"y": 540,
|
||||||
|
"wires": [
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "db81d439bf71bd2e",
|
||||||
|
"type": "function",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "Phone Shortcut Triger",
|
||||||
|
"func": "let fronters = JSON.parse(flow.get(\"members\"))\nif (typeof fronters == 'object'){\n if (fronters.length > 0){\n msg.payload = fronters[0].id\n msg.topic = \"SWITCH\"\n node.send(msg)\n }\n}",
|
||||||
|
"outputs": 1,
|
||||||
|
"noerr": 0,
|
||||||
|
"initialize": "",
|
||||||
|
"finalize": "",
|
||||||
|
"libs": [],
|
||||||
|
"x": 800,
|
||||||
|
"y": 540,
|
||||||
|
"wires": [
|
||||||
|
[
|
||||||
|
"4d2da22298fe3d41",
|
||||||
|
"dbe287bc2eb9f964"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "dbe287bc2eb9f964",
|
||||||
|
"type": "e-mail",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"d": true,
|
||||||
|
"server": "smtp.example.com",
|
||||||
|
"port": "465",
|
||||||
|
"authtype": "BASIC",
|
||||||
|
"saslformat": true,
|
||||||
|
"token": "oauth2Response.access_token",
|
||||||
|
"secure": true,
|
||||||
|
"tls": true,
|
||||||
|
"name": "test@mail.com",
|
||||||
|
"dname": "Email Trigger",
|
||||||
|
"x": 1010,
|
||||||
|
"y": 600,
|
||||||
|
"wires": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2b39c6f59be83971",
|
||||||
|
"type": "debug",
|
||||||
|
"z": "5f82d0265a7780fe",
|
||||||
|
"name": "",
|
||||||
|
"active": false,
|
||||||
|
"tosidebar": true,
|
||||||
|
"console": false,
|
||||||
|
"tostatus": false,
|
||||||
|
"complete": "true",
|
||||||
|
"targetType": "full",
|
||||||
|
"statusVal": "",
|
||||||
|
"statusType": "auto",
|
||||||
|
"x": 310,
|
||||||
|
"y": 40,
|
||||||
|
"wires": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e9716457749e0eb5",
|
||||||
|
"type": "telegram bot",
|
||||||
|
"botname": "plural_bot",
|
||||||
|
"usernames": "",
|
||||||
|
"chatids": "",
|
||||||
|
"baseapiurl": "",
|
||||||
|
"updatemode": "polling",
|
||||||
|
"pollinterval": "300",
|
||||||
|
"usesocks": false,
|
||||||
|
"sockshost": "",
|
||||||
|
"socksport": "6667",
|
||||||
|
"socksusername": "anonymous",
|
||||||
|
"sockspassword": "",
|
||||||
|
"bothost": "",
|
||||||
|
"botpath": "",
|
||||||
|
"localbotport": "8443",
|
||||||
|
"publicbotport": "8443",
|
||||||
|
"privatekey": "",
|
||||||
|
"certificate": "",
|
||||||
|
"useselfsignedcertificate": false,
|
||||||
|
"sslterminated": false,
|
||||||
|
"verboselogging": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e26a1e35ae350282",
|
||||||
|
"type": "mongodb4-client",
|
||||||
|
"name": "Plurality",
|
||||||
|
"protocol": "mongodb",
|
||||||
|
"hostname": "192.0.0.10",
|
||||||
|
"port": "27017",
|
||||||
|
"dbName": "plurality",
|
||||||
|
"authSource": "",
|
||||||
|
"authMechanism": "DEFAULT",
|
||||||
|
"tls": false,
|
||||||
|
"tlsCAFile": "",
|
||||||
|
"tlsInsecure": false,
|
||||||
|
"uri": "",
|
||||||
|
"advanced": "",
|
||||||
|
"uriTabActive": "tab-uri-simple"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "edb292d97a0b097a",
|
||||||
|
"type": "websocket-listener",
|
||||||
|
"path": "/switch/fronter",
|
||||||
|
"wholemsg": "false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "588152ebedcf9ddf",
|
||||||
|
"type": "hb-conf",
|
||||||
|
"username": "999-69-666",
|
||||||
|
"macAddress": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "021ccf289ebca7ec",
|
||||||
|
"type": "twilioConfig",
|
||||||
|
"name": "twilioConfig"
|
||||||
|
}
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user