The Logitech Harmony far exceeded my expectations. It's marketed as a "Universal Remote" and, as such, it's one of the best. However, the Harmony is much more, as it works with popular Internet-connected devices.
Product setup is easy via smartphone/tablet. The first step involves get connecting the Harmony hub to wifi. Since the device database is downloaded from the Internet, Harmony works with almost anything that has a remote: cable boxes, TVs, dvd players, stereos, etc.. You may configure up to 8 devices.
Harmony's remote doesn't need line of sight to communicate with its hub. This means you can place the hub in a solid wood cabinet and control it with the remote or your smartphone/tablet. The Harmony hub has a built-in internal IR blaster for old-school devices. Harmony ships with an additional IR blaster with a long wire so it can be placed, for example, outside your cabinet. Additional IR blasters can be purchased separately.
The provided remote is adequate and is just about the right size. Many universal remotes are too big for my taste. The smartphone/tablet app is more functional and can, for example, display "virtual" remotes that have all the buttons from the original remotes.
Harmony is scriptable. The remote provides easy access to six scripts via the top 3 buttons. 6 operations are provided through 3 buttons via short-taps versus long taps. Each script is fully customizable. Harmony writes the initial script for you, which you can modify whenever you wish. For example, the TV script can turn on your stereo, satellite box, TV, and change the TV input. Changing the TV input is something that my previous universal remote never even dreamed of.
The remote's buttons can also be programmed to perform any operation for any registered device. However, since the remote doesn't have any extra buttons, you usually must lose a function to gain a function. The default button layouts are functional and remapping buttons will likely be a rare activity. You can easily control your blu-ray player and your TV volume without changing modes.
I remapped a button to alter my TV's aspect. If I have one complaint about Harmony, it's that I must configure the same button remapping for every script. At least I only need to set this up once and forget about it.
Harmony appears to save your configuration to the cloud in case it loses power for a prolonged period of time. It also upgrades itself.
But there's more. Logitech Harmony turns your smartphone/tablet into a magic wand for your house. Although Harmony is marketed as a universal remote, it's actually an IoT hub that integrates with wifi and bluetooth devices. So not only can Harmony turn on your TV and Wii U (which uses bluetooth), it can also dim the lights and set your thermostat. Peruse the list of devices.
And you can do all this over the Internet. I didn't have to change my wifi router settings. It's magic!