Jump to content

Plugin for controlling Hue light


nxenos83

Recommended Posts

nxenos83

As long as the setup is user friendly/accessible I am all for it. I have above average computer skills and dont mind tinkering but I have just reached the point in my life where I dont relish sitting at a computer til 3am trying to get automation software working. Sort of the whole reason I paid the premium and purchases Hue lights instead of less expensive alternatives that require a lot of set up.

 

As I was working on a walkthrough, it became clear to me that setting up home-assistant still has many non-user friendly steps. Although they are working on moving more of the setup options into the frontend, the majority of setup requires editing yaml files.

 

Just to get something working, I'll make some updates to the plugin. With the latest server release (3.2.32.0), previous plugins may break.

Link to comment
Share on other sites

  • 2 weeks later...
nxenos83

I've reworked this plugin.  It is now compitable with the latest server release and setup has been streamlined.

 

Place this file in the plugins folder and restart the server.  https://github.com/nxenos83/emby.plugin.HueControl/releases/tag/v0.1

 

 

I have not yet figured out a clean way to perform bridge discovery, so you will need to find the IP address for your router or from the Hue App, Go to the settings menu in the app. Go to My Bridge. Go to Network settings. Switch off the DHCP toggle. The ip address of the bridge will show. Note the ip address, then switch DHCP back on.

 

Enter the ip address. Press the button on the Hue Bridge, and then click Get Bridge API. 

 

Select the Emby Device(s) that you want to trigger dimming, and select the Hue group that you want to control.  Set a transition time and save.

  • Like 1
Link to comment
Share on other sites

hstamas

Fantastic start @@nxenos83! Thanks for doing this.

 

Its still too basic for my needs but server side support for controlling Hue lighting is a really nice addition to the community.

 

Are you open to feature requests?

Link to comment
Share on other sites

hstamas

I'll do my best to accommodate. Ask away.

1. I only want my lights to turn off during a movie, I want them to stay on when viewing a TV show. Can you add an adjustable time threshold so your plugin only activates when the program is of a certain length?

 

2. Can we have control down to the individual light? I believe your plugin right now just reads the group stored on the Hue hub and affects them all the same. In my setup I want certain lights to stay on when a movie starts. The plugin I used to use with Plex has individual Start - Resume - Stop behaviors that you could set for each individual light.

 

2A. Could we control the brightness (and color?) of the lights for start and pause behavior? I would assume that we would all want the stop behavior to bring the lights back to their initial settings from when before the plugin activated?

 

3. I have a color bias light behind my TV that I want to turn ON when a movie starts (related to #2). Can we have it so this light comes on at a random color or be able to choose the color?

Link to comment
Share on other sites

nxenos83

1. I only want my lights to turn off during a movie, I want them to stay on when viewing a TV show. Can you add an adjustable time threshold so your plugin only activates when the program is of a certain length?

 

Not a problem. I had this in the plugin before but forgot about it when I did the rebuild. I'll add options for specific content type

 

In my setup I want certain lights to stay on when a movie starts.

 

Couldn't you just remove these lights from the group that is being controlled? Or are you still wanting to control these lights, just not turning them all of the way off?

 

The plugin I used to use with Plex has individual ... Stop behaviors that you could set for each individual light.

​......

I would assume that we would all want the stop behavior to bring the lights back to their initial settings from when before the plugin activated?

Do you see this is separate configuration options? A toggle between  "Reset" or Specific configuration

Link to comment
Share on other sites

hstamas

Couldn't you just remove these lights from the group that is being controlled? Or are you still wanting to control these lights, just not turning them all of the way off?

I would still like to have control of all the lights so removing them from the group wouldn’t work in my case.

 

Here’s a quick use scenario specific to My set up. Maybe it will give you an idea of what I’m trying to accomplish:

 

I have four lights in my living room. Three lights are general illumination, one light is a bias colored light behind the TV. When I start a movie, I want the three general lights to turn off. At the same time, I want the colored TV light to turn on (random color would be a bonus).

 

When I pause the video, I would like the opposite to happen. I would like one or more of the general lights to turn on (possibly at a lower brightness setting) and I would like the color TV light to turn off. When I resume playback, I would like again, the room lights to turn off and the color TV like to turn on.

 

When I hit stop or when the movie ends, I would like the lights to return to their initial state (The state the lights were on before I ever started watching a movie )

 

Very specific for sure but this is just to give you an idea of how I’ve been able to control things in the past.

Link to comment
Share on other sites

nxenos83

Does this work with the .Net Core version of Emby?

 

It should work as it targets  .Net 1.3.  I'll spin up a server running the standalone latest build to test later tonight.

Link to comment
Share on other sites

nxenos83

It will take some time to create a web interface to set the brightness, hue, and saturation for each light that also takes into account the varying capabilities of different light bulbs.  So here is what I am thinking. 

In the setup you select the lights you want to control.

Then, through another application (official Hue Apps) you set the lights to the desired value for the pause event. Click a button in the plugin config and it saves the light states of the selected lights. Then set the lights to values you want for the play event and click another button.

This would cover everything besides the color randomization.

 

After that, I'll look into adding web based controls that will allow you to edit the scenes.

Link to comment
Share on other sites

hstamas

It will take some time to create a web interface to set the brightness, hue, and saturation for each light that also takes into account the varying capabilities of different light bulbs.  So here is what I am thinking. 

In the setup you select the lights you want to control.

Then, through another application (official Hue Apps) you set the lights to the desired value for the pause event. Click a button in the plugin config and it saves the light states of the selected lights. Then set the lights to values you want for the play event and click another button.

This would cover everything besides the color randomization.

 

After that, I'll look into adding web based controls that will allow you to edit the scenes.

 

Thats exactly how a current add-on for Kodi works now that I am currently using (https://github.com/mvdwetering/service.huecontrol). This certainly works for me short term. Thanks!

Link to comment
Share on other sites

  • 2 weeks later...
julianb

I've reworked this plugin.  It is now compitable with the latest server release and setup has been streamlined.

 

Place this file in the plugins folder and restart the server.  https://github.com/nxenos83/emby.plugin.HueControl/releases/tag/v0.1

 

 

I have not yet figured out a clean way to perform bridge discovery, so you will need to find the IP address for your router or from the Hue App, Go to the settings menu in the app. Go to My Bridge. Go to Network settings. Switch off the DHCP toggle. The ip address of the bridge will show. Note the ip address, then switch DHCP back on.

 

Enter the ip address. Press the button on the Hue Bridge, and then click Get Bridge API. 

 

Select the Emby Device(s) that you want to trigger dimming, and select the Hue group that you want to control.  Set a transition time and save.

This worked like a dream! Thank you again! :)
- Btw, would be nice to have the lights dimmed during "intros" and then shut off during movie playback
Link to comment
Share on other sites

  • 1 month later...
jhoff80

I get the error "Unable to get light groups.  Check URL."  I have a Hue Bridge v1, would that make a difference? 

 

I'm also using the .Net Core version now so not sure if that's related either.

Edited by jhoff80
Link to comment
Share on other sites

  • 3 weeks later...
julianb

Well, it stopped working for me too now, same error "Unable to get light groups". I don't know if it's the latest Hue update or the Server update, but the plugin does not work anymore :( I think Philips did change something.

 

@@nxenos83 do you know what's going on? 

Link to comment
Share on other sites

  • 3 weeks later...
julianb

I've reworked this plugin.  It is now compitable with the latest server release and setup has been streamlined.

 

Place this file in the plugins folder and restart the server.  https://github.com/nxenos83/emby.plugin.HueControl/releases/tag/v0.1

 

 

I have not yet figured out a clean way to perform bridge discovery, so you will need to find the IP address for your router or from the Hue App, Go to the settings menu in the app. Go to My Bridge. Go to Network settings. Switch off the DHCP toggle. The ip address of the bridge will show. Note the ip address, then switch DHCP back on.

 

Enter the ip address. Press the button on the Hue Bridge, and then click Get Bridge API. 

 

Select the Emby Device(s) that you want to trigger dimming, and select the Hue group that you want to control.  Set a transition time and save.

 

Do you know why the plugin has stopped working again? I love this plugin so much, my Home Theater is not the same without it.

Edited by julianb
Link to comment
Share on other sites

hstamas

It will take some time to create a web interface to set the brightness, hue, and saturation for each light that also takes into account the varying capabilities of different light bulbs.  So here is what I am thinking. 

In the setup you select the lights you want to control.

Then, through another application (official Hue Apps) you set the lights to the desired value for the pause event. Click a button in the plugin config and it saves the light states of the selected lights. Then set the lights to values you want for the play event and click another button.

This would cover everything besides the color randomization.

 

After that, I'll look into adding web based controls that will allow you to edit the scenes.

Any hopes that this is still on your radar @@nxenos83?

Link to comment
Share on other sites

  • 1 month later...
hooray4me

I can't get this plugin to load on 3.2.60... any thoughts? Here are the start up logs after putting the dll in the plugins folder.


2018-02-27 21:09:36.024 Info App: Loading assemblies
2018-02-27 21:09:36.056 Info App: Loading TVHeadEnd, Version=1.1.0.1, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.056 Info App: Loading MBBackup, Version=1.1.7.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.056 Info App: Loading GoogleDrive, Version=3.0.6440.36832, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.056 Info App: Loading HueControl, Version=1.0.6251.15105, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.056 Info App: Loading MediaBrowser.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.056 Info App: Loading MediaBrowser.WebDashboard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.056 Info App: Loading MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading MediaBrowser.Controller, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading MediaBrowser.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading Emby.Photos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading Emby.Server.Implementations, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading Emby.Server.MediaEncoding, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading Emby.Dlna, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading MediaBrowser.LocalMetadata, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading MediaBrowser.XbmcMetadata, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading Emby.Server.CinemaMode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading Emby.Server.Connect, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.057 Info App: Loading Emby.Server.Sync, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Controller, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Common, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Common, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Controller, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Controller, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.118 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Common, Version=3.2.27.3, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.121 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Controller, Version=3.1.259.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.121 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Common, Version=3.1.259.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.121 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.1.259.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.121 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.1.259.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

2018-02-27 21:09:36.121 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=3.1.259.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
Edited by robrhedrick
Link to comment
Share on other sites

  • 1 month later...
WilhelmStroker

Here's hoping this is still active as I'm trying to dim the lights in my living room when starting a movie on Emby. I'm also getting the 'Unable to get light groups. Check URL' error.

Currently playing with Hone Assistant on a Pi but it would be nice to be able to use this plugin instead.

Link to comment
Share on other sites

  • 1 month later...
Senna

MrMC has implemented a Hue Client in latest Testflight builds and for now, is still in test fase.

 

What is working now in MrMC is that user can set up Ambilight and dimming features for entertainment rooms and individual Hue lights when the user has the square Hue bridge.

 

So user can setup the Hue Client in MrMC to gradually dim the lights with the start of the movie, un-dim gradually when movie is paused and gradually dim again when movie is continued. Should be nice if Emby devs also implement this into Emby @@Luke.

Link to comment
Share on other sites

  • 1 month later...
DelSol

Hey, any news on this? I'd love to have my hue lights go bright when I stop a movie.

I tried the plugin from 2017 but this did not work for me and caused my emby server to crash. 

Link to comment
Share on other sites

DelSol

thanks for the reply. The Home Assistand workaround did not work for me. I could not get it to run on my windows server, did not try a raspberry yet. but as far as I understood, it would react to any play/pause event and I need it to react to just one device and one user. I don't want my lights in the living room to turn on and off while I'm wantching a movie in the bedroom. 

Edited by DelSol
Link to comment
Share on other sites

hstamas

thanks for the reply. The Home Assistand workaround did not work for me. I could not get it to run on my windows server, did not try a raspberry yet. but as far as I understood, it would react to any play/pause event and I need it to react to just one device and one user. I don't want my lights in the living room to turn on and off while I'm wantching a movie in the bedroom.

 

I’m reluctantly looking into setting up Home Assistant to get Hue lights working with my Emby setup since all the other options have not panned out. Not looking forward to all the tinkering that looks to be involved but what ya gonna do.

 

I’ve read that you definitely want to set this up on a Linux system and not Windows to avoid all the headaches so it’s probably going to be worth getting a Raspberry.

 

I did read on the Home Assistant forums that you can specify what type of media and specificy the client to trigger the automation so it is possible to only have movies activate it from a specific device.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...