Home Assistant: Difference between revisions
(Created page with "This is a page") |
No edit summary |
||
Line 1: | Line 1: | ||
=Tips= | |||
[[http://home-assistant.io/common-tasks/os/ Common Tasks HAOS]]<br> | |||
{{template:top}} | |||
==Alexa without Nabu Casa== | |||
1. Install Node Red Add-on to Home Assistant.<br> | |||
2. Add the node-red-contrib-alexa-cakebaked node to the pallete.<br> | |||
3. Here’s the magic. Create an account on Ben Hardill’s website. Ben maintains the magic link between Alexa and Node Red. He does all of the AWS work for you. Adding devices could not be easier. I have 40 devices on his server now, and adding a new device takes about two minutes. If I am slow. Ben offers this service to the community for free, but I strongly recommend that you to commit a $1/month sponsorship through Github.<br> | |||
In this example, I will add a Sonoff Mini R4 that I just flashed with ESPHome. Alexa will know it as “Fred”, and Home Assistane already knows the ESPHome device as “sonoffminir4”. | |||
Open the Hardill site and click on devices.<br> | |||
Click on Add Device. As in the image below, I named the device “Fred”, and made it a simple on-off<br> | |||
[[File:Hardill- Add New Device.jpg]]<br clear=all> | |||
After adding the device to your Hardill account, tell Alexa to “Discover”. About a minute later, Alexa announces that she had found a new device: “Fred”. | |||
In Home Assistant/Node-Red, drop the Alexa-home node on your flow. The first time you open it you will need to configure the node with your Alexa login credentials. | |||
You should find Fred in the device dropdown. It isn’t alphabetic, but the most recent device added is usually at the bottom of the list. Select Fred then click on “Done”.<br> | |||
[[File:NodeRed- Edit Alexa Home Node device.jpg]]<br clear=all> | |||
I added a debug node to show that Alexa is responding to “Fred”. Deploy, then select the Debug panel:<br> | |||
[[File:NodeRed- Flow- Fred.jpg]]<br clear=all> | |||
Now, when I say “Alexa, turn on Fred”, the Alexa Home node outputs a command, “TurnOnRequest” for on and “TurnOffRequest” for off.<br> | |||
[[File:NodeRed- Flow- Fred- Debug.jpg]]<br clear=all> | |||
From here you can do just about anything you want with the Node Red flow. But, I just want to turn the Sonoff switch on or off, so I added a switch node to determine if the command was “TurnOnRequest” or “TurnOffRequest”. Then a Change Node to change the payload to “on” or “off”, then finally into a “Call Service” node to tell Home Assistant to turn Fred on or off.<br> | |||
[[File:NodeRed- Flow- Fred- Complete.jpg]]<br clear=all> | |||
===the flow code=== | |||
<code>[{"id":"a0859613214d75bc","type":"alexa-home","z":"5d1b0398.99236c","conf":"49ef520c.ed4c0c","device":"199512","acknoledge":true,"name":"Fred","topic":"","x":190,"y":2860,"wires":[["d3e7050d43452a6f"]]},{"id":"d3e7050d43452a6f","type":"switch","z":"5d1b0398.99236c","name":"on or off","property":"command","propertyType":"msg","rules":[{"t":"eq","v":"TurnOnRequest","vt":"str"},{"t":"eq","v":"TurnOffRequest","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":360,"y":2860,"wires":[["b295e70dfb6e5e97"],["4da578b998f05402"]]},{"id":"b295e70dfb6e5e97","type":"change","z":"5d1b0398.99236c","name":"Set payload to on","rules":[{"t":"set","p":"payload","pt":"msg","to":"on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":2840,"wires":[["4e46a720527e90e6"]]},{"id":"4da578b998f05402","type":"change","z":"5d1b0398.99236c","name":"Set payload to off","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":2880,"wires":[["233cec751d2910a7"]]},{"id":"4e46a720527e90e6","type":"api-call-service","z":"5d1b0398.99236c","name":"Turn Fred On","server":"cc0d1734.6963a8","version":5,"debugenabled":true,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.sonoffminir4_sonoffminir4"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":2840,"wires":[[]]},{"id":"233cec751d2910a7","type":"api-call-service","z":"5d1b0398.99236c","name":"Turn Fred Off","server":"cc0d1734.6963a8","version":5,"debugenabled":true,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.sonoffminir4_sonoffminir4"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":790,"y":2880,"wires":[[]]},{"id":"49ef520c.ed4c0c","type":"alexa-home-conf","username":"SteveMann","info":"https://alexa-node-red.bm.hardill.me.uk/"},{"id":"cc0d1734.6963a8","type":"server","name":"Home Assistant- Raspberry","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]</code> | |||
{{template:top}} |
Revision as of 11:20, 6 September 2023
Tips
Alexa without Nabu Casa
1. Install Node Red Add-on to Home Assistant.
2. Add the node-red-contrib-alexa-cakebaked node to the pallete.
3. Here’s the magic. Create an account on Ben Hardill’s website. Ben maintains the magic link between Alexa and Node Red. He does all of the AWS work for you. Adding devices could not be easier. I have 40 devices on his server now, and adding a new device takes about two minutes. If I am slow. Ben offers this service to the community for free, but I strongly recommend that you to commit a $1/month sponsorship through Github.
In this example, I will add a Sonoff Mini R4 that I just flashed with ESPHome. Alexa will know it as “Fred”, and Home Assistane already knows the ESPHome device as “sonoffminir4”.
Open the Hardill site and click on devices.
Click on Add Device. As in the image below, I named the device “Fred”, and made it a simple on-off
After adding the device to your Hardill account, tell Alexa to “Discover”. About a minute later, Alexa announces that she had found a new device: “Fred”.
In Home Assistant/Node-Red, drop the Alexa-home node on your flow. The first time you open it you will need to configure the node with your Alexa login credentials.
You should find Fred in the device dropdown. It isn’t alphabetic, but the most recent device added is usually at the bottom of the list. Select Fred then click on “Done”.
I added a debug node to show that Alexa is responding to “Fred”. Deploy, then select the Debug panel:
Now, when I say “Alexa, turn on Fred”, the Alexa Home node outputs a command, “TurnOnRequest” for on and “TurnOffRequest” for off.
From here you can do just about anything you want with the Node Red flow. But, I just want to turn the Sonoff switch on or off, so I added a switch node to determine if the command was “TurnOnRequest” or “TurnOffRequest”. Then a Change Node to change the payload to “on” or “off”, then finally into a “Call Service” node to tell Home Assistant to turn Fred on or off.
the flow code
[{"id":"a0859613214d75bc","type":"alexa-home","z":"5d1b0398.99236c","conf":"49ef520c.ed4c0c","device":"199512","acknoledge":true,"name":"Fred","topic":"","x":190,"y":2860,"wires":"d3e7050d43452a6f"},{"id":"d3e7050d43452a6f","type":"switch","z":"5d1b0398.99236c","name":"on or off","property":"command","propertyType":"msg","rules":[{"t":"eq","v":"TurnOnRequest","vt":"str"},{"t":"eq","v":"TurnOffRequest","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":360,"y":2860,"wires":[["b295e70dfb6e5e97"],["4da578b998f05402"]]},{"id":"b295e70dfb6e5e97","type":"change","z":"5d1b0398.99236c","name":"Set payload to on","rules":[{"t":"set","p":"payload","pt":"msg","to":"on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":2840,"wires":"4e46a720527e90e6"},{"id":"4da578b998f05402","type":"change","z":"5d1b0398.99236c","name":"Set payload to off","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":2880,"wires":"233cec751d2910a7"},{"id":"4e46a720527e90e6","type":"api-call-service","z":"5d1b0398.99236c","name":"Turn Fred On","server":"cc0d1734.6963a8","version":5,"debugenabled":true,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.sonoffminir4_sonoffminir4"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":2840,"wires":[[]]},{"id":"233cec751d2910a7","type":"api-call-service","z":"5d1b0398.99236c","name":"Turn Fred Off","server":"cc0d1734.6963a8","version":5,"debugenabled":true,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.sonoffminir4_sonoffminir4"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":790,"y":2880,"wires":[[]]},{"id":"49ef520c.ed4c0c","type":"alexa-home-conf","username":"SteveMann","info":"https://alexa-node-red.bm.hardill.me.uk/"},{"id":"cc0d1734.6963a8","type":"server","name":"Home Assistant- Raspberry","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]