Jump to content
nxenos83

Plugin for controlling Hue light

Recommended Posts

BillOatman

Doesnt seem to be recognized on my system @@BillOatman. Added the DLL to the plugin directory and restarted but dont see it in the list.

 

I'll probably just wait for @@Biofects at this point as I need to have individual light or scene abilities anyway.

 

Thanks for your efforts!

Hmm.  Something else must have changed in the newer version of Emby server.  Ahh well.  Hopefully @@Biofects will save the day soon :)

I'll try it tonight though, because the last time I built it, it did show up in my Plugins. It might be that I updated a memory related DLL in the solution, maybe Emby doesn't use that one yet. I'll investigate.

Edited by BillOatman

Share this post


Link to post
Share on other sites
BillOatman

Hey @@Luke, I rebuilt this plugin with the latest server core assembly

 

5cdc9271a53fc_Capture.jpg

 

My server says it's up to date

 

5cdc92de4e736_Capture.jpg

 

But the plugin does not appear in my list.

 

I see these messages in the log that appear to come from this plugin.

 

2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Controller, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Common, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.543 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Common, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.544 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Controller, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.544 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Common, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
2019-05-15 18:21:44.544 Error App: LoaderException: Could not load file or assembly 'MediaBrowser.Model, Version=4.2.0.2, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

 

Should my server have taken an update that it does not see?

 

I have attached the log,

 

Thanks!

Log.txt

Edited by BillOatman

Share this post


Link to post
Share on other sites
Luke

Use the 4.1 nuget package. The 4.2.0.2 is meant for the beta server. I accidentally pushed it to nuget without the beta tag.

Share this post


Link to post
Share on other sites
BillOatman

Yeah it liked that a whole lot better :)

 

@hstamas I updated my previous post with the new DLL.  It shows up in my server.  I changed the version to 0.2.0.2 so you can tell the new one loaded.

Edited by BillOatman

Share this post


Link to post
Share on other sites
hstamas

Yeah it liked that a whole lot better :)

 

@hstamas I updated my previous post with the new DLL.  It shows up in my server.  I changed the version to 0.2.0.2 so you can tell the new one loaded.

 

Works perfectly for basic on/off functionality @@BillOatman! Thanks for doing this.

 

If we could just get support for controlling individual lights (need some way to keep one light on while the others are off and vice versa) or the ability to load a scene depending on Play - Pause - Stop status I would be one happy camper!

Share this post


Link to post
Share on other sites
chef
Edited by chef

Share this post


Link to post
Share on other sites
hstamas

You know what. In looking over the plugin I might be able to achieve what I need as far as controlling independent lights by just setting up a bunch of groups. That way I can have my TV bias lighting (light behind the TV) turn on when everything else turns off when I hit PLAY.

 

My only roadblock with the plugin right now (and sadly it make it unusable for me) is that it is activating my lights when ever I play ANYTHING and that just doesnt work at my house as my "home theater" is also my main TV room/kids room. I cant have the lights to be turning off etc when my kids watch Sponge Bob or the wife watches a cooking show etc.

 

If we can just get it so we can either choose what library activates the lights or have a control to set a minimum video length I think I would be all set!

 

Im curious, is my use case really unique here? I seem to be the only one who needs this sort of functionality?

 

@@chef, thanks for jumping in and offering to help! Glad to hear your computers are back up and running!

Edited by hstamas

Share this post


Link to post
Share on other sites
BillOatman

@hstamas  Great to hear it is working!  We really should wait for all the improvements @@Biofects has coming before doing too much to the current source, but would you need specific libraries, or is the type good enough (TV versus Movies for example)?

 

@@chef I for one would love to see the vera source if that's possible!  Is it on github somewhere?

Edited by BillOatman

Share this post


Link to post
Share on other sites
hstamas

@hstamas  Great to hear it is working!  We really should wait for all the improvements @@Biofects has coming before doing too much to the current source, but would you need specific libraries, or is the type good enough (TV versus Movies for example)?

 

@@chef I for one would love to see the vera source if that's possible!  Is it on github somewhere?

 

Just movies versus TV would be enough for me. I only use the automated light feature on movie nights.

 

I agree that this is @@Biofects baby and life sometimes gets in the way but I worry that he mentioned he'd have something in a week and that was almost a month ago now?

Share this post


Link to post
Share on other sites
BillOatman

Just movies versus TV would be enough for me. I only use the automated light feature on movie nights.

 

I agree that this is @@Biofects baby and life sometimes gets in the way but I worry that he mentioned he'd have something in a week and that was almost a month ago now?

There is a wealth of information available when the event comes in that something is playing.  It's a matter of finding where in all of the available information, that type value is.

It would be nice too, I imagine, to have the lights dim part way during the preroll(s) and the rest of the way when the movie starts.  Lots of possibilities.

Share this post


Link to post
Share on other sites
chef

Share this post


Link to post
Share on other sites
hstamas

There is a wealth of information available when the event comes in that something is playing.  It's a matter of finding where in all of the available information, that type value is.

It would be nice too, I imagine, to have the lights dim part way during the preroll(s) and the rest of the way when the movie starts.  Lots of possibilities.

 

I would love to start geeking out over pre-play stuff again using Emby. Does it have cinema experience features built in? Ive never even looked.

 

@@BillOatman. How hard would it be on your end to add just the ability to activate the lights feature on movies only? I have family coming over for another movie night Sunday and would love to finally have this working for them.

Share this post


Link to post
Share on other sites
BillOatman

I would love to start geeking out over pre-play stuff again using Emby. Does it have cinema experience features built in? Ive never even looked.

 

@@BillOatman. How hard would it be on your end to add just the ability to activate the lights feature on movies only? I have family coming over for another movie night Sunday and would love to finally have this working for them.

That's kinda the problem.  It seems you have to hunt and peck around in the debugger to see where that is identified.  I don't have any Hue stuff so that makes it kinda hard for me. 

Oh actually I think I may have found it.  I'll post something soon you can try and see if it works.

 

@hstamas  Give this a try. [File deleted because it did not work)

 

 

Edited by BillOatman

Share this post


Link to post
Share on other sites
hstamas

That's kinda the problem.  It seems you have to hunt and peck around in the debugger to see where that is identified.  I don't have any Hue stuff so that makes it kinda hard for me. 

Oh actually I think I may have found it.  I'll post something soon you can try and see if it works.

 

Excellent! Dont spend too much time on this though I know you are basically doing this for just me and I dont want to soak up a lot of your time especially if @@Biofects is going to continue on with it.

Share this post


Link to post
Share on other sites
hstamas

That's kinda the problem.  It seems you have to hunt and peck around in the debugger to see where that is identified.  I don't have any Hue stuff so that makes it kinda hard for me. 

Oh actually I think I may have found it.  I'll post something soon you can try and see if it works.

 

@hstamas  Give this a try. 

 

Doesnt look any different @@BillOatman. Nothing seems to have been added that would allow me to specify just movies unless its just hard coded into the plugin? I can physically try it out in a few minutes as I am heading home (ive been testing this all remotely) at lunch time.

Share this post


Link to post
Share on other sites
BillOatman

Doesnt look any different @@BillOatman. Nothing seems to have been added that would allow me to specify just movies unless its just hard coded into the plugin? I can physically try it out in a few minutes as I am heading home (ive been testing this all remotely) at lunch time.

No I didn't change the configuration.  In that version only movies (hopefully) will trigger the Hue changes, always.  Changing the config as well would take a bit more time to understand and probably not worth it with @@Biofects hopefully releasing his stuff soon.

 

Actually it seems he may have had this in mind as well.  In the source code (bottom 2):

 

  public class HueControl
        {
            public bool Enabled { get; set; }
            public string embyDeviceID { get; set; }
            //public string sceneSaveID { get; set; }
            public LightGroup[] LightGroups { get; set; }
            public bool withMovies { get; set; }
            public bool withEpisodes { get; set; }


        }

But it isn't in the config HTML to set it.

Edited by BillOatman

Share this post


Link to post
Share on other sites
BillOatman

I was bored so I added what I think is a checkbox to specify movies only.  You can try it if you like. Otherwise I'll look at least the config tonight.

 

 

[File deleted because it did not work]

 

Edited by BillOatman

Share this post


Link to post
Share on other sites
hstamas

I was bored so I added what I think is a checkbox to specify movies only.  You can try it if you like. Otherwise I'll look at least the config tonight.

 

Just as an FYI, the one you had me first try a few posts back didnt work as far as just movies. It activated on all video playback.

 

I will give this newest one a shot a bit later today. Gotta get some work done so I still have a job to be able to afford all these dam gadgets!

 

Thanks again!

Share this post


Link to post
Share on other sites
BillOatman

Just as an FYI, the one you had me first try a few posts back didnt work as far as just movies. It activated on all video playback.

 

I will give this newest one a shot a bit later today. Gotta get some work done so I still have a job to be able to afford all these dam gadgets!

 

Thanks again!

The new one won't work either then, just the config checkbox should be there.

Ugh, looks like what I found might only be with the guide data says it is, as in live TV.  The search continues :)

Edited by BillOatman

Share this post


Link to post
Share on other sites
hstamas

The new one won't work either then, just the config checkbox should be there.

Ugh, looks like what I found might only be with the guide data says it is, as in live TV.  The search continues :)

 

Confirmed. Activation is the same for both TV and movies. The button is there now though and boy does this plugin work nice! Ive been trying (and failing) to get a combo of webhooks and IFTTT working to do the same thing and its been unreliable and slow at best.

Share this post


Link to post
Share on other sites
BillOatman

I'll post it to GitHub

Thank you sir! :)

Share this post


Link to post
Share on other sites
BillOatman

Hey @@Luke (or @@chef maybe?), sorry to bug you but I have been looking around and just don't see it.  In a PlaybackStart event in a plugin, given PlaybackProgressEventArgs, where do I tell if the thing being played is a movie or tv show for example.  When you define a library you tell it that information, so I expected it to be off of ILibraryManager, but I'm not seeing it.

Edited by BillOatman

Share this post


Link to post
Share on other sites
hstamas

Hey @@Luke (or @@chef maybe?), sorry to bug you but I have been looking around and just don't see it.  In a PlaybackStart event in a plugin, given PlaybackProgressEventArgs, where do I tell if the thing being played is a movie or tv show for example.  When you define a library you tell it that information, so I expected it to be off of ILibraryManager, but I'm not seeing it.

 

@@BillOatman the webhooks plugin talked about earlier in this thread and linked below has the ability to choose what type of media will trigger the plug-in. Maybe it would help shed some light on what ever it is your missing in this new plug-in?

 

https://github.com/nxenos83/emby.plugin.Webhooks

Share this post


Link to post
Share on other sites
chef

Hey @@Luke (or @@chef maybe?), sorry to bug you but I have been looking around and just don't see it. In a PlaybackStart event in a plugin, given PlaybackProgressEventArgs, where do I tell if the thing being played is a movie or tv show for example. When you define a library you tell it that information, so I expected it to be off of ILibraryManager, but I'm not seeing it.

I'd have to check my code, but I think it is "Type", which is a string "Movie", or "Episode".

 

The Playback progress gets triggered quite a few times to do lots of calculation in. Perhaps utilize PlaybackStart event and hold the BaseItem info for reference. Empty the object on PlaybackStop.

 

If you use "EventArgs e", then the information in 'e' is a BaseItem. This should have the information you need.

Edited by chef
  • Like 1

Share this post


Link to post
Share on other sites
BillOatman

Excellent idea, but the call off of the library manager 

string iType = _libraryManager.GetContentType(e.Item);

No longer exists.  

 

I'd have to check my code, but I think it is "Type", which is a string "Movie", or "Episode".

Based on what is in webhooks that would make sense.  

 

So maybe 

 

 PlaybackProgressEventArgs e.MediaInfo.Type huh

 

Lets try it @@hstamas :)

 

 

Emby.HueControl.dll.zip

Edited by BillOatman
  • Like 1

Share this post


Link to post
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...