test
-
-
Save ebalvis/af07d5e80dce4c1397e31842d90747d2 to your computer and use it in GitHub Desktop.
test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[{"id":"f10a1076.cc20b","type":"tab","label":"Google Now"},{"id":"5e61d8f5.683d08","type":"http in","z":"f10a1076.cc20b","name":"Request","url":"/google","method":"get","swaggerDoc":"","x":85,"y":109,"wires":[["fa63c682.86a698","d86d0365.9314"]]},{"id":"bd8d0057.3561f","type":"http response","z":"f10a1076.cc20b","name":"Response","x":948,"y":103,"wires":[]},{"id":"fa63c682.86a698","type":"debug","z":"f10a1076.cc20b","name":"","active":true,"console":"false","complete":"req.query.text","x":340,"y":36,"wires":[]},{"id":"a95df868.6e9e18","type":"inject","z":"f10a1076.cc20b","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":116,"y":238,"wires":[["5e27cf7c.87c67"]]},{"id":"d86d0365.9314","type":"function","z":"f10a1076.cc20b","name":"Analyze voice command","func":"var temp = msg.req.query.text;\nmsg.payload.command = 0;\nmsg.payload.success = false;\n\n// removing rubbish\ntemp = temp.toLowerCase();\ntemp = temp.replace(\"a \",\"\");\ntemp = temp.replace(\"the \",\"\");\ntemp = temp.replace(\"to \",\"\");\ntemp = temp.replace(\"home \",\"\");\ntemp = temp.replace(\"lights\",\"light\");\n\n// check if the command is to turn something on/off\nif (temp.indexOf(\"turn\")>-1) {\n temp = temp.replace(\"turn \",\"\");\n msg.payload.command = 1;\n}\nif (temp.indexOf(\"switch\")>-1) {\n temp = temp.replace(\"switch \",\"\");\n msg.payload.command = 1;\n}\n\n// check if the command is about the solar panels\nif (temp.indexOf(\"solar\")>-1) {\n temp = temp.replace(\"solar \",\"\");\n msg.payload.command = 2;\n}\n\n// let's try finding the thing and state\n// the turn/switch commands are expected as 'turn <state> the <thing>'\nvar lastIndex= temp.indexOf(\" \");\nvar voice_state = temp.substring(0, lastIndex).trim();\nvar voice_thing = temp.substring(lastIndex+1,temp.length).trim();\n\n// evaulate the state\nif (voice_state===\"on\") {\n msg.payload.command_value = \"1\";\n}\nif (voice_state===\"off\") {\n msg.payload.command_value = \"0\";\n}\n\n// handle the solar request\nif (msg.payload.command===2) {\n msg.payload.response=\"The solar system is currently generating \" + global.get(\"growatt_power\") + \" watts. Total generation today is \" + global.get(\"growatt_today\") + \" kilowatt hours.\";\n}\n\n// handle the switch commands\nif (msg.payload.command===1) {\n switch (voice_thing) {\n case \"christmas light\":\n msg.payload.response=\"OK, turning \" + voice_state + \" the \" + voice_thing;\n msg.payload.success = true;\n msg.payload.command_thing=\"Sonoff1\";\n break;\n case \"test light\":\n msg.payload.response=\"OK, turning \" + voice_state + \" the \" + voice_thing;\n msg.payload.success = true;\n msg.payload.command_thing=\"Test\";\n break;\n default:\n msg.payload.response=\"Sorry, I did not understand turning \" + voice_state + \" the \" + voice_thing;\n msg.payload.success = false;\n break;\n }\n}\n\n\n\nreturn msg;","outputs":1,"noerr":0,"x":366,"y":104,"wires":[["a695aaf0.376488","2138e92c.d64296","973d8cab.37a9"]]},{"id":"a695aaf0.376488","type":"debug","z":"f10a1076.cc20b","name":"","active":true,"console":"false","complete":"false","x":864,"y":211,"wires":[]},{"id":"2138e92c.d64296","type":"switch","z":"f10a1076.cc20b","name":"Check if command was valid","property":"payload.success","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","outputs":1,"x":423,"y":311,"wires":[["a2cac641.fbd748"]]},{"id":"a2cac641.fbd748","type":"switch","z":"f10a1076.cc20b","name":"Check command","property":"payload.command","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"3","vt":"num"}],"checkall":"true","outputs":3,"x":128,"y":411,"wires":[["a1658db8.a14f8","6c537189.6ac2d"],[],[]]},{"id":"a1658db8.a14f8","type":"switch","z":"f10a1076.cc20b","name":"Christmas light?","property":"payload.command_thing","propertyType":"msg","rules":[{"t":"eq","v":"Sonoff1","vt":"str"}],"checkall":"true","outputs":1,"x":399,"y":398,"wires":[["679a67b2.f0ba68"]]},{"id":"679a67b2.f0ba68","type":"function","z":"f10a1076.cc20b","name":"Put value to payload","func":"msg.payload = msg.payload.command_value;\nreturn msg;","outputs":1,"noerr":0,"x":618,"y":399,"wires":[["1af837e2.52f558"]]},{"id":"973d8cab.37a9","type":"function","z":"f10a1076.cc20b","name":"Put response into payload","func":"msg.payload = msg.payload.response;\nreturn msg;","outputs":1,"noerr":0,"x":697,"y":103,"wires":[["bd8d0057.3561f"]]},{"id":"5e27cf7c.87c67","type":"function","z":"f10a1076.cc20b","name":"Move value","func":"msg.req.query.text = \"home turn on the christmas light\"\nreturn msg;","outputs":1,"noerr":0,"x":239,"y":173,"wires":[["d86d0365.9314"]]},{"id":"1af837e2.52f558","type":"link out","z":"f10a1076.cc20b","name":"","links":["2bd7b670.60308a"],"x":856.4999694824219,"y":397.6666488647461,"wires":[]},{"id":"6c537189.6ac2d","type":"switch","z":"f10a1076.cc20b","name":"Test light?","property":"payload.command_thing","propertyType":"msg","rules":[{"t":"eq","v":"Test","vt":"str"}],"checkall":"true","outputs":1,"x":393.6666564941406,"y":465.6666564941406,"wires":[["146bb513.5434fb"]]},{"id":"146bb513.5434fb","type":"function","z":"f10a1076.cc20b","name":"Put value to payload","func":"//msg.payload = msg.payload.command_value;\nmsg.url = \"http://192.168.1.133/control?cmd=gpio,12,\"+msg.payload.command_value;\nnode.status({fill:\"blue\",shape:\"ring\",text:msg.url});\nreturn msg;","outputs":1,"noerr":0,"x":622.6666564941406,"y":466.6666564941406,"wires":[["8f969c51.fd772"]]},{"id":"8f969c51.fd772","type":"http request","z":"f10a1076.cc20b","name":"","method":"GET","ret":"txt","url":"","x":965.4999694824219,"y":465.6666488647461,"wires":[[]]}] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment