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

The Great Thread of Fate - Formerly Cannot Resolve or Find Documentation #83

Open Geefbird opened 8 months ago

Geefbird commented 8 months ago

Searching for lights through HTTP Daemon not returning any lights present. Not sure where to go from here. WiFi is on, Lights should be discoverable and yet nothing shows up it just keeps refreshing.

taburineagle commented 7 months ago

Ha, yes! Night work! It's... not for everyone 🤣 Yeah, I have a list of lights in the program with their specs, the color temp ranges, if they're CCT only lights (some Bi-color lights can only do CCT mode, which is another protocol), if they're Infinity lights, etc. And I filled the information out as well as I have access to documentation, but I don't have the lights in front of me, so I can't accurately know how every light is going to work on the program, that's why it helps to hear from people that have specific lights like that to know how they run...

image

Looking up the GL1C, it actually looks like that's one of the lights that supports that Neewer dongle you got last week - but it also supports Bluetooth, which means NeewerLite-Python should theoretically be able to control it. I'm not sure if it's Infinity though, I'm looking for that... it looks like (according to Neewer's website) it might be one of those "Infinity protocol, but not Infinity standard" lights, which I just added support for recently.

taburineagle commented 7 months ago

And as I look at the table above, I don't even have the GL1C listed, so I can add that one in too, and hopefully it uses a compatible protocol...

taburineagle commented 7 months ago

OK, I added a new commit - I rewrote the MAC address -> light ID# procedure (which hopefully will work now, but I still think it needs more finesse) and added the GL1C to the database.

Geefbird commented 7 months ago

The lights he has have CCT, HSI, and SCENE modes. So far using the UI and http server he was able to get CCT and HSI working but not scenes. Through neither the GUI nor the http server. He wasn't originally able to use presets either but I had him write "light=1&use_preset" and that got presets to work with his light as well. I had him update to the most recent commit and there was no change, at least in the GUI, the http server however wasn't responding to any requests at all. Looks like it never went into send mode, but I could be wrong because that happens a lot lol. I attached a screenshot of his console when trying to use the server with the most recent commit but it doesn't provide much information. image Also, I was going to mention that you can add the BH-30S lights to the list of fully tested if you want as I have fully tested them with the GUI and http server and have everything working with them including external applications like StreamDeck, Touch Portal, StreamerBot. 1 light down.... 432948723965 to go lol.

Geefbird commented 7 months ago

although thinking about it now... maybe they aren't fully tested because scenes didn't work without using presets lol. I think that might be a bit of an endeavor though since each scene has different controls.

Geefbird commented 7 months ago

Oh and requests that I am not sure are possible lol. Popular demand for more preset buttons by people testing this out, though I am not sure that will be as popular once scenes work without needing to set them to those. I was personally wondering if it would be possible to pull in battery life information? Since my lights are wireless it would be cool to be able to see what the battery percentage is at, but I don't know that it is possible. I can't recall off the top of my head if the NEEWER app even sees that information. I want to say it does but I am not sure. Anyway, I will let you get some rest and take a break from bombarding you with messages for a while lol.

taburineagle commented 7 months ago

Ha, lol 🤣 "432948723965 to go" - I'm not sure if battery information is one of the parameters that get sent through BLE - I know channel and power status do, I'm going to have to check on that... I do know (or at least I think I remember seeing it) that the Neewer app itself does show battery status, so it might be possible. DadBodNerd got in touch with me and said the latest commit I pushed works with the HTTP server, but the scenes still don't work, which is... a little confusing, but not a show stopper.

I also pushed a commit that hopefully fixes the MAC address issue with the HTTP server - give it a try and see if that works now, when you get a chance.

Geefbird commented 7 months ago

Sorry for the late response, someone at work has been out all week so I have been extra tired all week lol. I am glad he got in touch with you directly, I think that is the best way to make any issues known and gives you the best opportunity to look into and fix things. As for the latest commit I did get a chance to test it and the MAC address issue is resolved. Requests can now be sent with either the assigned number or MAC address of the light without issue. Hell yea man!

taburineagle commented 7 months ago

Ha, I love the new title 🤣 I'm going through a very similar thing at work, one of my coworkers' last days was on Friday, so I'm now the only one on my shift... ha, and it's pretty busy! I'm glad to hear the MAC address change worked out for you! I have SCENES in progress for the HTML server, and I sorted DadBodNerd out to the level you're at now (the program was seeing a similarly named light but not the one he's using, and it used the parameters for that light instead, that was his issue.) More to come... hopefully soon!

Geefbird commented 7 months ago

Well I hope the work stuff goes well and doesn't drain you too much, I for one cannot shake the feeling of exhaustion lately. I am just tired all of the time and no matter how much I sleep I never feel rested. DadBod was super hyped to be able to use everything in the GUI and I told him that for now he can go the route I went and set scenes to presets and use the server to trigger them, he said he was going to set all of that up last night, and other than that everything is working great. I would say it is coming along nicely and pretty soon you'll have the server caught up to the GUI! Thanks again for all of the hard work and countless hours, looking forward to testing the next update when you push it.

taburineagle commented 7 months ago

Ha, oh, I'll push it --

taburineagle commented 7 months ago

^^ I'll push it real good 😄 You're welcome! Well, work is going well - it's a lot busier with one less person, but it's not quite exhausting yet... I've never really felt like I slept well, so I definitely know what you mean there! OK, with this latest commit (I pushed it to the WIP-HTTP-Server-Mods branch for testing for now, but the functionality should be there), it should add all Infinity FX functionality. It also adds parameters for effects that support them, such as bright_min, bright_max, temp_min, temp_max, hue_min, hue_max, speed, sparks, and specialOptions (that one's mainly for effects like "Cop Car" that have several different options for how the colors work).

Geefbird commented 7 months ago

Pah puh puh push it... I see what you did there lol

taburineagle commented 7 months ago

Ha, yeah, dad-joke territory, but I had to go there 😅

taburineagle commented 7 months ago

Just let me know when you get a chance to test that out @Geefbird - everything should be good to go on the HTTP end...

Geefbird commented 7 months ago

ok I grabbed the files and will try to get it tested tomorrow. Been extra busy lately so I haven't had time yet but tomorrow is my day off and as of right now my day is wide open so hopefully I can get to that somewhat early on in the day. I will let you know once I do

Geefbird commented 7 months ago

ok I have tried the newest script but am running into an issue straight away. Firstly I don't know how to properly type out the requests to select specific scenes i.e. light=1;2&mode=scene ??? I don't know where to go from there. I have tried scene1 scene=1 and both seem to do nothing.

The actual issue though is that when I choose to default to 1 by just using scene with no specific number it triggers only one light and not the other.

taburineagle commented 7 months ago

Hmm, I'm not sure on the one light not triggering, but yeah, something along the lines of:

http://127.0.0.1:8080/NeewerLite-Python/doAction?light=1&mode=SCENE&scene=12

Also, if you want to access all lights, you can use an asterisk instead of doing 1,2

http://127.0.0.1:8080/NeewerLite-Python/doAction?light=*&mode=SCENE&scene=12

Geefbird commented 7 months ago

ahhhh I see where I was going wrong lol, I wasn't doing it right.

In all seriousness though thank you for that asterisk tip, I will give that a shot in a bit. Just got off of work and am going to make some food, eat, and then test this out. See if U can get both to trigger a scene when using an asterisk.

Geefbird commented 7 months ago

Ok the asterisk thing works and causes both lights to enter scenes with no issue, however I am still trying to work out controlling each scene and if I mess up anything it bricks the lights and they just pulsate white lol. I have to shut down the server, power off the lights and then start over. Which isn't really an issue once I get these scene settings figured out. Safe to say this commit works great, nothing seems to be having issues. Well except me... I am having issues lol

Geefbird commented 7 months ago

lol I just realized I have 2 NEEWER T100C bulbs for photography and those also work with this. I just tested them. They run into some issues after a bit but I will save that for another day since they aren't important right now.

taburineagle commented 7 months ago

Hello! Ha, it's been a busy last two weeks, so sorry for the late reply... Ah, glad you got that sorted out! I don't think the lights themselves are bricked, I think what's happening is the HTTP server sends one request that it doesn't know how to recover from, and then the program gets confused. I need to be able to have it recover more gracefully from issues like that. I actually wasn't aware that the T100C worked with NeewerLite-Python! I've actually not heard of those, honestly, so the program is probably loading the default settings for those when it loads them in, which aren't technically correct (the default params are for "normal" old-style lights, and it looks like those are similar to the GL1C in capabilities), so I'll add that one to the list when I get a chance.

Do the T100Cs work with SCENE mode? That's one dead giveaway that the params aren't 100% correct.

Geefbird commented 7 months ago

Honestly I didn't play with them enough to know if they even have a scene mode. I am going to pull them out again at some point and link them to the app on my phone to see exactly what paramaters they have and I will get back to you about them.

Geefbird commented 3 months ago

Yo! Lol long time no talk! I have a question because I am going out of my mind over here. For the last sseveral months since we got this all ironed out my lights have never failed or had an issue but just the other week they stopped working with the http server and I cannot get them to stay linked to it. I can open and use the GUI and link them and they will stay linked but once I connect them to the http they unlink and will not link. In the terminal it says link successful on both lights but no commands go through and when I open the browser page it says not linked for both lights...

If you have any idea what could cause this I would really appreciate the help because I have been trying everything for a week and gotten nowhere.

Geefbird commented 3 months ago

wouldn't you know it as soon as I ask for help I get them to start working again... wth lol

Geefbird commented 3 months ago

Yea... it keeps doing the same stuff again. The light links and then it immediately unlinks. I have no idea what started to cause this but it is quite frustrating.

taburineagle commented 2 months ago

Hmm, that's quite odd! Sorry for the delay, I saw the initial post that the problem sorted itself, but missed the followup... that is so weird! I haven't changed anything operationally, so stuff shouldn't just stop working like that - not trying to pass the buck, but possibly a system update or something altered the Bluetooth stack?

Geefbird commented 2 months ago

Yea it is definitely nothing to do with your stuff, because that hasn't changed, I am more or less outsourcing ideas lol, because I have simply run out of things to try short of just disconnecting and reconnecting the lights from the PC, connecting them through the GUI first, and then running them with the HTTP server. That is all that I have been able to get to consistently work so far.

Tell me more about this bluetooth stack lol, I have had system updates but can't see that being an issue as anyone running windows 11 would have the same update. I was already thinking it would be something bluetooth related.

taburineagle commented 2 months ago

What I mean is it's possible a Windows (or whichever OS you're using) changed something that screws with the way Bluetooth worked before the update. It's possible that's not the case either, there are a lot of ways things can change 😄 It seems weird they'd connect just to disconnect though.