[EDGE DEVICE] Simple Harmony Bridge **Alpha Testing**

Hi All

I have been working for some weeks on building a completely local simple harmony hub integration that will

  • Execute completely locally - not requiring additional software running elsewhere / on a different machine
  • Edge based
  • Simple bridge approach with a 1:1 hub binding (not trying at this stage to implement harmony devices as st devices)
  • websockets based

I have the basics working allowing a device to be controlled, but this driver still has many problems. I’m interested if anybody wishes to try on an alpha testing basis purely to see if this works for them.

I am also facing custom UI issues meaning most of the UI will be invisible to you due to issues with my namespace hopefully @nayelyz will help with a solution there soon.

If you wish to try the driver as is (with no promises that this will work or ever be finished - then please read on). Also this is in active development so may well break.

Step 1
Enrol your hub in my Alpha channel and install the harmony driver available - SmartThings. Add a little smartness to your things. the driver is called ‘Harmony Bridge Simple’

Step 2
Add a new device by scanning nearby, this should add the ‘Harmony Bridge Simple’ device to smartthings in which ever room you scanned in.

Step 3
Open the device and go to settings, enter the ip address of your harmony hub

Step 4 - This is where it gets messy, because of the issues im having with my namespace meaning i cannot create custom ui’s for the app we have to jump over to the web (you may need to do this in ‘desktop mode’ if you are using a mobile phone browser)

  • Go to https://my.smartthings.com/ and login using your smartthings/samsung account
  • Navigate to the device we just created, look at the device if it has successfully made a connection to your harmony hub you will see a rather ugly looking list - this list is all of your harmony devices, and the ‘press’ commands available on them.
  • Find the command you want to execute in the really long list and copy it to your clipboard for later use - you should copy a whole line including {} like highlighted below

image

At this point you have successfully connected to harmony and we are ready to try out a command - we have 2 ways to do that - i’ll detail them as option a and option b below

Step 5 - Option A

Take the command you copied and head back into the settings of the device and change the value of Button Command to the value on your clipboard. You can then use the momentary button in the UI to test.

Step 5 - Option B
Create a new routine/automation/scene that will send the harmony command, You can then trigger the automation/scene to test.

Remember you shouldn’t rely on this yet as this is very much still in development, the source code is here if you wish to take a look SampleDrivers/harmony-bridge-simple at main · lrmulli/SampleDrivers · GitHub

Ps… Thanks to @TAustin @gol and @nayelyz for some early support on this to get me going.

Update: There is an issue with the driver when lifecycle events happen (hub reboot, driver upgrade etc etc) that the driver doesn’t reconnect afterwards - to force a reconnection edit the ip address to a wrong value and then change it back to the right value being sure to save it on each edit - this is only until i can find a more robust solution that will reconnect on lifecycle events. Update 2: This issue is resolved and it should now reconnect after a reboot/driver change, this should auto update within the next 24 hours - thanks @Alwas and @Mariano_Colmenarejo for the help

Update 25/08/22: Multiple Harmony devices are now supported → [EDGE DEVICE] Simple Harmony Bridge **Alpha Testing** - #51 by lmullineux

Update 02/09/2022: New device settings added - see here for details [EDGE DEVICE] Simple Harmony Bridge **Alpha Testing** - #78 by lmullineux

Update 06/09/2022: Driver update - activity devices - see here for details [EDGE DEVICE] Simple Harmony Bridge **Alpha Testing** - #80 by lmullineux

Uppdate 22/09/22: Bug Fix & Device command repeats - [EDGE DEVICE] Simple Harmony Bridge **Alpha Testing** - #127 by lmullineux
[EDGE DEVICE] Simple Harmony Bridge **Alpha Testing** - #128 by lmullineux

Update 28/09/22: [EDGE DEVICE] Simple Harmony Bridge **Alpha Testing** - #140 by lmullineux

17 Likes

Things I plan to implement on this

  • Fix the UI - I’m kinda stuck on this at the moment for many weeks and I’m waiting on smartthings fixing the problem with my account. This will remove the need to go to my.smartthings website to see a list of commands available - Update: the UI problem i had is now resolved - unfortunately this doesnt make using the app easier as it doesnt support highlighting the text to copy/paste - best experience is still to use the website especially if you have a long list of devices/commands
  • Implement ‘Held’ action so a long harmony press-held can be sent
  • Look at what could be done with activities, with a hope to read the current activity into a variable so it can be used as a trigger for other activities within ST, eventually adding activity commands just like device commands (activity commands are contingent upon the current running activity - so not really sure on the usefulness of that) - this is now implemented ([EDGE DEVICE] Simple Harmony Bridge **Alpha Testing** - #4 by lmullineux)

But I am open to ideas and suggestions

2 Likes

Thanks its working , not that bad to go pick up the command in my smartthings , did it on my pc and send it to my email .
I have set up only one things , one button that turn off all my device .
It work , but i am using activity and my remote think that the activity is still on . So i have to turn off the activity before i can put everything on.
Im ok with that , but my wife and kids​:thinking::thinking:!!

Just saying .
Thanks

I have added basic activity management to the driver now, The commands will have been added to end of the list of device commands

image

e.g. To start an activity it would be something like {“activityId”:“47722264”,“action”:“startActivity”}

There is also a bit of magic to close/poweroff the current activity which is to run the following
{“activityId”:"-1",“action”:“startActivity”}

These updates will take up to 12 hours to land on your hubs and please see my note on the original post about how to force a re-connection if it stops working after the driver upgrade.

Please see my latest post for good news on the activity control front

Awesome initiative!!! Just what I was looking for. Thank you!

Starting the activity works great! How do I then power off the activity? I’m not sure if that command is listed… Thank you again for this great driver!!!

{“activityId”:"-1",“action”:“startActivity”}

If you use -1 as the activity id it will PowerOff the current activity

1 Like

@lmullineux I seem to have everything running correctly and reliably with the activity commands. Unfortunately I don’t seem to get any action commands to work. Ill keep playing with it but I’m guessing it’s either a mistake by my part or a development bug.

Post your command here so I can take a look

1 Like

{deviceId:“70508989”,“command”:“Play”,“action”:“press”}

Can you send a screenshot of how you have configured it in settings or an automation?

As those speech marks are the wrong ones but I’m not sure if that is something the st community forum software is doing

That all looks fine, did you copy it (so you know the IDs are correct?)

It is the Id of a device? And that command is available?

I believe you are right, I copied the entire code list to an excel and it automatically changed the speech marks from this " " to this “ ”. I believe thats the problem. I’ll make the change and let you know if the problem persists. Thanks again!!!

1 Like


I managed to get it working with Play and Pause but the SkipForward command doesn’t seem to work.

That’s a different device ID to earlier, is that intentional?
Are you sure your not sending to the wrong device?

Yes it’s intentional because it’s a different device. In the harmony command text box I paste the highlighted command and I run it substituting the word SkipForward for Play and it works flawlessly. For some reason the Skipforward command is not triggering anything.

Well the driver does nothing with that value other than pass it directly on to harmony. So not sure what is going on there.

One thing to check, Does that button do anything if you press it directly in the harmony app? Are you watching a source that supports skip forward? E.g on my DVR if I’m watching live TV, I can’t skip forward because it’s live TV, but if I’m watching a recording i can skip forward. You can test by trying in harmony app, if it works there then I would need to see your logs to see if there’s an error of some kind.

The device I’m using is an Nvidia Shield TV. I’m running the command while playing music. I tested it with the Harmony app and it works. Where can I find the logs to see the error message?