elgatosf / streamdeck-philipshue-legacy

Stream Deck SDK: Philips Hue sample plugin
https://developer.elgato.com/documentation/stream-deck/
MIT License
201 stars 44 forks source link

Cannot discover Hue bridge #18

Closed DrHughHarvey closed 2 years ago

DrHughHarvey commented 3 years ago

Elgato Stream Deck mini + Stream Deck v5.1.1

Installed Streamdeck-Philips Hue SDK from this git. Attempted to create button in Stream Deck to control Philips Hue -> Select Bridge -> Add new -> Discover bridges = No bridges found.

My bridge is on and connected to my network (same network as my mac), and synced to my iOS app and to Hue Sync, so everything works on that side. Out-of-home-control is enabled. No VPN in use.

I see many other people have had this issue, but no actual solution has been found other than to keep uninstalling/reinstalling/restarting which obviously is not working for me.

Could the developers @dkern maybe address this issue?

dkern commented 3 years ago

This plugin gathers Information about your bridges by using the broker service under https://discovery.meethue.com If you open this url in your network you should find all hue bidges. So a first check would be if you can open this url and see any response there.

You finde some information about it here: https://developers.meethue.com/develop/get-started-2/ And here is the code where it will be used: https://github.com/elgatosf/streamdeck-philipshue/blob/master/Sources/com.elgato.philips-hue.sdPlugin/plugin/js/philips/meethue.js#L210

DrHughHarvey commented 3 years ago

Thanks for the prompt response.

All I get at https://discovery.meethue.com is empty square brackets [ ]

dkern commented 3 years ago

So, that means the broker doesn't know any of your bridges. To be honest, i'm not completely sure how this works. But you need to fix that in order to get the plugin working, because it relays on this data for bridge discovery. Good luck! :)

DrHughHarvey commented 3 years ago

Thanks. It's a mystery to me too - the bridge works absolutely fine, and all the Hue apps and lights are connected on the same network.

DrHughHarvey commented 3 years ago

Just a thought - can I direct the SDK to look directly at the IP of my bridge (192.168.1.30) on my network? Do you think swapping out var url = 'https://discovery.meethue.com'; with var url = '192.168.1.30'; would work?

dkern commented 3 years ago

No, that would not work, because the function uses the response of this service to locate the bridge. Changing the url will just break everything. ;)

But a bit below that part you see what the lib does, it add the ip address and the bride id to an array and pass it to the callback. So you probably could replace the whole function and just respond your bridge.

Its hacky and completely untested, but this could work. ;)

Bridge.discover = function(callback) {
    callback(true, [
        new Bridge('192.168.2.3', 'bridge_id')
    ]);
};
DrHughHarvey commented 3 years ago

OK, so I think what might be useful to add to your SDK would be to have the option for the end user to manually input the IP of their bridge and their authorised user code as produced through the API debugger. That way, if the bridge is playing up, it can be manually added.

dkern commented 3 years ago

First: This is not mine. It's Elgato/Corsairs. I'm only a Contributor. ;) Second: Its not an SDK: ;)

But to be honest, I think that would probably not to hard to implement a "manual mode" to the discovery screen as well. The functions needed are mostly there. So I think that could work somewhat easily. But I currently don't have time for unpaid work, so it could took a while ...

DrHughHarvey commented 3 years ago

OK, well, thank you anyway! Here's hoping @elgatosystems fix this soon...

dkern commented 3 years ago

Ok, out of curiosity i gave it a short try. 😁

image

image

DrHughHarvey commented 3 years ago

Wow! Any chance you can send me a compiled version?

dkern commented 3 years ago

I've created a pull request with this feature. You could get everything from there if you want to test it already.

DrHughHarvey commented 3 years ago

That's awesome! Thanks

junglejuz commented 2 years ago

how do i download a release with this feature?

tiptronic commented 2 years ago

https://github.com/elgatosf/streamdeck-philipshue/blob/master/Release/com.elgato.philips-hue.streamDeckPlugin

dannybloomfield commented 2 years ago

Thanks @tiptronic - I found the bridge via IP, validated it correctly. BUT - it doesn't populate the bridge in the dropdown in the Stream Deck config UI.

dkern commented 2 years ago

I've added a test bridge to my network and can recreate that issue here. I try to find the reason for this, but I think this belongs also to the auto-discovery function of the meethue class. But we'll see ...

dkern commented 2 years ago

@dannybloomfield I fixed the issue and created a PR. If you want, you could test it: https://github.com/elgatosf/streamdeck-philipshue/pull/22

logabog commented 2 years ago

I am having the same issue as @dannybloomfield where after I add the bridge manually, it does not show up in the list.

dkern commented 2 years ago

I am having the same issue as @dannybloomfield where after I add the bridge manually, it does not show up in the list.

Have you installed the version from github manually, or do you use the one you can install via SteamDeck software? So new version is not yet published, so you need to do it manually. Then the issue should be fixed.

logabog commented 2 years ago

I am having the same issue as @dannybloomfield where after I add the bridge manually, it does not show up in the list.

Have you installed the version from github manually, or do you use the one you can install via SteamDeck software? So new version is not yet published, so you need to do it manually. Then the issue should be fixed.

Yes - I uninstalled the original plugin from the SteamDeck application and then downloaded the version from github and installed that to Streamdeck.

I was then presented with option to enter the Hue Bridge IP manually, and the bridge was found successfully. However. when I go to select the bridge in the app for the streamdeck Hue buttons, the bridge does not appear in the list.

dannybloomfield commented 2 years ago

Same

On Fri, Jan 21, 2022, 16:47 logabog @.***> wrote:

I am having the same issue as @dannybloomfield https://github.com/dannybloomfield where after I add the bridge manually, it does not show up in the list.

Have you installed the version from github manually, or do you use the one you can install via SteamDeck software? So new version is not yet published, so you need to do it manually. Then the issue should be fixed.

Yes - I uninstalled the original plugin from the SteamDeck application and then downloaded the version from github and installed that to Streamdeck.

I was then presented with option to enter the Hue Bridge IP manually, and the bridge was found successfully. However. when I go to select the bridge in the app for the streamdeck Hue buttons, the bridge does not appear in the list.

— Reply to this email directly, view it on GitHub https://github.com/elgatosf/streamdeck-philipshue/issues/18#issuecomment-1018995582, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAE52YWKIJNN2OAO5ANGDODUXH5CNANCNFSM5F7TARYA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

dkern commented 2 years ago

Yes - I uninstalled the original plugin from the SteamDeck application and then downloaded the version from github and installed that to Streamdeck.

I have to ask again, because my question was a bit unclear. ;) Do you have installed the source manually from GitHub, or did you used the one in the release folder? Because the release version will not work too. You really need to copy the source files manually.

logabog commented 2 years ago

I did not do that. Would I just download the master code from Github and copy it over the installed directory of the plugin? Where is the plugin installed by default on MacOS?


From: dkern @.> Sent: Saturday, January 22, 2022 6:48 AM To: elgatosf/streamdeck-philipshue @.> Cc: logabog @.>; Comment @.> Subject: Re: [elgatosf/streamdeck-philipshue] Cannot discover Hue bridge (#18)

Yes - I uninstalled the original plugin from the SteamDeck application and then downloaded the version from github and installed that to Streamdeck.

I have to ask again, because my question was a bit unclear. ;) Do you have installed the source https://github.com/elgatosf/streamdeck-philipshue/tree/master/Sources/com.elgato.philips-hue.sdPlugin manually from GitHub, or did you used the one in the releasehttps://github.com/elgatosf/streamdeck-philipshue/tree/master/Release folder? Because the release version will not work too. You really need to copy the source files manually.

— Reply to this email directly, view it on GitHubhttps://github.com/elgatosf/streamdeck-philipshue/issues/18#issuecomment-1019208786, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXJNAVSBXBI5YT3AYG2RIHDUXKKPHANCNFSM5F7TARYA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: @.***>

dkern commented 2 years ago

I don't know where it is on mac. On windows its in the user app data folder. I would assume it is somewhere in the home folder on mac too. C:\Users\%USERNAME%\AppData\Roaming\Elgato\StreamDeck\Plugins\com.elgato.philips-hue.sdPlugin or %USERPROFILE%\AppData\Roaming\Elgato\StreamDeck\Plugins\com.elgato.philips-hue.sdPlugin

Inside there, search for the folder com.elgato.philips-hue.sdPlugin and copy the folder for backup. Then just copy all files from the source folder inside that folder and restart Streamdeck software.

tiptronic commented 2 years ago

On the Mac it's here:

~/Library/Application Support/com.elgato.StreamDeck/Plugins or /Users/<yourusername>/Library/Application Support/com.elgato.StreamDeck/Plugins

dkern commented 2 years ago

On the Mac it's here

I add a little instruction for manual installing to the readme ...

yval14 commented 2 years ago

Capture d’écran 2022-06-04 123545 I kill the app properly and it worked

laimonaslizdenis commented 2 years ago

No, that would not work, because the function uses the response of this service to locate the bridge. Changing the url will just break everything. ;)

But a bit below that part you see what the lib does, it add the ip address and the bride id to an array and pass it to the callback. So you probably could replace the whole function and just respond your bridge.

Its hacky and completely untested, but this could work. ;)

Bridge.discover = function(callback) {
    callback(true, [
        new Bridge('192.168.2.3', 'bridge_id')
    ]);
};

Thanks this helped, sadly I didn't found legit way to fix this issue. It suddenly stopped working for stream deck... It does work on phone, and on other hue buttons, but stream deck just refuses to check/search for bridges in local network.