Control Hue HDMI Sync box via hubitat?

Excellent, Thank you much.

@dan.t ty for this. I am curious can hubitat read all the commands the sync box is sending while actively syncing? I was curious if it would be possible to "mirror" the commands from the syncbox to other lights paired directly to he?

No, the api doesn’t expose any of that, sorry

1 Like

No need to be sorry. Thanks for the response. I've been trying to ponder a way to do this for awhile. Perhaps node red is the answer....

There is an entertainment API that is based on UDP packages published in the Hue Developer portal. This allows you to integrate into the Hue Entertainment system. However, this won’t work with Hubitat, it is a pretty resource intensive implementation and would cripple your hub...

1 Like

If only I knew about such things. Node red is my only hope lol. Thank you very much for the feedback.

+1; this works great for me!

Do you know if it is possible to make the Hue Sync Box send an HDMI-CEC off command? Would be handy if my TV shut off when the Sync Box does. It does turn on automatically when the Sync Box does.

-jd

In the Hue Sync app, go to settings -> automatic controls. You can enable/disable CEC there

2 Likes

@dan.t
Thanks for developing this driver -- it too me a few mins to set up and works well. Now I just need to find some of those new gradient lights.

I took a Dome Zwave switch, stuck a small USB supply in and connected that to the sync box USB port. In their app enable on and off if USB power on the sync box if the USB port power is either present or missing. This gave me the ability to include on and off in HE rules; i.e, turn the USB power on as part of the lighting scene or off and return to the last state. Works like a champ. Never have to go to the HUE app. hope this helps jj

So glad I found your driver. I've been moving over from Wink and have been moving my Alexa entertainment setup commands into RM rules and aside from figuring out the Xbox on/off from within Hubitat (which I'm just getting to figuring out using someone's Xbox custom app), this Hue Sync Box control was one of the last pieces.

I'm using it to put the house in either an Gaming Mode, Movie/TV Mode or Excercise Mode where I set the house lights, xbox, sonos, blinds and hue lights based on the mode. So I'm now using your Sync Box driver to set the mode (game, video, or music) and the intensity and its working great. It took a few tries before it would register is all.

The one thing I'm missing is from Alexa I set the Sync Box brightness to different levels depending on the mode. And I don't see how to set the brightness. Looking at the code I see where you read it in. But I don't see a function that calls out to set the brightness.

Is that something possible to add? Or do you have a link to something that describes the Hue Sync api I could look at and I could take a crack at adding it.

Hey, I made a change to the driver in my github to add setBrightness. The Hue box accepts values from 0 to 200. Give it a try, I couldn't test it as I am not home right now.

Thanks, I just finished testing it and its working great. There is a misspelling in the logging statement FYI, just change that from Intensity to Brightness.

The only thing I've noticed in my logs is an exception error message, but it doesn't seem to be negatively affecting anything. It gives the log error regardless of what string is passed into set the intensity (moderate, intense). But with my Hue Sync app running when I make the calls the hue sync box changes all the settings just fine.

These are the custom RM actions I'm calling:

On: Hue Sync Box
setMode(video) on Hue Sync Box
setItensity(moderate) on Hue Sync Box
setBrightness(100) on Hue Sync Box

dev:2892021-02-21 12:42:23.740 pm infoSend new brightness state, old: 16, new: 50

dev:2892021-02-21 12:42:20.975 pm infoReceive "setBrightness("100")" command

dev:2892021-02-21 12:42:20.965 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_dan_t_Hue_Sync_Box_410.setItensity() is applicable for argument types: (java.lang.String) values: [moderate] Possible solutions: setItensity(java.lang.Object, java.lang.Object) (setItensity)

dev:2892021-02-21 12:42:18.064 pm infoReceive "setMode("video")" command

dev:2892021-02-21 12:42:18.017 pm infoSend new mode state, old: music, new: video

Ok, I sorted this out this morning as I was looking to do the exact same things you are:

  • Replace your Hue Sync Box driver with version 1.33 (notes on this below)
  • In RM, drop the setMode completely
  • Modify your setIntensity[A] to contain two paramters rather than one -- mode, then intensity. So in your case, use: setIntensity(video, moderate)

Last thought, as the author noted, they must be powering the Sync Box with a tiny little Cuisinart inside the Sync Box because ~3s Sync Box response times is roughly what I observe as well. So with that in mind, it may be wise to consider using RM Conditionals to only send the commands you need to (ie, if it's already on, don't send on(), etc).

[A]: I made a few modifications to the 1.30 driver:

  • Changed some misspellings of setItensity to setIntensity. NOTE: after loading the 1.33 driver references below, your RM Custom Rule will now be able to choose setIntensity() rather than setItensity()
  • Fixed the logging issue someone referenced above
  • Modified setBrightness to double the Hubitat value before sent to the sync Box. the Sync Box API apparently halves the value sent, so 200->100, 100->50, 60->30, etc.

[UPDATE]: I can't get the formatting on here right, so I put it here instead:

[UPDATE2]: I also found that off() didn't stop the Entertainment Zone lights (they'd stay lit up at whatever they were last set to by the Sync Box), so I now I send a setBrightness(0) before off(). May or may not be applicable in your situation.

Right on. I've got it working but this will help clean things up and I haven't noticed the hue lights staying on, but its probably due to other rules I have that switch the living room around between modes.

I'm noticing how ugly my "multiply brightness by two" hack is, because the brightness value reports 200 back. Hopefully someone smarter than I can pick up the mantle and apply a real fix that hides the 100->200 scaling that's happening behind the scenes.

Not sure if I'm just doing a noob thing, but when I dropped in this new version, I also rebooted the hub afterward. And I wrote an updated rule calling the brightness with half values and a call to setIntensity(game, intense). But it wasn't changing anything on the sync box. The box was on and set to video, moderate so I can watch the Hue Sync app change on the iphone as I send commands. When I dropped back in the previous version of the code and changed the calls back to splitting them up into separate calls it started working again.

I had the debug and trace logging all turned on and it wasn't showing any error messages in the log and it was showing it was sending the commands.

Thank you for creating this! Works great as part of an automation. i put a 5 second delay after sending the off command to the sync box to give it time. This product is cool as heck, in particular with the gradient light strip. it prior to this driver was a PITA to grab the phone app. Thank you - great work. Came up very easy and works solid as a rock. Made my weekend, jj

Are these gradiant light strips new? Have not seem them before, and given the level of Philips Hue investment I've made here .. that, uh, that surprises.

EDIT: Yeah, looked in to these, and I am going to pick up a few of these to kick the tires on. Seems these guys will look a lot sharper than the traditional Hue light strips I have on the top and bottom of the TV since they can better match the display's colors since they don't have to be a static color.

This is an incredible product. unlike a typical light strip it distributes up to 16MM colors in perfect sync with the TV screen. I have it wrapped around the back of a 75in plus two Hue Plays facing down at the bottom. Ceiling cans too and Hue color bulbs in the lamps. Insanely cool - surround sound for your eyes.

You can use custom actions to modify the sync box settings; intensity, on/off, mode, etc. Solid as a rock - follow the driver installation process, it is simple but must be done in order. I have a Zwave remote set up to turn the sync box on / off and to change the mode and level settings on the fly. Works like a champ. jj