What local http protocols does Alexa support direct communication with smart home devices

Hi,

I am interested in direct http protocols that Alexa supports for controlling Smart Home devices (like bulbs, plugs, …) without any installed skills in the cloud.

as an example, I know Alexa supports native Phillips Hue protocol. Here a github project, where someone implemented fictive API so Alexa thinks, you have a Hue at home and can control it via voice. Same thing with WeMo devices as posted here.

I know that today the recommended way is to create an Alexa SmartHome Skill, register it in Amazon, create a lambda instance, pay for traffic, and communicate with your home via separate channel, etc. I would like to avoid that and implement pure simple HTTP API, which Alexa recognizes via WiFi on local network and can control it.

So my question is: what other http protocols does Alexa support, similarly as Hue or WeMo? Especially, are some of those protocols public and easy to implement?

I could use the WeMo Protocol, but this is very limited, so I am searching for better alternatives that are not so hacky. At the same time I want to keep it very simple and especially avoid the need of having an Alexa Skill implemented and instantiate a lamda for that in Amazon, that would communicate with my Smart Gateway from outside of my home network. I am fine with the fact that Alexa communicates with Amazon cloud, I have problem with the Alexa Skills communicating via a separate channel.

many thanks!

Wrong forum and product. This is a SmartThing forum.

The echo infrastructure doesn’t support any devices through native http calls. They are all cloud based. The only things it does locally are those devices that it can control through zigbee directly and that’s only on the new Echo. Have to have internet to get Alexa to control anything.

Hi Ryan, thanks for your reply! I am aware of Zigbee but this needs extra hardware as you mention. I have echo plus but it would be tricky to make my Raspberry support the Zigbee. I can confirm that Alexa supports at least one native http protocol - Hue Harmony - I was able to start the API locally and make Alexa think I have smart bulbs at home. I was wondering if there are other similar protocols - I found something with Ikea, but I am not sure if this works locally.

on the other hand I read as well that the Alexa Gen 2 does not work reliably with the Hue Protocol so probably Amazon is going away from the native protocols, which is sad.

That project creates a bridge to allow you to control the devices locally but Alexa still runs in the cloud. That’s just the way it works. Without the cloud you aren’t going to be able to control anything with Alexa.

1 Like

yep in that point you are right. Sorry, I placed my question in confusing way. Alexa needs the cloud to understand the speech, no problem with that. I just want to avoid any extra skills that need a cloud instance and communicate from there with the Smart Gateway from outside of my network. I will rephrase my question to make it more clear.

I just found another protocol that works locally - WeMo device. Again this one is very limited and needs a quite hacky way for the implementation (here the description). It would be great if Alexa would support some well defined Rest Interface…

What do you mean “work locally”? The skill to do that isn’t on your hub, it’s in the cloud. The request might go through your hub on your local network but the skill itself is still cloud based. Meaning that without the cloud, you can’t control the device.

By “locally” I mean that Alexa Echo Dot (or Plus) - the device - physically communicates on local network with the smart devices without making the trip over Skills in cloud.

According to the official documentation for Smart Skill Api and this image, Alexa cloud communicates via Skill in the cloud with the cloud instance of the Smart Home Company which then communicates with the Gateway in your home network which then delegates the commands on the smart devices.

In contra to that, Philips Hue and WeMo work differently. If you say “Alexa, discover devices”, the Alexa Echo device will directly communicate inside of your home network with the WeMo/Hue device over WiFi - this means no Skill, no lambda functions in Amazon, no open ports to your network etc.

That is not what it means at all. SmartThings is capable of communicating with devices on your local network via your hub on your local lan. But the software to run that communication starts in the cloud. Same with Alexa. You think that the software to communicate with Hue Devices is resident on your Echo? No, it is not. The skill is still required and resides in the cloud.

Afaik Alexa is indeed capable of communicating with Hue Devices without any Skill connected with your Alexa account. I managed this couple months ago with the hacked Hue interface. Those are quite old devices that Alexa started supporting in the early stages when Alexa was new on market.

Later I managed to develop a working Smart Home Skill for Alexa according to the official documentation - for that you need an Amazon account, cloud Skill and especially a Gateway which can communicate with the Cloud Skill from your home network which means lot of overhead.

The key difference is in the data flow - in case of Hue/WeMo the packets travel:

  • Amazon -> Alexa -> Device

In case of the newer cloud based solutions the packets travel:

  • Amazon -> Alexa -> Skill -> Cloud Smart Server -> Local Gateway -> Device

What do you mean by “SmartThings”? Do you mean it as a general term for all smart devices or does “SmartThings” mean some specific device or protocol that works the same way as WeMo?

EXACTLY…where do you think AMAZON is? It’s not on your device…it’s in the cloud. I give up.

Thank you for your patiente until now. As said, I rephrased my question to make it clear. Of course Amazon lives in cloud and Alexa communicates with that cloud, I have no problem with that fact. This was a typo from me, sorry for the confusion.

I want to achieve a solution where the network traffic between Alexa and Smart Home Gateway will be a direct hop in local network:

Alexa <-> Smart Gateway (and yes, Alexa can use Amazon cloud for the speech translation)

I already implemented the standard solution using AWS Lambda Skills, but this needs another channel from the cloud to your network, traffic costs in AWS Lambda, paid account in Amazon and an extra cloud application (as well paid) communicating with your Home Gateway.

So long story short, I want to implement exactly the WeMo solution (as linked in the question). I was just hoping meanwhile there is a better official protocol in place that Alexa would support.

I believe you have discovered the only two ‘local LAN’ communications supported by the Amazon Echo Devices. As you have stated, the Phillips Hue and Wemo LAN-Connected devices due, in fact, communicate directly with the Amazon Echo on the LAN. Of course, the voice commands are processed via the AWS cloud. I believe that these two integrations are somewhat limited (lights/switches/dimmers only?) compared to a full Alexa Skill implementation.

The original Hubitat Elevation Hub’s Alexa integration was actually as an emulated Hue Bridge. That integration is still available, as the Hubitat Alexa Skill is not available in all countries, yet. I used it without any issues for many months, until Hubitat released an official Alexa Skill.

2 Likes

There are a few home automation or AV devices which want to encourage as many third-party integrations as possible, and provide both a local LAN API and a cloud to cloud option. These include Logitech Harmony, Phillips hue bridge, and Lutron smartbridge pro.

For whatever reasons, the two companies in the logitech/Amazon coupling and the Phillips/Amazon coupling decided to take advantage of the local LAN option.

But Amazon prefers that independent developers use the skills option, and most large companies have done so as well. Since, as has been mentioned, the cloud has been required for voice processing anyway, it’s generally made sense.

Amazon is just now starting to add local voice options, but limited to a very few commands, not natural language processing, and really just intended for the lights and switches that the echo plus can control. But they are moving a little bit in that direction.

There isn’t anything that smartthings adds to this picture in this regard, So I agree that this discussion would be better had in an Amazon developers forum, maybe on Reddit if you want something more independent.

There just isn’t really anything that we can add in the context of this forum other than to confirm that Hue and harmony are handled differently then most devices. But it’s not because of smartthings: it’s because of the way their parent companies have chosen to approach integrations. :sunglasses:

2 Likes

Many thanks! It is sad, that Echo probably does not support more local protocols. Exactly, hue/wemo protocol is very limited, so I was hoping for a better one.

I fear the reason why is that is the business model behind the scenes - companies have to pay to Amazon money when connecting the Alexa Smart Skills (calculated on request basis) - I can imagine Samsung has to pay quite a lot for SmartThings considering how many users they have. And additional fees apply for the smart cloud app companies have to maintain. Unfortunately this architecture has a big negative effect - users have to trust a 2nd company (beside Amazon) to access their home network as the cloud skills need a 2nd channel from the cloud. I am striving for a simpler solution avoiding that. The reason why Alexa supports locally Hue and WeMo is probably the fact, that they were on market before Alexa and Amazon needed this for marketing purpose to attract first customers. Now they are probably closing the support slowly and forcing companies to use the cloud Skills :frowning:

Thanks for the hint with Alexa future in terms of local commands without internet - I was not aware of that - in order to make this work, Alexa would need to support some local APIs which should be possible to implement easily, so there might be a hope. I will have a deeper look into that.

I will have a look as well in the Amazon developer forum as you suggest. I saw in this forum questions related to similar topic with Alexa so I thought this forum is related to any smart devices, sorry for the spam here :slight_smile:

3 Likes

Local device discovery is still supported. I think it is still good option instead of having skill. I have implemented in ESP01, even in that I am able to use more than 10 command and device. I am looking for integration with PC App using same protocol.