Logitech recently updated their Alexa skill to simplify voice commands, instead of saying "Alexa, Ask Harmony to Turn on the TV" you say Alexa, Turn on the TV. This is great and I love the Harmony remotes but I've had a similar setup running for a few weeks now, and much cheaper.
My solution uses a Broadlink RM Mini 3 wifi enabled IR remote. For less than 1/5th the price of a Logitech Harmony Hub in Australia, you can achieve a surprising amount of automation with devices that have an IR receiver. You'll also need an Android device, perhaps a phone, or a TV box. You could potentially run this setup off of an Android emulator like Andy or KOPLAYER but I haven't tried that, so you're mileage may vary. The last piece of the setup is Broadlink RM Plugin from the Google Play store.
You'll need to setup the Broadlink RM Mini to connect to your home wifi (using the official e-Control APP. Don't configure any devices or remotes in this app).
Once setup, Broadlink RM Plugin should be able to see your RM Mini 3 on the network this is where the fun begins. This app allows you to open an HTTP bridge and if you have enough time, you could create a skill with custom intents to have Alexa respond to any phrase you’d like.
Or, enable the Alexa bridge and have your devices become available to Alexa.
Like the Logitech Harmony app, you can control a single command or chain multiple IR device commands together to create complex macros. e.g. I have a command set for "Kids TV". ON saying, Alexa, turn on Kids TV, my TV is switched on, the app waits for 21 seconds to allow the TV to connect to my wifi, sends the SmartHub command, waits 1 second, send the "Right" direction command and "Select" to launch Plex. This gives me enough time to fetch the TV remote from under the couch to play my kids' favourite "Paw Patrol" episode. And when the episode is over, say "Alex, turn off TV" and boom! no more running from the kitchen to turn off TV before the next episode auto plays. I have a more complex macro setup for my Xbox to launch the Foxtel app, watch TV and a few simple ones to mute Sonos or go to a certain TV channel.
There's only one downside so far that I've found, the commands aren't customisable, so to mute/unmute my speakers, I have to say Alexa, turn on mute or Alexa, turn off mute.
I've been thinking of getting the Broadlink remote with IR/RF which perhaps I could use for controlling the garage door with voice commands & geolocation using IFTTT or through Tasker. e.g. when I enter a geolocation, open the garage door, or if my phone connects to my home wifi, open the garage door.