Advertisement
csongorvarga

TinyGS sample flow

May 19th, 2021
1,253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 13.59 KB | None | 0 0
  1. [{"id":"788a1dca.e79704","type":"tab","label":"TinyGS","disabled":false,"info":""},{"id":"dfaa649a.6ea628","type":"mqtt in","z":"788a1dca.e79704","name":"","topic":"#","qos":"2","datatype":"auto","broker":"845dd36a.0627d","x":110,"y":100,"wires":[["7dc65982.c253b8","4455506d.74a03"]]},{"id":"7dc65982.c253b8","type":"debug","z":"788a1dca.e79704","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":330,"y":60,"wires":[]},{"id":"7fee0954.dcc568","type":"function","z":"788a1dca.e79704","name":"Store last n readings","func":"// Node configuration\nlet count = 1000;\nlet data = context.get(\"tinygs\") || [];\nlet now = new Date();\n\nswitch (msg.topic) {\n    case \"reset\":\n        data = [];\n        context.set(\"tinygs\",data);\n        break;\n    case \"flush\":\n        return [{payload:data}];\n    default:\n        if (data.length>=count) {\n            data.shift();\n        } \n        data.push({\"timestamp\": now.getTime(), \"topic\": msg.topic, \"payload\":msg.payload});\n        context.set(\"tinygs\",data);\n        node.status({fill:\"green\",shape:\"ring\",text:\"Items stored: \"+data.length});  \n        return [{payload:data}];\n}\n\n\nnode.status({fill:\"green\",shape:\"ring\",text:\"Items stored: \"+data.length});  \n\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":620,"y":200,"wires":[["684f4877.4037d8"]]},{"id":"5c30eb61.9bdda4","type":"inject","z":"788a1dca.e79704","name":"Reset","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"reset","payload":"","payloadType":"date","x":370,"y":120,"wires":[["7fee0954.dcc568"]]},{"id":"70a4f1a8.b0e32","type":"inject","z":"788a1dca.e79704","name":"Flush","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"flush","payload":"","payloadType":"date","x":370,"y":160,"wires":[["7fee0954.dcc568"]]},{"id":"684f4877.4037d8","type":"template","z":"788a1dca.e79704","name":"Format","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<table>\n    <tr><th>Timestamp</th><th>Topic</th><th>Payload</th></tr>\n    {{#payload}}\n        <tr class=\"\">\n            <td>{{timestamp}}</td>\n            <td>{{topic}}</td>\n            <td>{{payload}}</td>\n        </tr>\n    {{/payload}}\n</table>\n","output":"str","x":860,"y":200,"wires":[["5f52a34c.77cb1c"]]},{"id":"5f52a34c.77cb1c","type":"ui_template","z":"788a1dca.e79704","group":"fa074c13.b554f","name":"User list dump","order":0,"width":0,"height":0,"format":"<div ng-bind-html=\"msg.payload\" height=\"500\" style=\"height: 500px;\"></div>","storeOutMessages":true,"fwdInMessages":true,"resendOnRefresh":false,"templateScope":"local","x":1060,"y":200,"wires":[[]]},{"id":"4455506d.74a03","type":"switch","z":"788a1dca.e79704","name":"Ignore map updates","property":"topic","propertyType":"msg","rules":[{"t":"cont","v":"sat_pos_oled","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":300,"y":220,"wires":[[],["7fee0954.dcc568","a6860b1e.23ed18"]]},{"id":"a6860b1e.23ed18","type":"switch","z":"788a1dca.e79704","name":"Begin frame","property":"topic","propertyType":"msg","rules":[{"t":"cont","v":"cmnd/frame/0","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":310,"y":400,"wires":[["b96b798c.7405f8"],[]]},{"id":"a749f502.efc768","type":"inject","z":"788a1dca.e79704","name":"Test Data","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[[1,0,0,0,\"Norby\"],[1,0,0,11,\"Last Packet:   19:23\"],[1,0,0,23,\"RSSI/SNR:-130.0/-12.0dB\"],[1,2,64,34,\"Freq error: 7316.96Hz\"],[1,2,64,45,\"CONFIRMED\"]]","payloadType":"json","x":560,"y":340,"wires":[["eeb7cfde.73653","c60ec9cd.d005f8"]]},{"id":"eeb7cfde.73653","type":"function","z":"788a1dca.e79704","name":"Save Msg","func":"msg.msg1 = \"📡 \"+msg.payload[0][4]+\", \"+msg.payload[2][4]+\", \"+msg.payload[4][4];\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":740,"y":400,"wires":[["b097263a.928c28"]]},{"id":"b96b798c.7405f8","type":"json","z":"788a1dca.e79704","name":"","property":"payload","action":"","pretty":false,"x":550,"y":400,"wires":[["eeb7cfde.73653"]]},{"id":"c60ec9cd.d005f8","type":"debug","z":"788a1dca.e79704","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":760,"y":340,"wires":[]},{"id":"dd9a49ef.ae7a98","type":"inject","z":"788a1dca.e79704","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":740,"wires":[["a3739819.8331b8"]]},{"id":"a3739819.8331b8","type":"http request","z":"788a1dca.e79704","name":"Station Information","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://api.tinygs.com/v1/station/HAVCBUDA@510403999","tls":"","persist":false,"proxy":"","authType":"","x":370,"y":740,"wires":[["e1bb3b83.47e188"]]},{"id":"8a4554a4.e5adf8","type":"debug","z":"788a1dca.e79704","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":750,"y":740,"wires":[]},{"id":"2f50cb36.9abbe4","type":"http request","z":"788a1dca.e79704","name":"Packet List","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://api.tinygs.com/v1/packets?station=HAVCBUDA@510403999","tls":"","persist":false,"proxy":"","authType":"","x":350,"y":820,"wires":[["1dd45f36.a617f1"]]},{"id":"7441e8e4.f31a38","type":"inject","z":"788a1dca.e79704","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":820,"wires":[["2f50cb36.9abbe4"]]},{"id":"69967df.7c5c084","type":"debug","z":"788a1dca.e79704","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":750,"y":820,"wires":[]},{"id":"e1bb3b83.47e188","type":"json","z":"788a1dca.e79704","name":"","property":"payload","action":"","pretty":false,"x":570,"y":740,"wires":[["8a4554a4.e5adf8"]]},{"id":"1dd45f36.a617f1","type":"json","z":"788a1dca.e79704","name":"","property":"payload","action":"","pretty":false,"x":570,"y":820,"wires":[["69967df.7c5c084"]]},{"id":"2709eb85.15e9f4","type":"http request","z":"788a1dca.e79704","name":"Packet View","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://api.tinygs.com/v1/packet/430e39fb-06c8-4e19-ac30-b1b73ee178ff","tls":"","persist":false,"proxy":"","authType":"","x":350,"y":900,"wires":[["749173fc.7c899c"]]},{"id":"3241e29a.8aab6e","type":"inject","z":"788a1dca.e79704","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":900,"wires":[["2709eb85.15e9f4"]]},{"id":"749173fc.7c899c","type":"json","z":"788a1dca.e79704","name":"","property":"payload","action":"","pretty":false,"x":570,"y":900,"wires":[["d9279285.346d8"]]},{"id":"d9279285.346d8","type":"debug","z":"788a1dca.e79704","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":750,"y":900,"wires":[]},{"id":"b097263a.928c28","type":"delay","z":"788a1dca.e79704","name":"","pauseType":"delay","timeout":"30","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":500,"y":500,"wires":[["8a32f7ec.46bab8"]]},{"id":"8a32f7ec.46bab8","type":"http request","z":"788a1dca.e79704","name":"Packet List","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://api.tinygs.com/v1/packets?station=HAVCBUDA@510403999","tls":"","persist":false,"proxy":"","authType":"","x":690,"y":500,"wires":[["400f704a.0a425"]]},{"id":"400f704a.0a425","type":"json","z":"788a1dca.e79704","name":"","property":"payload","action":"","pretty":false,"x":870,"y":500,"wires":[["8aa2299e.cf70f8"]]},{"id":"8aa2299e.cf70f8","type":"function","z":"788a1dca.e79704","name":"Generate URL","func":"msg.url = \"https://api.tinygs.com/v1/packet/\" + msg.payload[0].id;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1060,"y":500,"wires":[["7c82f5be.d46e8c"]]},{"id":"7c82f5be.d46e8c","type":"http request","z":"788a1dca.e79704","name":"Packet View","method":"GET","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":690,"y":600,"wires":[["8aa7b23f.ef7ea"]]},{"id":"8aa7b23f.ef7ea","type":"json","z":"788a1dca.e79704","name":"","property":"payload","action":"","pretty":false,"x":870,"y":600,"wires":[["793f2b26.bd64b4"]]},{"id":"5b094d5a.fdda84","type":"inject","z":"788a1dca.e79704","name":"Test the packet view","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":370,"y":580,"wires":[["8a32f7ec.46bab8"]]},{"id":"793f2b26.bd64b4","type":"function","z":"788a1dca.e79704","name":"Get Data","func":"let station_id=\"HAVCBUDA\";\n\n// get the data on my station and store it in msg.payload.mystation\nfor (let i=0; i<msg.payload.stations.length; i++) {\n    if (msg.payload.stations[i].name === station_id) {\n        msg.payload.mystation = msg.payload.stations[i];\n    }\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1040,"y":600,"wires":[["7b746baa.2ee694"]]},{"id":"ae8a6dcc.d4642","type":"inject","z":"788a1dca.e79704","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"<div v-if=\"packet.parsed.telemetry\">  📻 {{p.tinygsTxPower}}mW  🌡 {{p.tinygsTxTemp}}ºC <br />  🛰 {{p.tinygsMainVoltage}}mV ⛽️ {{p.tinygsLoadPower}}mW 🌡{{p.tinygsTemp}}ºC<br />  ☀️{{p.tinygsSolarPower}}mW 🔋{{p.tinygsBatCap}}mAh 🔌 {{p.tinygsChargePower}}mW   <br />  🌡 Board PMM: {{p.sesMedianPmmTemp}}ºC  PAM: {{p.sesMedianPamTemp}}ºC   PDM: {{p.sesMedianPdmTemp}}ºC <br />  🌡 Solar Array X-: {{p.sesMedianPanelXTempNegative}}ºC  Solar Array X+: {{p.sesMedianPanelXTempPositive}}ºC <br />  BRK Reset: {{p.brkRestartsCountActive}} Frame: {{p.frameNumber}}<br /></div><div v-else><strong>No parser available for this type of packet.</strong> This is a valid packet but its contents are unknown. The information to decode this packet was not published yet.</div>","payloadType":"str","x":320,"y":1040,"wires":[["ded00aff.f3d3c8"]]},{"id":"ded00aff.f3d3c8","type":"function","z":"788a1dca.e79704","name":"Modify template","func":"let template = msg.payload;\n\ntemplate = template.substring(template.indexOf(\">\")+3,1000);\ntemplate = template.replace(/<br \\/>/g, \"\");\ntemplate = template.substring(0,template.indexOf(\"<\"));\ntemplate = template.replace(/{{p./g, \"{{msg.payload.parsed.payload.\");\n\nmsg.payload = template;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":520,"y":1040,"wires":[["9488923c.7516f"]]},{"id":"9488923c.7516f","type":"debug","z":"788a1dca.e79704","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":740,"y":1040,"wires":[]},{"id":"7b746baa.2ee694","type":"function","z":"788a1dca.e79704","name":"Save Msg","func":"msg.msg2 = msg.payload.mystation.name+\": \"+msg.payload.mystation.distance.toFixed(0)+\" km, \"+msg.payload.mystation.elevation.toFixed(2)+\"°, \"+msg.payload.mystation.receptionParams.rssi+\" dBm, \"+msg.payload.mystation.receptionParams.snr+\" dB\";\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1240,"y":600,"wires":[["11106a04.7a97b6"]]},{"id":"a8162c68.ce732","type":"template","z":"788a1dca.e79704","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"","output":"str","x":1260,"y":660,"wires":[["ea43fe37.996c7"]]},{"id":"11106a04.7a97b6","type":"function","z":"788a1dca.e79704","name":"Modify template","func":"let template = msg.payload.template;\n\ntemplate = template.substring(template.indexOf(\">\")+3,1000);\ntemplate = template.replace(/<br \\/>/g, \"\");\ntemplate = template.substring(0,template.indexOf(\"<\"));\ntemplate = template.replace(/{{p./g, \"{{payload.parsed.payload.\");\n\nmsg.template = template;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1060,"y":660,"wires":[["a8162c68.ce732"]]},{"id":"ea43fe37.996c7","type":"function","z":"788a1dca.e79704","name":"Service Msg","func":"msg.payload = {service: \"18\", type:\"message\", content:msg.msg1+\"\\r\\n\"+msg.msg2+\"\\r\\n\"+msg.payload};\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1470,"y":660,"wires":[["cde0ce13.9cbec"]]},{"id":"cde0ce13.9cbec","type":"link out","z":"788a1dca.e79704","name":"","links":["2e924608.894aba"],"x":1655,"y":660,"wires":[]},{"id":"845dd36a.0627d","type":"mqtt-broker","z":"","name":"TinyGS","broker":"mqtt.tinygs.com","port":"8883","tls":"f8011ef9.80fb7","clientid":"HAVC-NR","usetls":true,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"fa074c13.b554f","type":"ui_group","z":"","name":"History","tab":"afcae7a3.2d13b8","order":1,"disp":true,"width":"12","collapse":false},{"id":"f8011ef9.80fb7","type":"tls-config","z":"","name":"","cert":"","key":"","ca":"","certname":"","keyname":"","caname":"","servername":"","verifyservercert":true},{"id":"afcae7a3.2d13b8","type":"ui_tab","z":"","name":"TinyGS","icon":"dashboard","disabled":false,"hidden":false}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement