How to control TV volume with Alexa, Harmony Hub & Smartthings

see Fubie for his answers

I started doing it with two volume up and two volume down activities in August 2015 about two weeks after the first SmartThings/echo integration. It’s posted in the forum in one of the Echo FAQ topics. :wink:

As I’ve been saying for over a year, it’s clunky, but it works. For someone like me who can’t use a button remote, it’s definitely useful. I expect that most able-bodied people would rather just use the regular remote.

Because my voice sometime slurs a little, I wanted the commands to be very distinct, so I use lion, tiger, mouse, and moth. I also find it a little easier to remember when switching back-and-forth.

I use a similar method for mute, unmute, pause, unpause, and rewind.

I haven’t had the problem that others have mentioned about having to specify that the devices like the television don’t turn off. As long as the next activity includes the same device, it will stay on.

I think the difference is probably that I don’t have a sound bar, so the sound is always coming through my television anyway.

The more devices that you have, the more complicated these individual button controls activities become.

I’ve been really hoping that the official harmony/echo integration would deliver simpler volume control but maybe in the future. :sunglasses:

Here are some of the posts on the other buttons:


Step by step screenshots

A lot of the stuff in that thread is really old (more than a year at this point) and integration discussion doesn’t really apply anymore because that’s changed. But the setting up a harmony activity to just work one key is still valid.


glad it works as the Alexa/Harmony email update I just received says it
won’t control volume… check out
for details on how fubie solved problem

It can’t be done simply, which is probably why harmony support is saying it can’t be done. And different people will have to do it differently, because it depends on exactly which device in your setup controls the volume.

But it can definitely be done, as I mentioned, I’ve been doing it for over a year.

The key, as always with harmony, is to first create a harmony activity that will do exactly what you want, including leaving the correct devices on.

Once you have that, there are multiple different ways to have echo start that activity, including through the IFTTT channel, with yonomi, I think with stringify, with a SmartThings virtual switch, or now with the new Harmony/echo integration.

The really clunky part is that harmony won’t allow you to execute the same activity again if that activity is already running, so you need to have two that you can switch back-and-forth between.

Given all of that, I understand completely why harmony support says it’s not currently an official feature. But if you really need it, as I do, you can make it happen. :sunglasses:

I am not sure, I understand your comment around it cannot be done simply. I would think for Harmony folks it should be work but pretty easy to do. They have a harmony app and remote both sending button press events to the harmony hub. How hard it could be for them to program sending button press events from Alexa, something like “Alexa tell harmony button vol up”. This, BTW, will also work around the issue of which device is controlling volume, because you are sending button press event, which harmony hub will apply to right device based on current activity.

Anyways I took a slightly different approach to solve creating duplicate command issue, and definitely could use help from the experts here to fine tune that approach :smile:. What I did:

  1. Created an activity TV Louder on Harmony (actually 3 - Louder, Quieter and Mute)
  2. Created a Momentary Button Tile called “TV Volume Up” in Smartthings
  3. Created a CoRE trigger “Increase TV Volume” with following logic:
    • If “TV Volume Up” (Momentary button tile) changes to On
      Then with Harmony Hub Refresh (to refresh to latest activity)
      Then If with Harmony hub if current activity is "HTPC"
      Turn Switch TV Louder on
      Refresh Harmony Hub
      Turn Switch HTPC On

Basically this turns the TV Louder and switches back to HTPC. Had to add few seconds delay after harmony refresh to work and had to disable command optimization in CoRE for this piston because otherwise it would remove the command HTPC on. This is working and leaves me back to HTPC.

The problem I have is that I have 3 major activities that use TV Volume, HTPC, Chromecast and apple TV. I could make above logic complex by saying if activity is HTPC, increase volume, switch back to HTPC, if activity is Chromecast, increase volume and switch back to chromecast and so on, which seems hacky.

What I would really want to do is (and it seems should be possible in CoRE) is to create a piston with following logic

If the momentary switch turns on
refresh harmony
Then if current activity is not – (blank)
Save current activity to a variable
Start Activity “TV Louder”
Refresh Harmony
Restore activity from Variable

This does not seem to work. I have tried both saving current activity to variable and restore from variable or Save state to global store and restore state from global store. None of these want to switch back to last activity saved in variable or global store. If someone can make this work, I will be golden…

Thanks for reading…

Sorry, I meant it can’t be done simply by the customer using harmony’s current activity paradigm. I have no idea what it would take for logitech to change the way they process button presses all together. My point was just that you can do it now, but it’s complicated to explain and clunky to use. :disappointed_relieved:

As for questions about the piston, ask in the core peer assistance thread and people there will be glad to help you. That’s where the core experts hang out.

Sorry I misunderstood that you meant that even for Logitech folks this may be a non starter. I will put my question in the core forum. Reason for putting here was that I thought, folks in this thread will be more interested. Thanks.

1 Like

I’m sure once you have it working people in this thread would be very interested. It’s just the discussions of troubleshooting piston details tend to make a lot of people’s eyes glaze over. :stuck_out_tongue_winking_eye: Core is very powerful, but it’s still only a small minority of people who are using it. So the peer assistance thread folks can help you work out what the issues are with why it’s not working – – they love stuff like that. :sunglasses:

Makes sense. Thanks. Btw, I see you very, if not most, active so for me you are the biggest expert :wink:

Thanks for the thought, but Definitely Not on code. Or core. I rely on text to speech, so I can’t read groovy or follow piston discussions.

Not sure why mine isn’t working. I set up a piston for when my Mute (momentary button tile) is pushed. Problem is it will not start my Mute/Unmute activity on my Harmony Hub.

For testing purposes, I made it simple: If Mute (momentary button) changes to ON, then send sms. That works just fine so I know the button works. However, when I add a ‘then using Harmony Hub, start Mute/Unmute activity’ it doesn’t start. No other conditions used…simply button pushed. The Recently tab for my Harmony Hub shows the CoRe piston firing, but no results.

I have the same issue. Using start activity does not seem to work. The way to get around is to configure harmony app to add activities as switches and then in core instead of start activity use turn on switch TV Mute.

ddovidio–it seems like you’ve figured this out for controlling sound for your TV. I recently got the Hub/Alexa setup, and my TV sound comes from my Vizio sound bar (which Harmony/Alexa turn on and off fine). Do you have any insight as to how I can accomplish the same thing you did but instead have the sound bar volume go up and down?


My Samsung sound bar is paired directly to my Samsung TV so I don’t know if
this will work: the Vizio has a remote, so if you create an activity called
"Louder" in your Harmony remote hub, pair your Vizio remote with the hub,
code it to “push the volume up button” 3 to 5 times, it might work. Do
the same for “Softer” except opposite and only down 2 times. Add activity
to Alexa as before.

Thanks, David. One other thing I should have asked—I assume this is all predicated on having a Smartthings device/outlet hooked up to the actual device I want to control, right? So in this case I would plug the sound bar into the Smartthings outlet?

One other thing–since my Hub is controlling the sound bar okay now I’m guessing the remote is paired with it already, but how do I “code” the Hub to push the volume button 3 to 5 times? Sorry to sound like such a noob.

Sounds right but not sure. My system consists of a Smartthings hub
connected to my router, no outlets, a Google Home in one area and an Alexa
in the other and Harmony hubs in each area.

There Harmony hub is providing the commands to the sound bar. Smartthings is just providing a way to use CoRE or another smart app to tell harmony what your want done.

I’m on my phone away from home right now, so I can’t provide specific details or pictures.

Basically you want to edit the start portion of the volume up harmony activity you created. You’ll have to edit the activity, select the start portion, select the add a step, select the soundbar as the device, select volume up as the command. Add this step again as many times as you want volume up pushed. Save the activity.

Now when you start that activity it will select the sound bar and push volume up as many times as you told it too. You will be stuck in the volume up activity you created so you will have to start your TV Activity again.

You can do all this is CORE, I did it last night. I just made the mistake of using “sound up” and Alexa doesn’t like that. I’ll have to fix it tonight.

I could turn on the sound up button in smartthings and it would raise the volume 3 times. Then core would see the sound up button on in smartthings and run to switch my active activity to Watch TV.

I just need to find a good phrase for my activities that Alexa will like and isn’t a mouthful to say.

Hope that helps.

I can help more later when I’m closer to my hub so the harmony app will open. Just tag me or something if you need help.

The Harmony Skill now has the ability to increase/decrease volume

“Alexa tell Harmony to increase volume”