I’m running Openhab 3.2 in Docker. As a next step, I would like to integrate Alexa and have the above Binding and openHAB Cloud Connector installed. With the URL http://:/amazonechocontrol/xxxxxxxxxxxx and subsequent login, the oh3 thing “Amazon account” goes online and offline again after logging out.
Is it correct?
I don’t use the Amazon Echo Control binding, so I don’t know what behaviour it should exhibit. However, you mention the Cloud Connector so I want to clarify something to make sure you’re on the right track.
The Amazon Echo Control binding enables you to add and control an Echo device on your local network.
It doesn’t require a cloud connection, because everything happens within your house and without the Internet. You would use this so that you can add an Echo (and devices the Echo controls) to your openHAB system, same as you would a smart plug or lightbulb.
EDIT: corrected below by @jswim788.
This is different from the Amazon Alexa Smart Home Skill. The smart skill enables you to give voice commands to Alexa (e.g. “Alexa, turn on the lights”) that are then sent to the Amazon cloud, passed to myopenHAB, and finally routed back to your openHAB server. This relies upon the openHAB Cloud Connector.
If you want to give voice commands to openHAB devices, you only need the smart skill. To use that, you just have to add metadata to your items. If you’re using text files for your items, follow the documentation. If you’re using MainUI, it’s third from the bottom in the metadata choices.
However, if you want to add an Echo device so that you can have openHAB send commands to it, you’ll need the Amazon Echo Control binding.
Thank you for your response. I will deal with it again in the next few days and then get back to you.
One more question: I want to give voice commands to Alexa. Does the openHAB Cloud Connector access my existing items and can I also include rules? (I didn’t understand that correctly in the documentation)
OK, I’ll have to deal with this again.
Is that really true? I thought this binding does everything remotely and requires an Internet connection. And that’s why you have to login to the Amazon servers for this to work. The binding documentation says:
This binding uses the same API as the Web-Browser-Based Alexa site (alexa.amazon.de)). In other words, it simulates a user which is using the web page. Unfortunately, this binding can break if Amazon changes the web site.
The binding document also says:
The url <YOUR_OPENHAB>/amazonechocontrol/<YOUR_ACCOUNT>/PROXY/<API_URL> provides a proxy server with an authenticated connection to the Amazon Alexa server. This can be used to call Alexa API from rules.
Do I misunderstand this?
I would use this version of the binding - OH Echo native version has an issue with flipping offline/online.
The echo thing has a number of channels you can use to do various things from rules. You can get alexa to say something using the speak channel by passing the item linked to the channel a string. You can pause or play music, start a routine (never tried this one myself), change the volume.
Is this what you are asking?
Thanks for catching that. I must have confused it with another binding. I’ll strike that out to avoid future confusion.
@adm105, sorry if I’ve caused confusion.
- If you want to control an Echo device from openHAB, you need the Amazon Echo Control binding.
- If you want to control openHAB using Alexa voice commands, you need the Alexa Smart Home Skill.
Now my confusion is complete. I have implemented various lights and shutters with OH3 and now I want to control them via Alexa (by voice command). Can someone describe me in detail how I have to proceed?
Most recently, I just installed Alexa Smart Home Skill and selected “Light” in the metadata of a lamp. The voice command was then not accepted. What am I doing wrong?
Okay, now we’re getting somewhere. If all you want is voice control, we can stop talking about the Amazon Echo Control binding. So you’re not confused anymore. It’s just not working, and we can focus on that.
Adding the metadata tells openHAB that it should share the device with Alexa. I’m guessing that you now have to synchronize with your Alexa account so that it can see the device and control it. Maybe you do that in the Alexa app?
If this was Google, I would either refresh the devices in the Google Home app or say, “Hey Google, sync my devices”. There’s got to be an equivalent for Alexa.
One of the others probably knows this, so hopefully they’ll chime in sooner than later.
Thank you, I’ll keep testing…
I just did a Google search, and if the openHAB skill is added to Alexa then you can ask it to “discover my devices”.
Thank you, I have already done that and if I understood correctly, the lamp should also be found. Unfortunately that doesn’t happen. I have an error somewhere…
My lamps and plugs are provided via Conbee II / Deconz. This service must be activated via Alexa (Port 80). However, the Docker container “Deconz” does not accept port 80 for me. This seems to be the real problem.
How do Docker users among you solve this matter?
The ports that are to be used can be defined in the docker command line:
Right, I also use deconz-docker. However, the container doesn’t start when I set port 80. My understanding is that Alexa communicates through this port.
Can you describe in a little more detail what your approach is?
In case port 80 is not accepted most probably something else is using port 80 and you can use a different one.
sudo netstat -tulpn
to see which ports are in use.
On my instance e.g. port 80 is in use by nginx:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 894/nginx: master p
Deconz e.g. uses ports:
tcp 0 0 0.0.0.0:9443 0.0.0.0:* LISTEN 5590/deCONZ
tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN 5590/deCONZ
udp 0 0 0.0.0.0:1900 0.0.0.0:* 5590/deCONZ
I already use port 80, so I have to assign a different port to deconz, otherwise the container cannot be created. I have it with the instruction
tried and suspect that’s why Alexa won’t connect to Phoscon.
I don’t know what to do next, maybe someone else has a suggestion?