taburineagle / NeewerLite-Python

NeewerLite-Python is an un-official cross-platform Neewer LED light control app - written in Python, originally based off of the NeewerLite macOS Swift project by @keefo (Xu Lian)
MIT License
61 stars 11 forks source link

Can't connect? #24

Closed hezmoz closed 2 years ago

hezmoz commented 2 years ago

Hello!

I'm looking to set my Neewer 660 Pro and 176 RGB lights up for using with my Twitch stream. I've been having trouble getting the software to work so I thought I'd check for help here.

If I open up the UI and click 'scan' nothing shows up.

If I open up the Windows Bluetooth settings and scan for a device, I'm able to see both the lights and connect to them through Windows.

If I run 'bleakdiscover.py', I can see the MAC addresses of both the lights.

However, NeewerLite-Python (UI or through the command line) won't see the lights and I have been unable to connect to them. I've tried all the troubleshooting steps I can think of, including disconnecting my phone from the lights, changing the channels, turning off/on and changing channels etc.

I was only able to see the 660 Pro one time when trying to get it to work, but was unable to link to it, and have been unable to see it since then.

image

I've tried a few older versions of the app and nothing's worked.

Let me know if you guys have any ideas! Would be great to get this working but I'm struggling to find a solution!

taburineagle commented 2 years ago

Hi @hezmoz! Hmm, interesting - ha, one possibility would to just get a stronger Bluetooth adaptor, but that's a bit of a lazy answer 😊 I'm wondering - in both Windows and the bleakdiscover.py methods, do the lights return their actual names each time? -74dBm is a fairly low Bluetooth signal, kind of on the fringe, but should theoretically still work... NeewerLite-Python scans the devices that Bleak finds and only adds them to the list if the name comes up as "NEEWER-" something (so it doesn't grab a bunch of random Bluetooth devices that aren't lights) so it may be possible that it can see the lights, but the signal isn't strong enough to broadcast the name information? Just brainstorming here - what kind of setup are you using at the moment, dongle, or on-board Bluetooth, and how far away are the lights from the system that's connecting to them?

hezmoz commented 2 years ago

Hey @taburineagle thanks for the reply and your wonderful work!

Using a TP Link UB400 adapter in the front of my PC - doesn't seem to be a range issue as I've tried from all angles, literally right next to the transmitter etc and didn't get anything. Have tried multiple ports, usb cable extenders etc.

It's worth noting that when Bleak finds the devices, I just see the MAC addresses and no mention of NEEWER.

778A5D2C-24C7-4438-BE9C-2DBA9A2A5510

That's the MAC addresses and both lights will appear like that, but do not appear when I try to control them through the software. The address beginning F3 corresponds with the screenshot from earlier.

If I'm looking at changing my Bluetooth adapter, is there a "known good" one I can grab on Amazon Japan?

taburineagle commented 2 years ago

You're welcome! And thanks for saying so! 😊

Ha! That's even weirder, because that's the same dongle I'm using! I've been looking into getting a stronger one myself, but haven't found one I like yet. Even more strange, when I run the bleakdiscover.py script, this is the result I'm getting:

image

This has me really curious now 😄 Which versions of Python and Bleak are you using?

hezmoz commented 2 years ago

@taburineagle yeah really weird... Completely new to all this, I installed bleak and pyhton yesterday with no previous experience.

Python 3.10.2 Pyhton 3 3.9.10 Bleak 1.1.1

A40BECB3-A6DA-43D8-A106-FC864D03E73E

Maybe a reinstall will fix things?

taburineagle commented 2 years ago

Possibly... hmm, that's also strange, as I have the same exact Python and Bleak versions too - my bleak-winrt version is 1.1.0 though, that's the only difference. I wonder if there might be a permission set somewhere that's affecting it - most likely not, but it's not out of the question.

hezmoz commented 2 years ago

@taburineagle Really weird. Just re-installed everything and didn't fix anything. I did actually see the 660 Pro show up on the list one time when I was running bleakdiscover.py but then scanned again and it didn't show up. Really not sure what I'm doing wrong!

hezmoz commented 2 years ago

Update... was able to briefly see the light appear with the correct name again after scanning multiple times, but it only did it twice before is disappeared again and went back to show the MAC without any useful information.

image

so clearly it is working, it just looks like bleak isn't able to consistently pull up the name with the light when it finds the MAC address. @taburineagle is there some time of tweak I can do to force the application to ignore the check for a light containing "Neweer"? As I know the two MAC addresses of the light, can try to force it to identify them as the correct lights and run anyway?

taburineagle commented 2 years ago

Hello again @hezmoz! OK, I pushed a new commit that adds capabilities for whitelisted MAC addresses. To use this, download the new commit NeewerLite-Python.py file, create a text document called NeewerLite-Python.prefs in the same path as NeewerLite-Python with this line added, spelled exactly like this:

whiteListedMACs=

and then the MAC addresses you want to whitelist after that, separated with semicolons - for example,

whiteListedMACs=AA:BB:CC:DD:EE:FF;GG:HH:II:JJ:KK:LL;11:22:33:44:55:66, etc.

Make sure the file is called NeewerLite-Python.prefs, not NeewerLite-Python.prefs.txt, save it, and try launching NeewerLite-Python again. If a MAC address of a device matches the MAC address you added to the list, NeewerLite-Python will add it regardless of whether it says "NEEWER" or not -

image

Although for the ones that don't specify a name, there may be other errors that come up. Hopefully this helps!

hezmoz commented 2 years ago

Thank you thank you THANK YOU @taburineagle for the new commit, absolute legend, that worked perfectly and both lights are now Sync'd up, albiet without names. Fantastic stuff!!

image

taburineagle commented 2 years ago

Ah, excellent, excellent - glad to hear it's working out @hezmoz! You could go into the Light Preferences for each light and give them custom names individually if you'd like - that's still so bizarre that the names aren't showing up!

taburineagle commented 2 years ago

Hello @hezmoz! I'm going to close this for now as it's (hopefully) been resolved for a while.