[OBSOLETE] Raspberry Pi + SmartThings + Amazon Echo (Alexa) + Harmony Hub + Harmony API server + HTTP Button Creator


  1. Raspberry Pi 1 (B+)
  2. SmartThings Hub V2
  3. Amazon Echo (Dot)
  4. Harmony Hub Home Control


  1. NodeJS for Raspberry Pi - Beginner's Guide to Installing Node.js on a Raspberry Pi | thisDaveJ
  2. Harmony API Server - GitHub - maddox/harmony-api: 🗼 A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or MQTT
  3. HTTP Virtual Switch (Modified) - [OBSOLETE] Virtual HTTP Switch/Button Creator. IMPORTANT Use this Device Handler to get an On/Off switch instead of a Push button. HTTP Button Creator Device Handler On/Off Switch - Pastebin.com

It should be pretty straightforward once you’ve setup all the software above to create Virtual Switches pointing to your Raspberry Pi’s Harmony API server. These Virtual Switches can then be included in your Amazon Echo “Smart Home” devices for control.

You’ll be able to say:

“Alexa, turn on Mute” to mute your TV or AV equipment
“Alexa, turn on the Living Room Fan” to turn on your IR capable fan
“Alexa, turn on the AC Dry” for your IR capable AC in dry mode


What exactly does this do that the Smartthings - Echo integration doesn’t already do?

Sends specific IR commands to devices regardless of current activity.

It goes: Voice command -> Virtual Switch -> POST request to RPi -> IR command

More examples:

“Alexa, turn [on, off] channel”

“On” sends a POST request to send the ChannelUp IR command to your DVR. And vice versa.

“Alexa, turn [on, off] pause DVR”

“Alexa, turn [on, off] record DVR”

I’ve seen other “solutions” where people create a bunch of Activities to do a similar thing. I like this much better.


The nodejs code requires mqtt module but my nodejs installation can not find that module.
How can I install that ?


The virtual switch is HTTP so you won’t be needing MQTT.

ok. but then , I have to remove mqtt from all source ?

Thank you! This finally made my Harmony Hub useful with Smartthings. The ability to send commands regardless of mode is great. I have always been frustrated with the Harmony Hub since it gets out of sync so easily.

This is also a great example of connecting a Raspberry PI to Smarthings for many other purposes.