arendst / Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
https://tasmota.github.io/docs
GNU General Public License v3.0
22.04k stars 4.78k forks source link

Flash Mi-Light WL5 with Tasmota? #7385

Closed fkempter closed 4 years ago

fkempter commented 4 years ago

Have you looked for this feature in other issues and in the docs?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.

Describe the solution you'd like
### Someone has already flashed the MI-Light WL5 LED strip controller? wl5

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

(Please, remember to close the issue when the problem has been addressed)

Jason2866 commented 4 years ago

Please, address this to the Tasmota Support Chat. The chat is a better and more dynamic channel for helping you. Github issues are meant for Tasmota Software Bug Reporting.

Please check the Contributing Guideline and Policy and the Support.

Thanks.

Support Information

See Documentation for more information. See Chat for more user experience. See Community for forum. See Code of Conduct

WMP commented 4 years ago

This device has WR3 module, based on RTL8710BN. This is impossible to flash it with Tasmota or ESPurna .

teardown

trockenasche commented 4 years ago

I can confirm that there was also a WR3 module on my WL5.

WMP commented 4 years ago

I use tuyapi to control this device without internet network.

douginoz commented 4 years ago

@WMP Have you got your WL5 working in homebridge yet? I saw your comment in another github about being unable to make it work due to TLS issues. I have 3 of these devices and would like to get it working too, so I would love to get your homebridge configuration if you got it working. you can email me at inthecentreofitall at gmail.com

hoshy42 commented 4 years ago

Hi guys,

I unsoldered the unholy WR3 module and put an ESP-12e with Tasmota in its place.

IMG_20200930_023431

It's working, but now I am stuck fiddling around with the DpId's.

Screenshot from 2020-09-30 15-34-43

This is what it looks like with the help of the Tasmota Tuya Bookmarklet (found here: https://github.com/sillyfrog/Tasmota-Tuya-Helper)

I managed to figure out that DpId 22 is the main dimmer channel (10-1000) and 20 is the classic boolean ON/OFF. 23 and 26 do not seem to change anything (although i dont have anything connetcted to the CW and W channels @ the moment, only the RGB ones )

My guess is that i have to send some kind of coded 5 channel color string like "FF00000000" for "channel 1 at full"

Any pointers?

Thanks in advance hoshy42

Aasikki commented 3 years ago

@hoshy42 Have you had any progress with this? I was thinking about doing this and happy to see it works at least that far. Might have to order some esp-12:s to try this and figure out how to make it work but I don't really know much about these things.

grasshide commented 3 years ago

Hi guys,

I unsoldered the unholy WR3 module and put an ESP-12e with Tasmota in its place.

IMG_20200930_023431

It's working, but now I am stuck fiddling around with the DpId's.

Screenshot from 2020-09-30 15-34-43

This is what it looks like with the help of the Tasmota Tuya Bookmarklet (found here: https://github.com/sillyfrog/Tasmota-Tuya-Helper)

I managed to figure out that DpId 22 is the main dimmer channel (10-1000) and 20 is the classic boolean ON/OFF. 23 and 26 do not seem to change anything (although i dont have anything connetcted to the CW and W channels @ the moment, only the RGB ones )

Sorry to bring this old thread up. But did document what you did anywhere? I recently bought a Tuya WB5 controller and I'm very interested in how to switch to the esp-12!

Actually @hoshy42 what you achieved is already good enough for what I'm planning. I only have an one-channel warm-white LED stripe that i want to control. The plan is to use all 4 channels and connect a 1 meter part of the stripe to each channel. Being able to control all the stripes at once with the main channel would be good enough for me. Can you point out which pins you soldered where? Thats kinda hard to see on the picture. Thanks!

lucboudreau commented 2 years ago

Same here. If anyone has more details on this device, please share.

kquinsland commented 2 years ago

I am currently working on similar.

I only recently got an ESP module to boot while soldered into the MiBoxer module (the Mi5 has the EN pin pulled up... but i totally forgot that RST also needs to be pulled up)

Before bothering with the ESP, I use a logic analyzer to capture quite a few things. I will try to clean up my notes enough so the pulseview captures will make sense.

I have managed to figure out that DpID: 101 has something to do with the button / mode... it's almost like a complete dump of the state for the onboard MCU.

Here are two tasmota commands that can be used to set an LED strip to a golden color or a blue color:

BLUE-ish: 
SerialSend5 55 AA 00 06 00 19 1C 03 00 15 31 30 31 30 66 30 33 65 38 30 33 65 38 30 30 30 30 30 30 30 30 FA

GOLD-ish:
SerialSend5 55 AA 00 06 00 19 1C 03 00 15 31 30 30 35 32 30 33 65 38 30 33 65 38 30 30 30 30 30 30 30 30 CA

Those commands don't work all the time the 'mode' button must be pushed some number of times to get the proper mode.

In at least one of the mode(s), DPiD 21 is light mode.

Screenshot_20211211_233308


EDIT: one more observation before I call it a night.

I pushed the button repeateatedly and this is what came out:

55AA030700106500000C48000007023E0064000101F574 55AA030700106500000C48000007023E0064000202F778 55AA030700106500000C48000007023E0064000303F97C 55AA030700106500000C48000007023E0064000404FB80 55AA030700106500000C48000007023E0064000505FD84 55AA030700106500000C48000007023E0064000101F574

Each payload has a common prefix:

55AA030700106500000C48000007023E0064000

And then I reset the module and did the same procedure again... this time a few more times:

55AA030700106500000C48000007000000000004045738 55AA030700106500000C4800000700000000000505593C 55AA030700106500000C4800000700000000000101512C 55AA030700106500000C48000007000000000002025330 55AA030700106500000C48000007000000000004045738 55AA030700106500000C4800000700000000000505593C 55AA030700106500000C4800000700000000000101512C 55AA030700106500000C48000007000000000002025330 55AA030700106500000C48000007000000000004045738

This time, a new common prefix:

55AA030700106500000C4800000700000000000

Compare the two and you can tell that there's some common state...

55AA030700106500000C48000007023E0064000 55AA030700106500000C4800000700000000000

I then issued a color change command:

SerialSend5 55 AA 00 06 00 19 1C 03 00 15 31 30 30 35 32 30 33 65 38 30 33 65 38 30 30 30 30 30 30 30 30 CA

And repeated the process again:

55AA030700106500000C48000007013A0064000505F87A 55AA030700106500000C48000007013A0064000101F06A 55AA030700106500000C48000007013A0064000202F26E 55AA030700106500000C48000007013A0064000303F472 55AA030700106500000C48000007013A0064000404F676 55AA030700106500000C48000007013A0064000505F87A 55AA030700106500000C48000007013A0064000101F06A

Common: 55AA030700106500000C48000007013A0064000

All three:

55AA030700106500000C48000007023E0064000 55AA030700106500000C4800000700000000000 55AA030700106500000C48000007013A0064000

The first and third are when the MCU is in some sort of 'non-fresh' state... They exist after commands had been sent. Only the second set of payloads were collected immediately after power on.

Aasikki commented 2 years ago

Would be awesome if this could be made to work! I don't have any unused esp's at the moment and don't really think I know enough to help but I'd like to help if I can so I guess I'll have to get me some of those chips.

Jason2866 commented 2 years ago

Why not remove the controlling second MCU completely? Find the traces to the MosFets cut the traces (or remove the MCU) and solder it directly to ESP Gpios.

kquinsland commented 2 years ago

Would be awesome if this could be made to work! I don't have any unused esp's at the moment and don't really think I know enough to help but I'd like to help if I can so I guess I'll have to get me some of those chips.

I more or less have it! A massive thank you to both @hoshy42 and @grasshide for their initial work and the wonderful tool from @sillyfrog that made the RE effort 10x less painful than it could have been.

I cleaned up my notes and uploaded the various captures that I took with a logic analyzer here:

https://github.com/kquinsland/Mi-Light-WL5-TuYa-MCU-ReverseEng

There is a TON more to figure out with this thing but the basics are there... even if they're not perfect.


Why not remove the controlling second MCU completely? Find the traces to the MosFets cut the traces (or remove the MCU) and solder it directly to ESP Gpios.

This is exactly what I was considering doing if there wasn't already a decent start on reverse engineering things. The tasmota docs are pretty helpful as are the contributions made my others in this thread. If I didn't make serious progress on this thing by the end of the weekend (aka... now!) then I was going to cut my losses and move on down that path.

I have not checked, but I am just assuming that the MCU and mossfets are all 3.3 capable. I really wanted to avoid too much destructive modifications to the PCB though just to keep the mod accessible to more people / lessen the amount of work that I had to do to convert the 4 others I have in my possession. If level shifting electronics were going to be required then i'd probably just cut my losses and harvest the components and use them to build my own LED controller. Ironically, this is precisely what i was trying to avoid to begin with :P.

lucboudreau commented 2 years ago

I've put together everyone's notes and tested them. I have a couple fully functioning WL5s using the template linked below. It needs a brain transplant with an ESP12-S. Other modules may require jumper wires.

https://github.com/blakadder/templates/pull/1289

kquinsland commented 2 years ago

@lucboudreau Thanks for putting that together!

Where/How did you figure out the "red" light / strip mode?

Make sure to press the switch and select the mode corresponding to the strip you are using. ie. To use an RGB strip, you press the switch until it flashes red. The setting will stick between restarts.

This is the little status LED and not the light strip... right?

lucboudreau commented 2 years ago

It was explained in the manual. By pressing the switch, it cycles between different wiring modes.

White Light Flashing: Single Color Mode Yellow Light Flashing: Dual White Mode Red Light Flashing: RGB Mode Green Light Flashing: RGBW Mode Blue Light Flashing: RGB+CCT Mode

kquinsland commented 2 years ago

It was explained in the manual. By pressing the switch, it cycles between different wiring modes.

Huh. I didn't have any text to that effect in the manual(s) that I found.... But very good to know! You may wish to add that to the template page you have open as I am sure that other people might have the controller but only wish to use a subset of the 5 channels.

lucboudreau commented 2 years ago

wl5

kquinsland commented 2 years ago

wl5

Thanks! Of course that details is missing from the manual that came with mine: https://github.com/kquinsland/Mi-Light-WL5-TuYa-MCU-ReverseEng/blob/main/docs/YL5_EN.pdf

techsolo12 commented 2 years ago

@lucboudreau Did you got the cct control working. I mean that you can change the color temperature of cw and ww?

techsolo12 commented 2 years ago

@Jason2866

Why not remove the controlling second MCU completely? Find the traces to the MosFets cut the traces (or remove the MCU) and solder it directly to ESP Gpios.

The problem is the MosFets will get only 3,3V from the esp. For full power you need 5V on the MosFet.

Saxin commented 2 years ago

@lucboudreau Thanks for your efforts. I've connected a RGB + CCT (5 channels) strip to WL5, the template doesn't give option to control the 5th channel (warm white), Per my understanding it should look like shown here - https://tasmota.github.io/docs/Lights/#5-channels-rgbcct-lights

Any chance we are missing something in the template ? Or maybe it's some configuration.

douginoz commented 2 years ago

I have 3 of these WL5 horrors that are still effectively brand new. I replaced them with esp-compatible modules as soon as I found that they were going to be a problem.

If someone wants one or more let me know. You can pay the shipping from Victoria Canada (v9c3n5) and I'll send them out. I'm at inthecentreofitall@gmail.com.

Aasikki commented 2 years ago

@lucboudreau Thanks for your efforts. I've connected a RGB + CCT (5 channels) strip to WL5, the template doesn't give option to control the 5th channel (warm white), Per my understanding it should look like shown here - https://tasmota.github.io/docs/Lights/#5-channels-rgbcct-lights

Any chance we are missing something in the template ? Or maybe it's some configuration.

Same here, except that I only have rgb, no white channel at all.

Also another issue, I made the mistake of trying the effects from home assistant and now I'm stuck in the rainbow effect and can't get out of it at all. Not even unplugging the psu for a while resets it.

Ed-Savill commented 1 year ago

Sorry to reopen this but it's related to this thread.

I have got an ESP12-S transplanted in the WL5 and got Tasmota on it working (sort of).

I need help getting RGB+CCT working with this.

I have tried this code from another template (linked below) and it sort of works. I can control RGB & CCT separately. But when I am on an RGB value, and select an CCT value, the mode changes fine. But when I am on a CCT value and select an RGB value. The mode is stuck on the CCT mode.

Backlog DimmerRange 0,1000; TuyaMCU 11,20; TuyaMCU 26,21; TuyaMCU 21,22; TuyaMCU 23,23; TuyaMCU 24,24;

Source: https://templates.blakadder.com/miboxer_FUT039W.html

Can anyone help please?

Aasikki commented 1 year ago

Sorry to reopen this but it's related to this thread.

I have got an ESP12-S transplanted in the WL5 and got Tasmota on it working (sort of).

I need help getting RGB+CCT working with this.

I have tried this code from another template (linked below) and it sort of works. I can control RGB & CCT separately. But when I am on an RGB value, and select an CCT value, the mode changes fine. But when I am on a CCT value and select an RGB value. The mode is stuck on the CCT mode.

Backlog DimmerRange 0,1000; TuyaMCU 11,20; TuyaMCU 26,21; TuyaMCU 21,22; TuyaMCU 23,23; TuyaMCU 24,24;

Source: https://templates.blakadder.com/miboxer_FUT039W.html

Can anyone help please?

I'm having the exact same problem. Rgb works just fine but cct gives trouble. I'm already considering buying other controllers as I have no idea how to fix it. Any help would really be appreciated so my cheap ass can save that money haha!

Jason2866 commented 1 year ago

Writing in an old close issue will not be visible for many.

Please open a new discussion.