toblum / McLighting

The ESP8266 based multi-client lighting gadget
MIT License
1.05k stars 289 forks source link

Implement E1.31 sACN into McLighting #287

Closed debsahu closed 5 years ago

debsahu commented 5 years ago

Idea is to depreciate MeshyMcLighting #147 from experimental branch and instead use E1.31 sACN implementation from https://github.com/forkineye/ESPAsyncE131. Example of such an implementation (non-async) can be found at WLED. We need testers before this is pushed into master branch.

debsahu commented 5 years ago

Check E131 branch: https://github.com/toblum/McLighting/tree/e131 out!

@toblum Whenever you have time, could you check the modifications to WebUI? All we need to do is send "=e131" via mqtt or websockets. I confirmed that mqtt part works, not sure about WebUI.

We still need people to try > 170 LEDs. I have not tested it beyond my test setup of 16 LEDs. confirmed works!

toblum commented 5 years ago

Hi @debsahu,

I had tie today to try out this branch, but only with limited success. Compilation works with pio without problems. E131 mode appears in WebUI, but I had to change the payload to e131 instead of E131 to make it work. Acivation via MQTT also works, But then I'm quite lost. I couldn't find a software to drive that mode. I used Jinx and ther free ones. There is some reaction on the LEDs, but it has nothing to do with what I select. How do I have to configure such softwares and which one do you use? Regarding WebUI: Du you think we can send E131 just as another mode when calling getModes()? So the WebUI adapts automatically when E131 is enabled.

Regards Tobias

debsahu commented 5 years ago
aidbish commented 5 years ago

Hi Debsahu. Have you managed to create video on how to use this new branch? Would be interested to test out

debsahu commented 5 years ago

I have the video, Adobe Premiere Pro stopped half-way through on Sunday. Forgot to save the workflow, didn't have time to re-edit everything and swamped with work before holidays. I'll try to do this tonight.

DamianFlynn commented 5 years ago

I have a few NodeMCUs and a new 5 meter coil of LED so this can be my test rig! Great work

Found your video on YouTube. Good work. Thanks for doing this.

toblum commented 5 years ago

Hi @debsahu,

thank to your great video I was now able to configure the software correctly and everything works as a charm now. I tried a 30 LED strip without any noticeable lag. The only thing I noticed is that the ESP takes a quite long time after startup (about one minute) to serve webpages for the first time.

Best regards Tobias

aidbish commented 5 years ago

Hi, where can we view the video

toblum commented 5 years ago

@aidbish You can find it on @debsahu channel: https://www.youtube.com/watch?v=lZ09GlO2_8s

aidbish commented 5 years ago

ahh yes, already had subscribed to debsahu channel, just not been on youtube for a while

debsahu commented 5 years ago

The only thing I noticed is that the ESP takes a quite long time after startup (about one minute) to serve webpages for the first time.

I will see what's causing this. <<< couldn't replicate this

Todo: modify getModes() instead of modifying web interface. done, needs testing

debsahu commented 5 years ago

Todo: add Home Assistant mode for E1.31.

debsahu commented 5 years ago

@toblum Could you sign up for Travis CI for this repo? It is free for open source projects. I have added https://github.com/toblum/McLighting/blob/e131/.travis.yml which will do CI as we update the code.

toblum commented 5 years ago

Hi @debsahu,

I just signed up and activated the McLighting repository (https://travis-ci.org/toblum/McLighting/). I hope this works for you too. I did not find any way to invite others to access the dashboard. Maybe this works automatically for you as you're also an admin.

Regards Tobias

debsahu commented 5 years ago

@toblum Yes, it should be automatic as long as there is a .travis.yml file. Once we merge this branch to master, it will trigger a build and you should get emails with build status for every merge.

iansexton commented 5 years ago

Hi @debsahu & @toblum

I love this! I discovered McLighting just before Xmas when I needed something to control my lights. Recently I've been trying the E1.31 with Jinx! which has kept me entertained for a while :) I've had a few issues which I'll report when I'm sure it isn't just me being stupid... Please excuse me plugging my own work, but I have a board which I designed for my students which has an 8 pixel strip. I've found this to be very useful for experimenting with McLighting & Jinx! It's what I used for my Xmas lights. It's at http://www.myiot.co.uk/wemos/

Cheers Ian

iansexton commented 5 years ago

I'm happy to report that the issues I had were mine (using Jinx! wrongly). Everything works great now :) I've had 4 nodes running for several hours synchronised with Jinx! broadcast. I've noticed that new nodes can struggle to connect to my access point when a 'show' is running but I guess this is down to my access point. Superb work guys.

Cheers Ian

debsahu commented 5 years ago

When E1.31 packets arrive, first preference is for the packets and one safe webserver loop packet. That's why you're seeing the slow down. There is no solution for it, unless webserver is Async as well.

iansexton commented 5 years ago

That makes sense.

Cheers

Ian

On 15/01/2019 1:44 pm, Debashish Sahu wrote:

When E1.31 packets arrive, first preference is for the packets and one safe webserver loop packet. That's why your are seeing the show down. There is no solution for it, unless webserver is Async as well.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/toblum/McLighting/issues/287#issuecomment-454396391, or mute the thread https://github.com/notifications/unsubscribe-auth/AiVyETadjRbFfPDSllegNP9JJOu6Nsbrks5vDds3gaJpZM4ZN1Au.

--

M: Dr Ian Sexton mailto:ian@myiot.co.uk W: myiot http://www.myiot.co.uk

DamianFlynn commented 5 years ago

I have tested this branch with Xlights - and its working like magic - This is going to be very interesting

iansexton commented 5 years ago

It's excellent!

My only reservation is that the array size is hard coded in McLighting. This needs a little thought.

On 15/01/2019 2:29 pm, Damian Flynn wrote:

I have tested this branch with Xlights - and its working like magic - This is going to be very interesting

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/toblum/McLighting/issues/287#issuecomment-454410890, or mute the thread https://github.com/notifications/unsubscribe-auth/AiVyEaNq_MWrZPcne1wFb5su2ksuGaWCks5vDeXDgaJpZM4ZN1Au.

--

M: Dr Ian Sexton mailto:ian@myiot.co.uk W: myiot http://www.myiot.co.uk

DamianFlynn commented 5 years ago

I have been looking at the falcon controllers. Their source is also on github and this solution allows you configure the stings and universe using the built in web server.

Possibly we could implement a similar approach to address the universe numbers

Get Outlook for iOShttps://aka.ms/o0ukef


From: iansexton notifications@github.com Sent: Tuesday, January 15, 2019 2:42 p.m. To: toblum/McLighting Cc: Damian Flynn; Comment Subject: Re: [toblum/McLighting] Implement E1.31 sACN into McLighting (#287)

It's excellent!

My only reservation is that the array size is hard coded in McLighting. This needs a little thought.

On 15/01/2019 2:29 pm, Damian Flynn wrote:

I have tested this branch with Xlights - and its working like magic - This is going to be very interesting

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/toblum/McLighting/issues/287#issuecomment-454410890, or mute the thread https://github.com/notifications/unsubscribe-auth/AiVyEaNq_MWrZPcne1wFb5su2ksuGaWCks5vDeXDgaJpZM4ZN1Au.

--

M: Dr Ian Sexton mailto:ian@myiot.co.uk W: myiot http://www.myiot.co.uk

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/toblum/McLighting/issues/287#issuecomment-454415297, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AF_zD1Owcg57a4Y24ZR96_YuR4gdqa4Mks5vDejJgaJpZM4ZN1Au.

debsahu commented 5 years ago

It's excellent! My only reservation is that the array size is hard coded in McLighting. This needs a little thought.

We can use pointers for strip and need significant changes to WebUI for getting strip length and maybe RGB order and such. It is different topic, as of now, just focusing on E1.31 in this PR.