-
Notifications
You must be signed in to change notification settings - Fork 1
/
edge_flow.json
1 lines (1 loc) · 6.63 KB
/
edge_flow.json
1
[{"id":"e9d7aeb4.e4a6","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"6f48ad14.571cd4","type":"ruuvitag","z":"e9d7aeb4.e4a6","name":"","x":269,"y":332,"wires":[["f2010f77.f61bc"]]},{"id":"74f72cd5.e4eac4","type":"inject","z":"e9d7aeb4.e4a6","name":"","topic":"","payload":"{\"scan\": true}","payloadType":"json","repeat":"60","crontab":"","once":true,"onceDelay":0.1,"x":256,"y":98,"wires":[["8200b488.4a60d8","cecefe4c.c92cc"]]},{"id":"451c2abe.023144","type":"debug","z":"e9d7aeb4.e4a6","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":691,"y":436,"wires":[]},{"id":"f2010f77.f61bc","type":"json","z":"e9d7aeb4.e4a6","name":"","property":"payload","action":"","pretty":false,"x":264,"y":387,"wires":[["1c4f902d.10237"]]},{"id":"1c4f902d.10237","type":"function","z":"e9d7aeb4.e4a6","name":"","func":"const toStream = {\n [\"deviceUuid\"]: msg.peripheralUuid,\n [\"humidity\"]: msg.payload.humidity,\n [\"temperature\"]: msg.payload.temperature,\n [\"pressure\"]: msg.payload.pressure,\n [\"accelerationX\"]: msg.payload.accelerationX,\n [\"accelerationY\"]: msg.payload.accelerationY,\n [\"accelerationZ\"]: msg.payload.accelerationZ,\n [\"battery\"]: msg.payload.battery,\n [\"timestamp\"]: msg.detectedAt\n}\nmsg.payload = toStream\nreturn msg;","outputs":1,"noerr":0,"x":483,"y":390,"wires":[["4d7a64b3.adcdec"]]},{"id":"76b71350.6e262c","type":"streamr-pub","z":"e9d7aeb4.e4a6","name":"","stream":"a224364c.7430d8","x":699,"y":118,"wires":[]},{"id":"8200b488.4a60d8","type":"scan ble","z":"e9d7aeb4.e4a6","uuids":"","duplicates":true,"name":"","x":272,"y":248,"wires":[["6f48ad14.571cd4"]]},{"id":"428bf68a.cf2d68","type":"function","z":"e9d7aeb4.e4a6","name":"zScore","func":"var totalAccelerationWindow = context.get('totalAccelerationWindow') || {}\nif (totalAccelerationWindow[msg.payload.deviceUuid] === undefined) {\n totalAccelerationWindow[msg.payload.deviceUuid] = []\n}\n\nconst totalAcc = Math.sqrt(Math.pow(msg.payload.accelerationX,2) + Math.pow(msg.payload.accelerationY,2) + Math.pow(msg.payload.accelerationZ,2))\nmsg.payload.totalAcceleration = totalAcc\ntotalAccelerationWindow[msg.payload.deviceUuid].push(totalAcc);\n\nsum = totalAccelerationWindow[msg.payload.deviceUuid].reduce((a,b) => a + b, 0);\nn = totalAccelerationWindow[msg.payload.deviceUuid].length;\nmean = sum / n;\nsd = Math.sqrt(totalAccelerationWindow[msg.payload.deviceUuid].map(x=>Math.pow(mean-x,2)).reduce((a,b)=>a+b,0));\n\nif (sd === 0 || totalAccelerationWindow[msg.payload.deviceUuid].length <= 60) {\n msg.payload.zscoreTotalAcceleration = 0;\n} else {\n msg.payload.zscoreTotalAcceleration = (totalAcc-mean) / (sd);\n}\n\nmsg.payload.meanTotalAcceleration = mean;\nif (totalAccelerationWindow[msg.payload.deviceUuid].length > 60) {\n totalAccelerationWindow[msg.payload.deviceUuid].shift();\n}\ncontext.set('totalAccelerationWindow', totalAccelerationWindow)\nreturn msg;","outputs":1,"noerr":0,"x":696,"y":196,"wires":[["76b71350.6e262c","451c2abe.023144","bc5d653d.e28da8"]]},{"id":"a8b5b7ed.377248","type":"switch","z":"e9d7aeb4.e4a6","name":"zscoreTotal","property":"payload.zscoreTotalAccelerationAbs","propertyType":"msg","rules":[{"t":"gte","v":"zscoreThreshold","vt":"flow"}],"checkall":"true","repair":false,"outputs":1,"x":1115,"y":156,"wires":[["863df726.242158","ff409e27.698dd"]]},{"id":"bc5d653d.e28da8","type":"function","z":"e9d7aeb4.e4a6","name":"zAccAbs","func":"msg.payload.zscoreTotalAccelerationAbs = Math.abs(msg.payload.zscoreTotalAcceleration)\n\nreturn msg;","outputs":1,"noerr":0,"x":919,"y":152,"wires":[["a8b5b7ed.377248"]]},{"id":"863df726.242158","type":"debug","z":"e9d7aeb4.e4a6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload.zscoreTotalAccelerationAbs","targetType":"msg","x":1015.5,"y":80,"wires":[]},{"id":"e394e9b4.053888","type":"streamr-pub","z":"e9d7aeb4.e4a6","name":"DoorOpens","stream":"8a27b63c.bccf68","x":957.5,"y":428,"wires":[]},{"id":"f6066d6.8334e9","type":"function","z":"e9d7aeb4.e4a6","name":"format","func":"const ret = {\n \"deviceUuid\": msg.payload.deviceUuid,\n \"timestamp\": msg.payload.timestamp,\n \"gForce\": msg.payload.totalAcceleration,\n \"gForceMean\": msg.payload.meanTotalAcceleration,\n \"zScoreG\": msg.payload.zscoreTotalAcceleration\n}\nmsg.payload = ret\nreturn msg;","outputs":1,"noerr":0,"x":936.5,"y":363,"wires":[["e394e9b4.053888","38e7e8ce.045118"]]},{"id":"ff409e27.698dd","type":"function","z":"e9d7aeb4.e4a6","name":"FilterNearbyTimestamp","func":"var lastEvent = context.get('lastEvent') || {}\nmsg[\"toStream\"] = true\nif (lastEvent === {}) {\n context.set('lastEvent', msg.payload)\n return msg\n}\nif (lastEvent.timestamp + 4000 > msg.payload.timestamp) {\n msg[\"toStream\"] = false\n return msg;\n}\n\ncontext.set('lastEvent', msg.payload)\nreturn msg;","outputs":1,"noerr":0,"x":986.5,"y":248,"wires":[["1a2bc9d4.fc6646"]]},{"id":"1a2bc9d4.fc6646","type":"switch","z":"e9d7aeb4.e4a6","name":"","property":"toStream","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":926.5,"y":306,"wires":[["f6066d6.8334e9"],["38e7e8ce.045118"]]},{"id":"51cfafd.0cfcb5","type":"function","z":"e9d7aeb4.e4a6","name":"Tresholds","func":"if (Number(msg.payload) <= 1 && Number(msg.payload) >= 0) {\n flow.set('zscoreThreshold', Number(msg.payload))\n} else {\n flow.set('zscoreThreshold', 0.5)\n}\nreturn msg;","outputs":1,"noerr":0,"x":498,"y":80,"wires":[["5562d5e8.fe9fec"]]},{"id":"4d7a64b3.adcdec","type":"switch","z":"e9d7aeb4.e4a6","name":"FridgeFilter","property":"payload.deviceUuid","propertyType":"msg","rules":[{"t":"eq","v":"e73107d15c56","vt":"str"},{"t":"eq","v":"fe2f54accce6","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":568,"y":274,"wires":[["428bf68a.cf2d68"],["428bf68a.cf2d68"]]},{"id":"cecefe4c.c92cc","type":"http request","z":"e9d7aeb4.e4a6","name":"update edge model","method":"GET","ret":"txt","paytoqs":false,"url":"https://sujuwa-fridge.eu-gb.mybluemix.net/getGZscore","tls":"","proxy":"","authType":"basic","x":502,"y":33,"wires":[["51cfafd.0cfcb5"]]},{"id":"5562d5e8.fe9fec","type":"debug","z":"e9d7aeb4.e4a6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":501,"y":122,"wires":[]},{"id":"38e7e8ce.045118","type":"debug","z":"e9d7aeb4.e4a6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1181,"y":368,"wires":[]},{"id":"a224364c.7430d8","type":"streamr-config","z":"","apiKey":"","streamId":""},{"id":"8a27b63c.bccf68","type":"streamr-config","z":"","apiKey":"","streamId":""}]