Amazon Echo Home Automation Skill

I’ve updated my Amazon Echo Photon Home Automation Skill - you’ll find it easy as ever to integrate with all aspects of the home automation skill.

And the project write up:



Thanks for sharing!

Having a bit of trouble adding devices …Will they show up or will Alexa just talk to the Particle through the cloud?

Great idea though

Great project, unfortunately not available to me as it isn’t set for German language although Amazon Smart Home Skills would work.

Amazon does not allow me to select a non-German skill even when changing the language of the Echo/Echo Dot/… to English.
The “patronising” reason they gave was to protect customers from using skills that would not work where they are living like ordering a pizza from a US shop while being in Germany - but how dumb do they think customers are? BTW, the same would go for a pizza shop in Vienna that doesn’t deliver to Berlin although both use German skills doh’ :rolling_eyes:


I got the same issue. Is there any solution for this. I’d like to use my German Alexa but some English skills as well…

The problem is particle’s oauth layer does not support multiple call back urls, so I will have to roll another copy of the skill with new credentials. Not sure how soon I can get to it.

1 Like

Make sure to say discover devices

Thanks for that clarification :+1:
Maybe Particle (@will) can have a look into a way around that

Yea tried that …even double check connection and used a node-red alexa app to try and it works with the node red particle

Jade7272 - would you share your code please?

Hi! … i implemented a similar system based on Alexa and Particle, but, as in this case (if i understood it well), the reponses sent back to the Amazon Echo device are generated from the Lambda function with no confirmation that the Photon device successsfully turned the light to the desired state (for example). However, what i would like to implement is that, once the Photon device receives the command from the Lamda function, and it successfully executes it, it sends a “notification” to the Lambda Function (for example using a cloud function) to send a response back to the Amazon Echo device. does anyone successfully implemented this feature as described?. thanks.

My Lambda function natively looks for a valid 200 http response which is generated after the function in the particle issues a return before returning the response json to amazon, however, it doesn’t “validate” the functionality was complete, only that the call was complete. Now this is different for lock and temperature functions, where you can request lock and temperature current states (is locked, temperature is, temperature is set to), which return to the lambda and then to amazon.

You have to be careful, especially with long running routines, to return out of the functions in the particle quickly as to not timeout the lambda (technically the http request), so while we don’t “validate” the device was turned on or off, we do validate the call was completed successfully and something was returned from the function. It wouldn’t be too hard to add validation, but it would have to be an option added, as we wouldn’t want to break existing implementations by just changing the lamba to look at the return int from the particle function (0 for ok, -1 for failed or something).

Curious what your thoughts and use case are??

1 Like

Hi @AlbertZeroK … thanks for your answer. in my particular case, the final aim is to use a Red Bear Duo (almost fully compatible with Particle code but supporting Wifi+BLE) instead of the Photon, and use it to control different BLE devices from voice commands with an Alexa Echo … and thus i would like to validate that the commands are correctly executed by the end device … so my initial idea was to implement in the Red Bear Duo the funcionality to, once it receives a confirmation from the BLE end device,send a “notification” back to the Lambda function and, from it, send a message to be reproduced on the Amazon Echo. If not, any problem with the BLE connection/device in order to execute the command will not be properly detected by the lambda funcion, and finally by the Alexa Echo’s user. thanks again for your support.

So for now, you can just do a delay of more than 3 seconds and the lambda will time out, forcing an error on the alexa device, but I’ll add functionality to return a pass / fail in the next release, but give me a few weeks, we leave for holiday friday.