berijan

PID input selector

Dec 2nd, 2021 (edited)
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. [{"id":"e054486759e5d64c","type":"function","z":"67289a52.d5a014","name":"PID selector","func":"//Declare OFF command;\nconst DEFAULT_PID_SELECTION = 0;\nconst OFF_COMMAND = \"off;\";\n\n//Init new message data\nlet newMsg = {};\nnewMsg.payload = null;\nnewMsg.originalMessage = msg;\n\n\n//Save default values for signals\nif(!context.pidselect) {context.pidselect = DEFAULT_PID_SELECTION;}\nif(!context.mash) {context.mash = OFF_COMMAND;}\nif(!context.hlt) {context.hlt = OFF_COMMAND;}\n\n///////////////////////////////////////////////////////////\n// Regarding context, local memory within the function node\n//\n// Se Node-red context for more info\n// https://nodered.org/docs/user-guide/context\n//\n// In\n// https://nodered.org/docs/user-guide/writing-functions\n// there is this example\n// if (context.get(\"counter\") === undefined) {\n// context.set(\"counter\", 0)\n// }\n// thats the same effect as i wrote\n// if(!context.counter) {context.counter = 0;}\n///////////////////////////////////////////////////////////\n\n\n\n//Store last received data in funtion local variables\nswitch(msg.topic) {\n\n case \"pidselect\":\n context.pidselect = msg.payload;\n break;\n\n case \"mash\":\n context.mash = msg.payload;\n break;\n\n case \"hlt\":\n context.hlt = msg.payload;\n break;\n\n default:\n //Unknown topic\n break;\n}\n\n\n\n//Select payload\nswitch(context.pidselect) {\n\n case 0:\n newMsg.payload = OFF_COMMAND;\n break;\n\n case 1:\n newMsg.payload = context.mash;\n break;\n\n case 2:\n newMsg.payload = context.hlt;\n break;\n\n\n default:\n //Unknown value\n break;\n \n}\n\n\n\n//Show Node state\nnode.status({text : \"PID = \" + context.pidselect + \", value = \" + newMsg.payload});\n\nreturn newMsg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":990,"y":680,"wires":[["db7766ab57d9640c"]]},{"id":"38e7de2d02f469f3","type":"inject","z":"67289a52.d5a014","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":470,"y":500,"wires":[["e8d922eb94f44490"]]},{"id":"7639fa42313adc6f","type":"inject","z":"67289a52.d5a014","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":470,"y":540,"wires":[["e8d922eb94f44490"]]},{"id":"084bed85b5637cf1","type":"inject","z":"67289a52.d5a014","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"2","payloadType":"num","x":470,"y":580,"wires":[["e8d922eb94f44490"]]},{"id":"34b23fbee67664d7","type":"inject","z":"67289a52.d5a014","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"100","payloadType":"num","x":470,"y":740,"wires":[["c498737a727eddd5"]]},{"id":"6b05f3abb216bb98","type":"inject","z":"67289a52.d5a014","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"200","payloadType":"num","x":470,"y":780,"wires":[["9ddb5ea03d31f652"]]},{"id":"db7766ab57d9640c","type":"debug","z":"67289a52.d5a014","name":"dbg PID","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1160,"y":680,"wires":[]},{"id":"751f170fb1de1e83","type":"inject","z":"67289a52.d5a014","name":"Incorrect value","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":500,"y":620,"wires":[["e8d922eb94f44490"]]},{"id":"926006196caec4d0","type":"inject","z":"67289a52.d5a014","name":"Incorrect in message","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"300","payloadType":"num","x":520,"y":820,"wires":[["e90b2ba8cbb46778"]]},{"id":"c498737a727eddd5","type":"change","z":"67289a52.d5a014","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"mash","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":740,"wires":[["e054486759e5d64c"]]},{"id":"9ddb5ea03d31f652","type":"change","z":"67289a52.d5a014","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"hlt","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":780,"wires":[["e054486759e5d64c"]]},{"id":"e90b2ba8cbb46778","type":"change","z":"67289a52.d5a014","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"incorrect","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":820,"wires":[["e054486759e5d64c"]]},{"id":"e8d922eb94f44490","type":"change","z":"67289a52.d5a014","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"pidselect","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":560,"wires":[["e054486759e5d64c"]]},{"id":"40639b85b78ff1b7","type":"comment","z":"67289a52.d5a014","name":"Simulate Selector","info":"","x":480,"y":460,"wires":[]},{"id":"fd614143cc647208","type":"comment","z":"67289a52.d5a014","name":"Simulate probe","info":"","x":480,"y":700,"wires":[]}]
Add Comment
Please, Sign In to add comment