Control Homeassistant With Autovoice

Intro: Control Homeassistant With Autovoice

I use this addon with hass.io

https://github.com/notoriousbdg/hassio-addons

Step 1: Making the Flow:

Open node red and import from clipboard:

[{"id":"165e858.8828e7b","type":"http in","z":"2dc8d53.130392a","name":"Request","url":"/autovoicedemo","method":"get","upload":false,"swaggerDoc":"","x":65,"y":24,"wires":[["a6f33781.dad458","1250379d.83f9e8"]]},{"id":"1250379d.83f9e8","type":"debug","z":"2dc8d53.130392a","name":"debug node1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":323,"y":55,"wires":[]},{"id":"a6f33781.dad458","type":"function","z":"2dc8d53.130392a","name":"","func":"//use line 3 for autovoice tasker\n//use line 4 for testing in a browser\nvar temp = msg.req.query.text;// autovoice\n//var temp = msg.payload.data; //web http://user:pass@ipadresse/autovoicedemo?turn%20on%demo\ntemp = temp.toLowerCase();\ntemp = temp.replace(\"temp\",\"test\");\ntemp = temp.replace(\"tester\",\"test\");\ntemp = temp.replace(\"lights\",\"light\");\ntemp = temp.replace(\"lamp\",\"light\");\nmsg.payload = temp;\nreturn msg;","outputs":1,"noerr":0,"x":140,"y":98,"wires":[["2c0447e0.50cb88"]]},{"id":"2c0447e0.50cb88","type":"change","z":"2dc8d53.130392a","name":"","rules":[{"t":"set","p":"intext","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":185,"y":181,"wires":[["8463e1b9.4ed3","4ed32b9.be556d4"]]},{"id":"4ed32b9.be556d4","type":"function","z":"2dc8d53.130392a","name":"setting response","func":"temp = msg.intext;\ntemp = temp.replace(\"turn\",\"turning\");\ntemp = temp.replace(\"switch\",\"switching\");\nmsg.payload = \"ok, \" + temp;\nreturn msg;","outputs":1,"noerr":0,"x":500,"y":137,"wires":[["57010e61.2ce46"]]},{"id":"57010e61.2ce46","type":"http response","z":"2dc8d53.130392a","name":"","statusCode":"","headers":{},"x":701,"y":122,"wires":[]},{"id":"8463e1b9.4ed3","type":"switch","z":"2dc8d53.130392a","name":"on or off","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"off","vt":"str"},{"t":"cont","v":"on","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":213,"y":293,"wires":[["55d30093.6d9cb"],["2608b174.32f8ce"]]},{"id":"55d30093.6d9cb","type":"change","z":"2dc8d53.130392a","name":"setting service to off","rules":[{"t":"set","p":"service","pt":"msg","to":"turn_off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":401,"y":251,"wires":[["2cb5822.a6e7f7e"]]},{"id":"2608b174.32f8ce","type":"change","z":"2dc8d53.130392a","name":"setting service to on","rules":[{"t":"set","p":"service","pt":"msg","to":"turn_on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":407,"y":309,"wires":[["2cb5822.a6e7f7e"]]},{"id":"2cb5822.a6e7f7e","type":"switch","z":"2dc8d53.130392a","name":"light select","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"demo","vt":"str"},{"t":"cont","v":"test","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":612,"y":291,"wires":[["b1728ef8.80775"],["8e3fc65e.9e8f78"]]},{"id":"b1728ef8.80775","type":"change","z":"2dc8d53.130392a","name":"setting data to test switch1","rules":[{"t":"set","p":"data","pt":"msg","to":"switch.bod_oppe_bod","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":834,"y":237,"wires":[["515757f2.53b618"]]},{"id":"8e3fc65e.9e8f78","type":"change","z":"2dc8d53.130392a","name":"setting data to test switch1","rules":[{"t":"set","p":"data","pt":"msg","to":"switch.bod_oppe_bod","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":833,"y":341,"wires":[["515757f2.53b618"]]},{"id":"515757f2.53b618","type":"template","z":"2dc8d53.130392a","name":"Formatting for hass.io","field":"payload","fieldType":"msg","format":"json","syntax":"mustache","template":" { \"data\": {\"entity_id\": \"{{data}}\" },\n \"service\": \"{{service}} \" \n }\n","output":"json","x":1075,"y":279,"wires":[["ce858d.40ab1a7","a1c6af5b.870cd"]]},{"id":"ce858d.40ab1a7","type":"debug","z":"2dc8d53.130392a","name":"debug node2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1237,"y":194,"wires":[]}]

Step 2: Add Homeassistant Palette If You Dont Have It

Add homeassistant palette like in the pictures

You need to set this up first time..

Let me know if i have to add steps for that

Step 3: Add Homeassistant Node

Add home assistant node like in the pictures.

Connect it to the formatting node

Edit the node to:

Server: homeassistant

Domain: homeassistant, light or switch. (i use homeassistant since it can do both)

You need to edit the setting data switches to match entity_id of the lights you want to integrate.

Adding more lights is easy.. just add them under add item in the switch node

Step 4: Making the Tasker Task

Open tasker and create a new task

first choose plugin -> autovoice and recognize

Then add a http get:

under server:port add: http//user:pass@[ip-to-nodered]:[port]

under path add: autovoicedemo

attributes: text=avcomm

User/Agent: application/json

if you use ssl and have problems try checking trust any certificate

Then add a flash %HTTPD

and finally a say %HTTP

Run the task and check if it works..

If you need me to add more info or steps let me know

Share

    Recommendations

    • Metalworking Contest

      Metalworking Contest
    • Furniture Contest 2018

      Furniture Contest 2018
    • Tiny Home Contest

      Tiny Home Contest

    2 Discussions

    0
    None
    RunePDIY Hacks and How Tos

    Reply 5 months ago

    No not really.. Will be a picture of a raspberry pi since thats where it haåpens... but i could make a demonstration video of how it works if that helps?