waxlamp / elgato

Control program for El Gato brand keylights
Apache License 2.0
9 stars 0 forks source link

Can't find my light on 192.168.2.xxx subnet when PC is on 192.168.4.xxx subnet when Elgato Control Center can 🪲 #20

Open Barnacules opened 1 year ago

Barnacules commented 1 year ago

I get the following error when I run [Elgato lights --discover]

C:\Users\Jerry\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\zeroconf_services\browser.py:178: FutureWarning: <leglight.discovery.discover..thelistener object at 0x00000209D7C93810> has no update_service method. Provide one (it can be empty if you don't care about the updates), it'll become mandatory. warnings.warn(

I don't think this error has anything to do with the actual detection though, I think the reason it can't find my light is because it's on a different subnet of my LAN. The PC I'm running this script from is on 192.168.4.xxx subnet and my light is on my wireless network which is 192.168.2.xxx. Both networks are run through pfSense and can see and interact with eachother without problem and Elgato Control panel finds the light when it searches from the PC on the 192.168.4.xxx subnet.

Can you please add an option to allow me to manually input IP address for the light or expand your search algo to look over all class C subnets to try and find the lights since a lot of people will run their wireless network on a different subnet then their primary wired network for security reasons.

I really look forward to using your script integrated with StreamerBot so my viewers can control the lighting during my live streams. I was going to write a script to do it myself but you already look like you created the perfect tool it just needs a tiny little tweak for my scenario. If you can't add this functionality can you please tell me where the config file is stored and what the format is when it does find a light so I can manually create it with my 192.168.2.xxx address of the light and I'll just have my pfSense box allocate a static IP address to it moving forward so it doesn't move around on me.

Thank you, Jerry (aka. Barnacules) http://linktr.ee/barnacules

Leidrin commented 1 year ago

Hey Barnacules (enjoy your content!)

I am also having this problem with local discovery, even on the same subnet as my lights. I'm hoping waxlamp can get back to us on the manual config file formatting, but the location is c:\users\username\.config\elgato (~\.config\elgato on linux). If you figure it out please post, or I will do the same!

waxlamp commented 1 year ago

Hey @Barnacules and @Leidrin -- thanks for the issue report and the followup info.

Unfortunately, I don't have the mental bandwidth to address this directly right now, but I do think you may be able to simply edit the config file in place as @Leidrin suggests.

The format of the file is simple--it's a JSON list of objects that looks like:

[
  {"address": "192.168.68.51", "port": 9123}
]

A simple workaround might just be to determine the IP address of your light by some other means, and then manually create the configuration file with that information. Then elgato should "just work"... hopefully?

If you try this, please let us know how it works out.