HTTP Get Request upon 'Simulated Button'?

Hey everybody,

Long story, I have a Soundbar which i’m trying to control with a Logitech Harmony Hub remote. Unfortunately, the Soundbar doesn’t have an IR command to jump to a specific input, it only allows you to ‘cycle’ through inputs which is unconducive for getting the Harmony Hub to get it to stop on the right input.

I’ve discovered through a bit of hacking that I can make the soundbar jump to the input I want by putting in specific URLs into a web browsers (HTTP GET Requests).

So my plan of attack is for the Harmony Hub to trigger a ‘Simulated Button’ in SmartThings. Then I want SmartThings to somehow issue the HTTP Get Request with a specific URL.

I’m very new to SmartThings and I have no idea how to go about this. Is this is a Smart App, a Device Handler, etc or what I need to do. I do have WebCore added if that would help. Please point me in the right direction.

My preference would be webcore, and you might even be able to bypass the simulated button depending on your setup.

I have several harmony activities, all exposed to webcore, which can be used as triggers.
Quick example
If you need your soundbar input set to HDMI while watching TV then webcore would look something like…

IF Watch TV turns on
Then
Make web request to URL (for HDMI)

1 Like

Great idea. Seems to expedite things a little bit. I’m new to webcore (just as I’m new to SmartThings) but I’ll see if I can rig something up tonight.

Thanks for the reply, this sounds like it may be what I’m looking for.

Something to also consider with Harmony, since devices in an activity turn on/off in sequence. It might be beneficial to adjust your power setting to turn on the soundbar first. That way it is actually on before the web request is sent. You can also add a wait in webcore, if not booted up in time.

IF Watch TV turns on
Then
Wait 5 seconds
Make web request to URL (for HDMI)

In case you haven’t discovered it yet, the webcore community is also a great forum for information. https://community.webcore.co/

2 Likes

The only part I’m having difficulty with is “Make web request to URL (for HDMI).” I can’t find any commands in Webcore that match that and I have advanced commands turned on already.

Additionally, my other concern is that the IP in the URL is a private (192.168.x.x) IP. It is on the same subnet as my SmartThings hub, but do I need a public Internet routeable IP for this to work? For security reasons I want to avoid having my soundbar face the public Internet. So as long as the piston runs right on my smartthings hub I should be good?

It is considered an Action.
Use Location (aka Hub) as the device.

You can use internal IP addresses, webcore is able to differentiate.

1 Like

Awesome. Just messing around in the Dashboard here at work. I found the command. Won’t get to try it out until I’m home later on. Thank you for the help, I’ll report on whether or not I get things working, but I think I’m on the right track.

Happy to say that your advice worked perfectly. Thank you so much. Everything is working perfectly now.

Awesome, glad it works. Just out of curiosity, what brand/model soundbar. I have a soundbar that forces me to cycle through inputs as well but it isn’t internet connected. Just looking for other options.

It is a Samsung Q90R/ZC . I bought it for $1799 CDN. Best Buy has it for $1699USD. Comes with a sub and rear speakers.

Honestly I was very surprised that a soundbar at this price point wouldn’t have ‘direct’ input jumping with standard IR signals rather than only a button/signal to cycle. I honestly considered returning it. But it sounded amazing, so I kept it and put up with the Harmony not being able to correctly set the input. Since SmartThings can directly jump between inputs from within the App, I figured I figured rigging up a solution like this one might be possible.

I suppose I should post the HTTP GET requests that I’m sending in case somebody else stumbles across this thread and needs help. I can do that when I’m home tonight.