Harmony Hubs show unsupported when trying to expose entities to alexa

I have a new install of home assistant and alexa voice control for harmony hubs worked until about 3 months ago. Suddenly voice control stopped and when i looked at the expose to voice assistant settings alexa now says unsupported on all 3 of my hubs. i reset all hubs, remote access in HA and the HA skill in alexa. Other things in HA can still be controlled by alexa but not the harmony hubs. anyone else experience this or know of a fix?

Harmony hubs have always shown up as remotes in Home assistant and remotes have never been supported by Alexa.

But quite a while ago, Activities where exposed as switches. The switches are no longer there, they were removed over I year ago I guess. So what was it exactly that was exposed? If it was the activity switches, you can recreate them using helpers.

Yep, that was a time ago. Still don’t get why that was removed in favor of the select entity. Anyways, to get those switches back, see this post:

I appreciate the help quick response. I am new to HA and am migrating to HA from HomeSeer. Bothsmart home systems are running simultaneously as i slowly move everything over to HA. It is possible that the harmony automation was still functioning from homeseer but i swear it was being served by HA when voice commands were working. if this is the only way forward to get HA. harmony hub and alexa voice commands working, I will work on getting the switches setup. Thanks again for everyones help

What were you saying to change activities?

Turn on “device”. Turn on TV, Turn on PS5, Etc.

That had to come from the other system or you were using the deprecated switches. They were removed sometime around December 2023.

I added the helper switch. Works perfect now. Thanks for everyone’s help.

I did have one more question, can a helper switch be used to send a remote command action such as remote. Send_command volume up/down. I am assuming I would create another switch with an action of volume up/down, mute, etc

If it’s possible, for a volume command, I think a dimmer switch would be preferred as you can then say turn up/down volume.

typically volume is done through a media player. How is the command called right now in HA?

Its not called as far as I know. The volume is currently only controlled via harmony. Only harmony entities I know of are select and remote. I would assume volume commands would be under remote

for now i ended up creating a scripts with remote commands like play, pause, volumeup, volumedown, mute. then creating a routine in alexa with a custom voice command like turn down tv volume, mute tv, play on tv, pause tv, etc. I dont really like it but it seems to work as expected and its instant. it just seems hacky. I rather be able to create multiple types of helper switches like momentary or dimmer switches that run an action and that can be exposed to alexa

I created a switch to send a volumeup command as i described it earlier in this thread, however, i realized that to alexa, its a switch and i would have to say “turn on tv volume” or “turn off tv volume” or “turn on pause”, etc. these are not very natural commands for controlling a tv, so im still back to a routine to allow me to make my own voice command. it would be more ideal to be able to create a helper entity based on the object and its function. for instance if i could create a thermostat or even a tv helper, this in turn would change alexa so the default voice command would be turn up or turn down instead of turn on or off. If anyone is interested, here is the modifed yaml to have a switch trigger a remote.send_command as the turn_on, turn_off action instead of an activity.

    switches:
      ### Harmony Hub 2 turn up volume Harmony command ###

      sony_receiver_volume_up:
        unique_id: harmony-command-sony_receiver_volume_up
        friendly_name: Living Room TV Volume Up
        value_template: >
          {{ false }}
        turn_on:
          service: remote.send_command
          target:
            entity_id: remote.Living_Room_TV
          data:
            device: Sony AV Receiver
            command: volumeUp
        turn_off:
          service: remote.send_command
          target:
            entity_id: remote.Living_Room_TV
          data:
            device: Sony AV Receiver
            command: volumeUp

Alexa requires known volume positions in order to issue volume up/volume down commands. If you don’t have a base point (the current volume) it takes a lot of effort to get it there. You’ll need an input_number typically set with a default value. Then with a script you’d increment the input_number and send a volumeUp command.

Then when you have a volume up, volume down and a state for the volume. You can make a universal media player, then expose that to alexa.

an alexa routine triggering a script or a switch appears to be working great and the same as the logitech harmony skill was when the harmony was link directly to the alexa and through homeseer. Lets see how long that lasts. in the meantime i will see if i can script a universal media player or different types of objects that when exposed to alexa have natural sounding commands based on what i am trying to do. again, thanks for all your help.