Amazon Echo Photon Bridge by IOTPimp


Thought I would give everyone a sneak peak at my new Amazon Echo Home Automation Integration bridge. This is a combination of a NodeJS Lambda script which interacts with a library on the Particle IO and brings Alexa integration for OnOff, Color, Percent, Thermostat, Light Temperature and Locks right to your finger tips.

I have submitted the application to amazon for approval as an Alexa application, so it should be out in a few days, and just pushed the library to the Particle Cloud with the CLI.

Let me know what you think!

Echo Photon Bridge by IOT Pimp


Will other languages be supported by that skill too?


As of right now, it’s C++ on the particle only. The Lambda written in NodeJS isn’t a concern, that’s the Alex application it’s self. What other languages work on the particle? i thought only C++


I actually meant human languages - English US, English UK, German, …
Amazon lets you only select skills created for your own local language.


The limitation is the oAuth call back url, which is limited to Us at the moment, once I get this up, I’ll release one for the rest of the world. The limitation is the oAuth credentials to connect to particle cloud only allow one valid call back URL, so since the rest of the world uses a different one, an entirely different application would have to be released.

But yes, once I get this up and running, I’ll put another app together for the rest of the world.,


I’m just trying to figure out the whole lambda coding for a particle smart home integration with Alexa, this skill might be the solution! Any news on a international (German) version of this?

I already got the O Auth running between the particle cloud and the Alexa skill and if I create a second language (English-US) the redirect URL is the same… Does this have anything to do with the problem?


The international one requires a differenntt oAuth call back url, I’m working on an update today for this. PM me your email address and I’ll add you to tthe beta list…

I moved the home to bit bucket too:


Thanks for creating this! I was able to use this native Alexa Skill to control my living room light using an Amazon Dot and Particle Photon board. Previously, I was using IFTTT applets to control everything, but they were slower than I liked. I think the functions for OnOff, Color, Percent, Thermostat, Light Temperature and Lock are great, but I was wondering if you were planning on adding a function for Speed? I’m hoping to be able to control my living room fan also. Ideally, I’m looking for the ability for the function to recognize “Off”, “Low”, “Medium” and “High” commands. This this something you were planning on adding?


@cbusso Thanks!! It was fun writing.

So the voice commands you can use for home automation are pre-defined by Amazon, I can’t change them. For speed, you have two options.

  1. Use Percentage to change speed, 1-100% (I would enable this regardless of if you do the others or not, also, note, you may need to program minimums, I have a fan that I did that has to be a minimum of 30% or it won’t spin.) If you are enabling set speeds, you can map percentage to speed easy enough 0-33 is low, 33-66 medium >66 high.
  2. Add another device, “Alexa, Bedroom Fan Medium Speed On” - you can add as many as you like. Optionally, this can store the speed in flash or just RAM if you are okay with it being volitile, then read this when the fan is turned back on, to enable the correct pre-set speed.

Personally, I’d do both and add a standard “Alexa, Bedroom Fan On” with speed stored in flash from previous calls to restore the prior set speed.

Let me know how this works for you! Glad to see you like the skill, I’ll be expanding it soon, to allow multiple photons to have the same alexa device name, and to pass down the device id of the device making the alexa call (so you can map photon to a specific alexa device, like bedroom photon is only activatable by the bedroom echo.) Let me know if you have other ideas as well!


@AlbertZeroK Thanks a lot for getting back to me so quickly! I actually had the same thoughts. I’ve already modified the code to map 0% -> Off, <= 25% -> Low, 26%-50% -> Medium and 51-100% -> High. I’m going to test it out when I get home from work today. I’ll also add the other devices like you suggested! Again, thanks for creating this great Skill!