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.29k stars 4.82k forks source link

FEIT BPA800/RGBW/AG/2(P) Template issues #6534

Closed Resterday closed 5 years ago

Resterday commented 5 years ago

Good morning all, I recently flashed some FEIT BPA800/RGBW/AG/2(P) bulbs I bought at Costco with kueblc's new-api branch of tuya-convert. I then updated to 6.6.0.

I have tried the following template for FEIT bulbs {"NAME":"OM60/RGBW","GPIO":[255,255,255,255,140,37,0,0,38,142,141,255,255],"FLAG":0,"BASE":18} but when the bulb first re-sets and I toggle it on, nothing happens, and there are no errors or other messages in the console. If I put in color 0,0,50,0,0 into console then teh bulb turns on at 20% brightness and a cool white. At this point, I can toggle it on and off but if I try to change any other settings the bulb just goes dark and I cant do anything until i put color 0,0,50,0,0 into console again. I have tried other template settings, but so far nothings working.

I opened up the bulb when trying to get the tuya convert to work and noticed that it appears the led driver might be different from other FEIT bulbs, but Im not sure. Maybe this has something to do with my issues? Its really hard to see whats written on the component but I have included the pictures that I took.

20190928_120303 20190928_121158

Hoping someone can help me identify next steps for getting these bulbs to work. Thanks!

jziolkowski commented 5 years ago

Paging Dr. @shantur :)

shantur commented 5 years ago

@Resterday : Have you tried https://github.com/arendst/Sonoff-Tasmota/wiki/TuyaMCU and https://github.com/arendst/Sonoff-Tasmota/wiki/MCU-Based-Tuya-Dimmers-and-Switches

digiblur commented 5 years ago

Don't think that's going to work as they used the SM16716 before. If that is indeed the LED controller, they definitely shifted to a new chip. Anyone had any luck googling for datasheets?

shantur commented 5 years ago

@Resterday : Can you try to get a clearer photo of chip U1 or the name on it.

Resterday commented 5 years ago

@shantur - I'll borrow a friend's dslr and try and get a better picture tonight. That was the best I could do with my phone. I think the text is:

SM726EC AFAH RWAJ22

but I have been unable to find anything on Google with that.

mhightower83 commented 5 years ago

I found this comment:

... the color is driven by a SM726EB protocol equivalent to the SM16716/SM16726. https://github.com/xoseperez/espurna/issues/568#issuecomment-455820546

However, I have not had much luck with changing the definitions around. GPIO4 appears to be the Warm LED pin for PWM and maybe GPIO13 is the power for the color. LEDs Cannot get anything else to work.

Photo64 commented 5 years ago

I am also seeing this issue with the Costco Feit bulb. I tried 504 combinations for the SM16716's and none of them worked.

mhightower83 commented 5 years ago

This is getting closer:

{"NAME":"BPA800/../2(P)","GPIO":[255,255,255,255,38,37,255,255,141,142,140,255,255],"FLAG":0,"BASE":18}
SetOption37 0

Note on the older models we needed SetOption37 54 to get the colors in the right order. Now it needs to be set to 0. With this, the color LEDs work using the color command.

Something is still off on the Cold to Warm white LEDs. All the way over for Warm look right, however, as you move toward the center it goes to Cold White then as you move further down it dims.

Photo64 commented 5 years ago

I just tried this and can confirm I am getting color now but as you mentioned the cold white is acting strangely

mhightower83 commented 5 years ago

Looks like the BP800/RGBW/AG/2(P) has two key chips for controlling the WarmWhite and ColdWhite LEDs, the BP5926 and MT7816CS.

The BP5926 appears to control the ratio of Cold White to Warm White by PWM input. Here is a relevant clip from google translate:

The duty cycle is used to adjust the ratio of the illumination of the two LED sources. To achieve the purpose of coloring. Two LED output currents complement each other in toning The total current in the process is constant and equal to the current of the constant current source.

The MT7816CS appears to be a PWM dimmable constant current LED driver.

~If you add SetOption68 1, then use~ Using the color command. Channel 4 will control the Cold White to Warm White ration, 0xFF all cold white, 0x00 all Warm White. Channel 5 controls the brightness, at and below 0x0E seems to turn off. At and above 14 appears to turn on and increases in brightness as you go up. Don't know how you tie this into the sliders on the top screen.

In a way, this change is an improvement over the previous version. With the old bulbs, you could use the color command to turn on Warm White and Cold White each at full brightness. The bulb became very bright and drew 18 watts instead of its rated 9 watts. When I saw the power draw I quickly changed the settings to avoid overheating the power supply. With this new design that cannot happen.

Photo64 commented 5 years ago

If you add SetOption68 1, then use the color command. Channel 4 will control the Cold White to Warm White ration, 0xFF all cold white, 0x00 all Warm White. Channel 5 controls the brightness, at and below 0x0E seems to turn off. At and above 14 appears to turn on and increases in brightness as you go up. Don't know how you tie this into the sliders on the top screen.

After setting setoption68 1 I now have 5 toggles on the main screen however they don't control anything until I enter a color command in the console. Is this the expected behavior? If a enter color 0,0,255,0,255 I can then click on/off the 3rd channel button for the blue color or I can click on/off for the 5th channel button for full WW but I can't turn on/off any other color channel. Is the intent to send a color command like color 255,255,255,255,255 so it allows control through the buttons and sliders on the main page? Although if I want to vary the color I'd still have to send it via the color command.

mhightower83 commented 5 years ago

That is not the behavior I got. You seem to have a different screen than I. I only have one toggle. I am going to do a "Backup Configuration" and "Reset Configuration". Then reapplied the following to be sure I know where I started from.

I applied these to "6.6.0(release-sonoff)".

{"NAME":"BPA800/../2(P)","GPIO":[255,255,255,255,38,37,255,255,141,142,140,255,255],"FLAG":0,"BASE":18}
SetOption68 1

I still only see 1 Toggle on my main menu. And a brightness and CT slider. BTW: I would avoid color 255,255,255,255,255 that turns on all color LEDs and 1 set of White LEDs which will go over the 9 Watt rating on the bulb. Set to non-zero just the 1st three for a color blend or just set the last two for a White CT and brightness. It appears that if you set the 1st three the 4th and 5th are set to zero.

Results starting after a color 0,0,0,0,0

I only have one Toggle button and that appears to turn on an off all channels at once.

Does anyone know of an option that allows for using one channel for White Brightness and a separate channel to adjust White Color Temperature w/o affecting brightness?

Photo64 commented 5 years ago

That's weird because I definitely got 5 toggles. I switched back to Setoption68 0 and see the one toggle now again. I am also using this within Home Assistant and everything appears to be working correctly using this sample template -> https://github.com/arendst/Sonoff-Tasmota/wiki/Home-Assistant-ā€-Manual-Config-(Legacy)#rgbw-lights I am also using 6.6.0.7 release

Resterday commented 5 years ago

@mhightower83 thanks for referencing the other issue.

Here is what I have

{"NAME":"BPA800/../2(P)","GPIO":[255,255,255,255,38,37,255,255,141,142,140,255,255],"FLAG":0,"BASE":18}

SetOption68 1 SetOption37 0 SetOption17 1 SetOption59 1

Home Assistant Config `## FEIT RGBW Bulbs from https://github.com/digiblur/Sonoff-Tasmota/wiki/Smart-Bulbs ##

I can confirm that I am now able to change all colors, initiate effects, and begin to slide the toggle towards 'cool white', but as noted by @mhightower83 as I get about halfway to cool white it starts dimming and the bulb goes dark when about 75% of the way to 'cool white'

mhightower83 commented 5 years ago

Until better settings are available I am using this:

template  {"NAME":"BPA800/../2(P)","GPIO":[255,255,255,255,37,29,255,255,141,142,140,255,255],"FLAG":0,"BASE":18}

~SetOption68 1~

This creates 4 channels, RGBW, and assigns GPIO5(Warm/Cold) to inverted relay1. Toggle1 is Warm/Cold, On is Warm Toggle2 is the rest of the RGBW. Slider works; however, the range has an early dropout.

A side note, the white brightness range seems to have shrunk on me. In channel terms, the lowest setting before turn off for channel4 is ~40%. It seemed to be lower when 1st turned on.

Since the Warm/Cold PWM duty cycle is used to alternately select between Warm or Cold LEDs, I set GPIO5 to relay1 so I could select one or the other with Toggle1.

Updated: I misread SetOption68. Removed option.

mhightower83 commented 5 years ago

@Photo64 Sorry, it looks like I was misreading SetOption68. It doesn't work the way I was thinking. If I am reading it correctly now, it would create multiple toggle buttons as you observed. It also is not implemented in the release I am running. It was added at 6.6.0.3.

s-hadinger commented 5 years ago

This bahevior for White color temp is similar to Xiaomi Philips bulb from Module 48. Can you try seperately module 48 to only CW and WW GPIO (momentarily dropping RGB) to check it works. If so I can add a SetOption to toggle the cold/Warm mode since we're seeing more bulbs like this.

DSuds commented 5 years ago

@s-hadinger can you give more instructions on what you want to see? Using module 48 and just the PWM GPIOs I can't get any output.

We need a model for transmitting color BBGGRRDDCT instead of BBGGRRWWCW. EDIT: Looks like this is discussed in #6563 and investigated there.

Diramu commented 5 years ago

As suggested above, probably just an option that treat the excepted (WW,WC) channels as (DD (white dimmer),CT (color temp)) is all that is necessary. I think it should fix both issues.

Aside, will HA integration need changes to control this new method?

s-hadinger commented 5 years ago

@DSuds Can you please test with the following template based on Module 48:

{"NAME":"Test_CWWW","GPIO":[0,0,0,0,37,38,0,0,0,0,0,0,0],"FLAG":0,"BASE":48}

If I read well what's above, GPIO4 controls white brightness and GPIO5 the white temperature color.

This template disables RGB all together and will not solve your issue. It's just to confirm that White control works correctly before doing the changes in the code.

6563 is closed and we're continuing discussions in this issue.

Diramu commented 5 years ago

I've tried this template modified for my bulb: {"NAME":"Arlec WW/CW","GPIO":[0,0,0,0,0,37,0,0,0,38,0,0,0],"FLAG":0,"BASE":48}

I would says it works from the sliders. I have the bulb open. You can see the transition between leds. I'll try integration to HA later.

s-hadinger commented 5 years ago

Ok. Thanks for testing. I will see how to integrate in the code. Stay tuned

chelming commented 5 years ago

@DSuds Can you please test with the following template based on Module 48:

{"NAME":"Test_CWWW","GPIO":[0,0,0,0,37,38,0,0,0,0,0,0,0],"FLAG":0,"BASE":48}

Using this template I'm unable to turn the light on/off using the toggle

edit: moving it to cold seems to turn the bulb purple. going to warm dims it to off. the dark slider makes it slightly brighter on the dark side, and slightly dimmer on the bright side.

chelming commented 5 years ago

the closest I've been able to get is with this template where the toggle button works, sliding from warm to cold does make it bluer, but when you get all the way over to "cold" it dims to off:

{"NAME":"BPA800/../2(P)","GPIO":[255,255,255,255,38,37,255,255,141,142,140,255,255],"FLAG":0,"BASE":18}
Diramu commented 5 years ago

Integration of my bulb (just the two channels dimmer and temp) worked fine into HA using digiblur 2 channel mqtt code : https://github.com/digiblur/Sonoff-Tasmota/wiki/Smart-Bulbs

@cwhits I had similar behavour with my bulb (just cold and warm light leds). The solution was "base:48" and having the pwm's in the correct order. My final solution is now up: https://github.com/digiblur/Sonoff-Tasmota/wiki/Smart-Bulbs

To debug, set your pwm's to relays. You find one relay that will turn on one color of the white leds (set this one to pwm1(37)), and you'll find another that will toggle between the two white colors (pwm2(38)).

s-hadinger commented 5 years ago

Everything should work correctly using Module 48, and the latest build from http://thehackbox.org/tasmota/

chelming commented 5 years ago

@s-hadinger can you send me what template you're using? using this, toggle 1 will turn the light on and off, and toggle 2 will switch between cool/warm.

{"NAME":" BPA800","GPIO":[0,0,0,0,21,22,0,0,0,0,0,0,0],"FLAG":0,"BASE":48}

setting those as PWM37 and PWM38 respectively ends up with me being unable to turn the light on.

{"NAME":" BPA800","GPIO":[0,0,0,0,37,38,0,0,0,0,0,0,0],"FLAG":0,"BASE":48}

this is close in that the cool/warm and dark/bright sliders work, but the toggle doesn't actually turn the light on or off:

{"NAME":" BPA800","GPIO":[255,255,255,255,37,38,255,255,141,142,140,255,255],"FLAG":0,"BASE":48}
chelming commented 5 years ago

Setoption37 0 is the correct RGBW order for Home Assistant, however when choosing an "Effect" the C/W LED does not turn off, so the bulb will be white with the color effect happening at the same time.

I'm still running this template,

{"NAME":" BPA800","GPIO":[255,255,255,255,37,38,255,255,141,142,140,255,255],"FLAG":0,"BASE":48}```

Cold/Warm and Dark/Bright sliders work correctly in Tasmota WebUI and from Home Assistant.

BUT, the power toggle still doesn't work. Any ideas for figuring that one out?

Program Version 6.6.0.15(24142b8-sonoff)
Build Date & Time 2019-10-06T21:03:12
Core/SDK Version 2_4_2/2.2.1(cfd48f3)
DSuds commented 5 years ago

@cwhits - you seem to have 37 & 38 swapped.

chelming commented 5 years ago

@DSuds they're in the correct order. if I swap 37 and 38 then the controls are backward: cool/warm controls the dimmer, and dark/bright controls the color temp.

I'm thinking the power might be wrong? I don't know enough about Tasmota to figure it out.

chelming commented 5 years ago

It works! šŸŽ‰

Photo64 commented 5 years ago

I downloaded the Dev build with the 2.3 core and added this template -> {"NAME":" BPA800","GPIO":[255,255,255,255,37,38,255,255,141,142,140,255,255],"FLAG":0,"BASE":48}. The CW & WW slider is working correctly however I noticed that when the bulb is in either CW or WW the dimmer slider shuts the bulb off at about half-way down but when the bulb is on a color the dimmer goes all the way to the end before shutting off. Is that expected or what you are seeing also?

s-hadinger commented 5 years ago

This looks similar to a bug reported weeks ago but I couldn't reproduce.

It is definitely a bug. Just to be sure can you try with 2.5.2 if the problem is still there.

chelming commented 5 years ago

dimming works correctly for me: Program Version 6.6.0.15(7f2b6c7-sonoff) Build Date & Time 2019-10-07T22:03:10 Core/SDK Version 2_4_2/2.2.1(cfd48f3)

Photo64 commented 5 years ago

Still seeing the same results with the dimming after moving to 2.5.2, half way down it goes out when on CW or WW. When on a color it works as expected.

Program Version | 6.6.0.16(6d31608-sonoff) Build Date & Time | 2019-10-08T14:06:29 Core/SDK Version | 2_5_2/2.2.2-dev(c0eb301)

2019-10-08T14:06:29 2_5_2/2.2.2-dev(c0eb301)

s-hadinger commented 5 years ago

Btw, I forgot to mention that White-blend mode does not work with Module 48 (yet).

s-hadinger commented 5 years ago

@Photo64 can you please do a simple test. I want to make sure it's not linked to the bulb.

Switch temporarily to Module 18 Do the following colors and look at the result: Power 1 color 000000FF00 (should be plain white) color 000000BB00 color 0000008000 color 0000004000 (do you still see white?) color 0000001000 (still white here also?)

Photo64 commented 5 years ago

@s-hadinger I used this template {"NAME":" BPA800","GPIO":[255,255,255,255,37,38,255,255,141,142,140,255,255],"FLAG":0,"BASE":18}
Here are the results: color 000000FF00 (should be plain white) Yes, it's a warm white color 000000BB00 Yes, it's a little dimmer color 0000008000 Yes, a llittle more dimmer color 0000004000 (do you still see white?) No, Light is off color 0000001000 (still white here also?) No, Light is off

s-hadinger commented 5 years ago

Hmmm. Can you also try

Color 00000080FF

Color 00000040FF

They should give similar results with cold white.

Photo64 commented 5 years ago

Color 00000080FF - Light (CW) on

Color 00000040FF - Light off

s-hadinger commented 5 years ago

Thanks for testing. I may have an explanation. If the bulb is doing Gamma correction (and I have no clue how it would do that from a pwm output) that could explain this behavior.

Can you get back to the working template (the one with module 48) and try LedTable 0

This disables gamma correction. And try again with the slider.

chelming commented 5 years ago

@s-hadinger since this all appears to be currently working for me, is there anything you'd like me to test?

Photo64 commented 5 years ago

Yes the dimmer appears to be working correctly now after LedTable 0

s-hadinger commented 5 years ago

@Photo64 good news for now. I still need to know if it's a bulb thing or a bug. One thing is that White blended mode does not work yet. You didn't use rgbtable right?

@cwhits what is your setting for LedTable? Just type the command with no parameter. Is it the exact same bulb as @Photo64?

Photo64 commented 5 years ago

I did not use rgbtable.

chelming commented 5 years ago

@s-hadinger {"LedTable":"OFF"}

Bulb that's listed in the title; from Costco. šŸ¤·

DSuds commented 5 years ago

@cwhits - there are multiple bulbs with that part number. We're working on the newer ones where the FCC ID ends in G2

For me Version 6.6.0(release-sonoff)-2_3_0 is working pretty well. When set to CT 500 the light comes on at 0000000011 and stays on until it drops below 000000000d. At CT 175 and below the light is out.

mhightower83 commented 5 years ago

@cwhits - there are multiple bulbs with that part number. We're working on the newer ones where the FCC ID ends in G2

@DSuds, I think you're referring to FCC ID SYW-A19RGBWAGT2 which from my sampling of bulbs carries a model number on the bulb of BPA800/RGBW/AG/2(P). The older bulbs from Costco do not have the "(2)" at the end and have an FCC ID of FCC ID SYW-A19RGBWAGT1. The print is small and it is easy to mistake what you are looking at.

It should also be pointed out that the default for LedTable changed on release 6.5.0.9 and above to default to "On". So I suspect that some of us that started with the older firmware such as 6.5.0 and upgraded saw one result. And those of us who started with newer or did a config reset saw a different result. For me, LedTable 0 made things work as expected.

Currently, I am running Project sonoff Sonoff Version 6.6.0.15(7f2b6c7-sonoff)-2_4_2

Just did these console commands to start over.

reset 4

Wait for restart

template {"NAME":"BPA800/../2(P)","GPIO":[0,0,0,0,37,38,0,0,141,142,140,0,0],"FLAG":0,"BASE":48}
module 0

Wait for restart

LedTable 0

At this point, all 5 channels appear to be tracking the Dim/Bright slider. After touching the Warm/Cold slider, the RGB LEDs are no longer tracking the Dim/Bright slider. And both sliders have the expected result. For me, 9% brightness appears to be the turn-on point for CWWW.

Additional observations:

Setting Channel1 through Channel3 resets Channel4 & 5 - IMO this is good. However, setting channel4 and channel5 does not reset channels1 through 3.

Regarding RGBW option: The bulb is rated at 9 Watts. The Cold/Warm LED blend draws 9 Watts at full brightness. The RGB LEDs draw 3 Watts at full brightness. The two combined is 12 Watts, exceeding the power rating. The cone base gets pretty hot at 9 Watts. I don't have the original Feit software installed to compare against/reverify; however, I don't think RBG and White combined was an option. I think it was RGB or Warm/Cold. Can anyone confirm this?

s-hadinger commented 5 years ago

@mhightower83 you nailed it. We know now for sure that this bulb has hardware Gamma correction. Ledtable should be off.

Using CT command should automatically turn RGB off. I understand you used Channel command for 4 and 5.

Piece of warning, using the Color command gives you unrestricted access to channel values. I.e. Color FFFFFFFFFF will turn full power to all channels and might well fry your bulb. Don't do it!

Resterday commented 5 years ago

Even though its closed, it seems like this discussion is still active. Since I haven't been able to find photos online and i bricked my device, I decided to open it up to take some pictures and share. Hope these help!

EDIT: These pictures are from a BPA800/RGBW/AG/2(P) from Costco

Managed to get the LED board off without any damage using a paint can opener down the hole in the middle. I thought it might crack while I was pulling it out, but it turns out its a solid piece of aluminum and not a PCB. here are some pictures:

fccid_SYW-A19RGBWAGT2_pic3 fccid_SYW-A19RGBWAGT2_pic4 fccid_SYW-A19RGBWAGT2_pic5 fccid_SYW-A19RGBWAGT2_pic1 fccid_SYW-A19RGBWAGT2_pic2