berijan

locXcom

Apr 15th, 2021
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.78 KB | None | 0 0
  1. [{"id":"482b06a7.ea6328","type":"tab","label":"LocXcom","disabled":false,"info":""},{"id":"a552be81.5f82a","type":"inject","z":"482b06a7.ea6328","name":"Trigg Loco 1 send","props":[{"p":"locoid","v":"1","vt":"num"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"locoxcom","payloadType":"str","x":150,"y":100,"wires":[["3dfd756b.04a95a"]]},{"id":"5802b970.ddf738","type":"comment","z":"482b06a7.ea6328","name":"Simulate message from Loco________________________________________________________________________","info":"","x":430,"y":40,"wires":[]},{"id":"3dfd756b.04a95a","type":"buffer-maker","z":"482b06a7.ea6328","name":"Simulate status msg","specification":"spec","specificationType":"ui","items":[{"name":"SOH","type":"ascii","length":6,"dataType":"str","data":"<LOCX "},{"name":"MsgNumber","type":"byte","length":1,"dataType":"num","data":"123"},{"name":"MsgCode","type":"byte","length":1,"dataType":"num","data":"0"},{"name":"DataSize","type":"int16le","length":1,"dataType":"num","data":"22"},{"name":"Sender","type":"byte","length":1,"dataType":"msg","data":"locoid"},{"name":"Receiver","type":"byte","length":1,"dataType":"num","data":"250"},{"name":"rest","type":"buffer","length":10,"dataType":"bin","data":"[49,50,51,52,53,54,55,56,57,48]"}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","x":420,"y":100,"wires":[["2b44bcc8.a04b04","9d7c34.71e373d"]]},{"id":"5d5d8b30.aa9e84","type":"comment","z":"482b06a7.ea6328","name":"locoXcom coordinator________________________________________________________________________","info":"","x":650,"y":380,"wires":[]},{"id":"abbb7c1c.43da7","type":"udp out","z":"482b06a7.ea6328","name":"Send from 30001 to Xcom Port 20000","addr":"127.0.0.1","iface":"","port":"20000","ipv":"udp4","outport":"30001","base64":false,"multicast":"false","x":890,"y":80,"wires":[]},{"id":"a8f261e1.6e71a","type":"udp in","z":"482b06a7.ea6328","name":"Receive from Loco","iface":"","port":"20000","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":360,"y":440,"wires":[["216fae9e.392fe2","c54efaf.eb20d08","a6b88fd6.29d1c"]]},{"id":"2b44bcc8.a04b04","type":"debug","z":"482b06a7.ea6328","name":"dbg Send From Loco","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":840,"y":200,"wires":[]},{"id":"216fae9e.392fe2","type":"buffer-parser","z":"482b06a7.ea6328","name":"get header","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"ascii","name":"SOH","offset":0,"length":6,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"MsgNumber","offset":6,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"MsgCode","offset":7,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"DataSize","offset":8,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"Sender","offset":10,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"Receiver","offset":11,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":650,"y":440,"wires":[["82c2c815.120498","9be43009.a20cf"]]},{"id":"82c2c815.120498","type":"debug","z":"482b06a7.ea6328","name":"dbg Received from Loco","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":910,"y":500,"wires":[]},{"id":"52fd73c1.c8ccbc","type":"debug","z":"482b06a7.ea6328","name":"dbg Saved WorkMem","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1120,"y":440,"wires":[]},{"id":"9be43009.a20cf","type":"function","z":"482b06a7.ea6328","name":"Save Aux Data","func":"const KEY_PREFIX = \"locworkmem\";\n\nlet newMsg = {};\n\nif (msg.payload.Sender){\n\n let sKey = KEY_PREFIX + msg.payload.Sender||-1;\n\n let data = {};\n data[KEY_PREFIX] = {\n \"id\": msg.payload.Sender,\n \"ip\": msg.ip,\n \"port\": msg.port\n };\n\n //save aux data in flow mem \n flow.set(sKey, data);\n\n newMsg.payload = data;\n}\n\n\nreturn newMsg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":880,"y":440,"wires":[["52fd73c1.c8ccbc"]]},{"id":"f1618f6b.3fbed","type":"udp out","z":"482b06a7.ea6328","name":"Send from 30003 to Xcom Port 20000","addr":"127.0.0.1","iface":"","port":"20000","ipv":"udp4","outport":"30003","base64":false,"multicast":"false","x":890,"y":140,"wires":[]},{"id":"c54efaf.eb20d08","type":"udp out","z":"482b06a7.ea6328","name":"Send to AS, IP x, Port 50001","addr":"127.0.0.1","iface":"","port":"50001","ipv":"udp4","outport":"","base64":false,"multicast":"false","x":660,"y":560,"wires":[]},{"id":"a6b88fd6.29d1c","type":"udp out","z":"482b06a7.ea6328","name":"Send to AS, IP x, Port 50002","addr":"127.0.0.1","iface":"","port":"50002","ipv":"udp4","outport":"","base64":false,"multicast":"false","x":660,"y":600,"wires":[]},{"id":"9bc65246.f5501","type":"comment","z":"482b06a7.ea6328","name":"Simulate AS________________________________________________________________________","info":"","x":380,"y":880,"wires":[]},{"id":"4dc62e52.faca","type":"udp in","z":"482b06a7.ea6328","name":"AS Receive on port 50001","iface":"","port":"50001","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":150,"y":1020,"wires":[["76fb0ced.495c64"]]},{"id":"67bc3e44.70b1c","type":"debug","z":"482b06a7.ea6328","name":"dbg AS received","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":620,"y":1020,"wires":[]},{"id":"76fb0ced.495c64","type":"buffer-parser","z":"482b06a7.ea6328","name":"get header + rest","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"ascii","name":"SOH","offset":0,"length":6,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"MsgNumber","offset":6,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"MsgCode","offset":7,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"DataSize","offset":8,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"Sender","offset":10,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"Receiver","offset":11,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"afterHeader","offset":12,"length":-1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":410,"y":1020,"wires":[["67bc3e44.70b1c"]]},{"id":"cf520adf.452308","type":"inject","z":"482b06a7.ea6328","name":"Trigg Loco 3 send","props":[{"p":"locoid","v":"3","vt":"num"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"locoxcom","x":150,"y":140,"wires":[["3dfd756b.04a95a"]]},{"id":"9d7c34.71e373d","type":"switch","z":"482b06a7.ea6328","name":"loco id","property":"locoid","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"3","vt":"num"}],"checkall":"false","repair":false,"outputs":3,"x":640,"y":100,"wires":[["abbb7c1c.43da7"],[],["f1618f6b.3fbed"]],"inputLabels":["Header.Sender"],"outputLabels":["Loco 1","Loco 2","Loco 3"]},{"id":"fedf9ed1.0c5c9","type":"udp in","z":"482b06a7.ea6328","name":"Receive from AS on port 20001","iface":"","port":"20001","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":410,"y":700,"wires":[["676a5d7d.cbc024"]]},{"id":"676a5d7d.cbc024","type":"buffer-parser","z":"482b06a7.ea6328","name":"get header","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"ascii","name":"SOH","offset":0,"length":6,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"MsgNumber","offset":6,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"MsgCode","offset":7,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"DataSize","offset":8,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"Sender","offset":10,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"Receiver","offset":11,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":690,"y":700,"wires":[["b2bf1456.627758","1cb0f2a9.d4bcfd"]]},{"id":"b2bf1456.627758","type":"debug","z":"482b06a7.ea6328","name":"dbg Received from AS","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":960,"y":760,"wires":[]},{"id":"fa77745f.4a37e8","type":"debug","z":"482b06a7.ea6328","name":"dbg Get WorkMem","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1230,"y":740,"wires":[]},{"id":"1cb0f2a9.d4bcfd","type":"function","z":"482b06a7.ea6328","name":"Get Aux Data","func":"const KEY_PREFIX = \"locworkmem\";\n\nlet newMsg = null;\n\nif (msg.payload.Receiver){\n\n let sKey = KEY_PREFIX + msg.payload.Receiver\n\n let data = flow.get(sKey);\n\n\n newMsg = {};\n newMsg[\"ip\"] = data[KEY_PREFIX].ip;\n newMsg[\"port\"] = data[KEY_PREFIX].port;\n newMsg[\"payload\"] = msg.originalPayload;\n\n}\n\n\nreturn newMsg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":970,"y":700,"wires":[["fa77745f.4a37e8","651d1c98.9d6364"]]},{"id":"a06c40eb.16d26","type":"buffer-maker","z":"482b06a7.ea6328","name":"Simulate status msg","specification":"spec","specificationType":"ui","items":[{"name":"SOH","type":"ascii","length":6,"dataType":"str","data":">LOCX "},{"name":"MsgNumber","type":"byte","length":1,"dataType":"num","data":"123"},{"name":"MsgCode","type":"byte","length":1,"dataType":"num","data":"0"},{"name":"DataSize","type":"int16le","length":1,"dataType":"num","data":"22"},{"name":"Sender","type":"byte","length":1,"dataType":"num","data":"250"},{"name":"Receiver","type":"byte","length":1,"dataType":"msg","data":"locoid"},{"name":"rest","type":"buffer","length":10,"dataType":"bin","data":"[49,50,51,52,53,54,55,56,57,48]"}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","x":420,"y":920,"wires":[["85a5d68d.ba5bb8"]]},{"id":"411e4cc0.20b504","type":"inject","z":"482b06a7.ea6328","name":"Trigg AS Loco 1send","props":[{"p":"locoid","v":"1","vt":"num"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"locoxcom","payloadType":"str","x":160,"y":920,"wires":[["a06c40eb.16d26"]]},{"id":"85a5d68d.ba5bb8","type":"udp out","z":"482b06a7.ea6328","name":"Send from AS to Xcom","addr":"127.0.0.1","iface":"","port":"20001","ipv":"udp4","outport":"50011","base64":false,"multicast":"false","x":680,"y":920,"wires":[]},{"id":"137e4d06.20c1b3","type":"udp in","z":"482b06a7.ea6328","name":"Loco 1 receive","iface":"","port":"30001","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":120,"y":260,"wires":[["9d9b162b.7b0ff8"]]},{"id":"5fdb53a3.d6905c","type":"udp in","z":"482b06a7.ea6328","name":"Loco 3 receive","iface":"","port":"30003","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":120,"y":300,"wires":[["9d9b162b.7b0ff8"]]},{"id":"1a8e0426.dfb2cc","type":"debug","z":"482b06a7.ea6328","name":"dbg Receive in Loco","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":860,"y":280,"wires":[]},{"id":"651d1c98.9d6364","type":"udp out","z":"482b06a7.ea6328","name":"Send to Loco","addr":"","iface":"","port":"","ipv":"udp4","outport":"22001","base64":false,"multicast":"false","x":1220,"y":700,"wires":[]},{"id":"9d9b162b.7b0ff8","type":"buffer-parser","z":"482b06a7.ea6328","name":"get header + message","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"ascii","name":"SOH","offset":0,"length":6,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"MsgNumber","offset":6,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"MsgCode","offset":7,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"DataSize","offset":8,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"Sender","offset":10,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"Receiver","offset":11,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"byte","name":"wholemessage","offset":0,"length":-1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":420,"y":280,"wires":[["1a8e0426.dfb2cc"]]},{"id":"c3b5b066.0e9fe","type":"inject","z":"482b06a7.ea6328","name":"Trigg AS Loco 3 send","props":[{"p":"locoid","v":"3","vt":"num"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"locoxcom","x":160,"y":960,"wires":[["a06c40eb.16d26"]]}]
Add Comment
Please, Sign In to add comment