openshwprojects / OpenBK7231T_App

Open source firmware (Tasmota/Esphome replacement) for BK7231T, BK7231N, BL2028N, T34, XR809, W800/W801, W600/W601, BL602 and LN882H
https://openbekeniot.github.io/webapp/devicesList.html
1.48k stars 279 forks source link

Fading / Lightning Scenes #152

Open beaune33 opened 2 years ago

beaune33 commented 2 years ago

I am missing Tasmota-like functionalities for my PWM-LED like

Fade
Speed
Scheme

Is there any chance to implement that? Or are there comparable functions available? Did anybody already implemetnt something like a sunset or a TV emulation light?

Thanks for any hints or examples!

szokeptr commented 2 years ago

I am also interested. Just flashed an RGB only LED strip but all color changes are simply a jump between the color values. Is there a way to implement smooth fading? I am happy to submit a PR if pointed in the right direction.

bbloomberg commented 2 years ago

I would also be interested in this behavior.

szokeptr commented 2 years ago

I managed to implement fading in a fork, take a look for inspiration 😃 https://github.com/openshwprojects/OpenBK7231T_App/compare/main...szokeptr:OpenBK7231T_App:experiment

gajosu commented 1 year ago

Hi, is there any update on this, is there any way to get effects in the latest versions, or nothing yet?

openshwprojects commented 1 year ago

Hello @gajosu , what kind of effects do you need? I could try to come up with something for you.

@szokeptr how is your setup today, you can open PR if it's stable

We have smooth transitions for LEDs but no animations yet.

gajosu commented 1 year ago

Hi @openshwprojects thanks for replying, I'm looking for something similar to Tasmota's Fade command, just to turn a light on and off with a smooth transition and not turn off abruptly as if the power had been cut off.

openshwprojects commented 1 year ago

Wait, the simple Fade option is in flags, it's called "Smooth color transitions" or something like that, you can enable it anytime, it's been on our firmware for a vey long time. Have you checked it?

śr., 17 maj 2023 o 18:35 Gabriel González @.***> napisał(a):

Hi @openshwprojects https://github.com/openshwprojects thanks for replying, I'm looking for something similar to Tasmota's Fade command, just to turn a light on and off with a smooth transition and not turn off abruptly as if the power had been cut off.

— Reply to this email directly, view it on GitHub https://github.com/openshwprojects/OpenBK7231T_App/issues/152#issuecomment-1551726156, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUMGZ67CDB2HNHMR73CLB6TXGT44TANCNFSM56AUTANQ . You are receiving this because you were mentioned.Message ID: @.***>

gajosu commented 1 year ago

The version I have is 1.14.11 (Oct 16 2022) I do not see any such flag, can I update to the latest version simply with the OpenBK7231T_1.17.115.rbl of the latest version? Or do I have to upgrade progressively each version?

beaune33 commented 1 year ago

what kind of effects do you need? I could try to come up with something for you.

I would like to see a possibility to fade through the colors. E.g. something like sunset/sunrise, when the color changes from red to yellow ober 20 Minutes or so. Or a rainbow-change through all the colors. Would something liken that be possible with Openbeken?

beaune33 commented 1 year ago

I did some investigation to make the idea more clear.

What probably would be a good idea is to use the tuya syntax for scenes. We could copy pre-prepared scenes from tuya devices. The scene data is provided by tuya dp25. There a string with a couple of numbers has to be set to enter a specific scene. Examples for scenes are:

   'Good night' => '000e0d0000000000000000c80000',
    'Reading' => '010e0d0000000000000003e801f4',
    'Working' => '020e0d0000000000000003e803e8',
    'Leasure' => '030e0d0000000000000001f401f4',
    'green gras' => '04464602007803e803e800000000464602007803e8000a00000000',
    'colorful' => '05464601000003e803e800000000464601007803e803e80000000046460100f003e803e800000000464601003d03e803e80000000046460100ae03e803e80#000000464601011303e803e800000000',
    'fading' => '06464601000003e803e800000000464601007803e803e80000000046460100f003e803e800000000',
    'fantastic' => '07464602000003e803e800000000464602007803e803e80000000046460200f003e803e800000000464602003d03e803e80000000046460200ae03e803e80#000000464602011303e803e800000000',
    'smooth' => '2946460200000000000003e800d246460200000000000000c800d2',
    'dynamic' => '2a23230100000000000003e800d223230100000000000000c800d2',
    'night' => '08000000001e0320012c00000000',
    'bluesky' => '1446460200ae03e803e80000000046460200b4012c03e80000000046460200b4003203e800000000',
    'sunrise' => '1532320200f003e800640000000032320200f003e803e800000000464602012703e802ee00000000555502000003e803e800000000464602001302ee03e80#0000004646020032025803e800000000323202005a038403e800000000',
    'hot' => '16323202005a0384006400000000323202005a038403e8000000004646020032025803e800000000505002001e02ee03e800000000323202000003e803e80#0000000',
    'Ocean' => '1746460200f003e803e80000000046460200dc02bc03e800000000',
    'burningSun' => '184646020028032003e800000000464602001e038403e8000000004646020014038403e800000000',
    'Forest' => '19464601007803e803e800000000464602006e0320025800000000464602005a038403e800000000',
    'KungFu' => '1a464602000a038403e800000000464602000003e803e800000000',
    'Torchlight' => '1b464603001803e803e800000000',
    'dream' => '1c4646020104032003e800000000464602011802bc03e800000000464602011303e803e800000000',
    'Mediteranean' => '1d646401000003e803e80000000064640100f003e803e800000000646402007803e803e800000000646402003d03e803e800000000',
    'French' => '1e323201015e01f403e800000000323202003201f403e80000000032320200a001f403e800000000',
    'American' => '1f46460100dc02bc03e800000000464602006e03200258000000004646020014038403e800000000464601012703e802ee0000000046460100000384028a0#0000000',
    'Birthday' => '20646401003d03e803e800000000646401007803e803e8000000005a5a01011303e803e8000000005a5a0100ae03e803e800000000646401003201f403e80#0000000646401000003e803e800000000',
    'independand' => '21323202015e01f403e800000000323202011303e803e800000000',
    'Christmas' => '225a5a0100f003e803e8000000005a5a01003d03e803e800000000464601000003e803e8000000005a5a0100ae03e803e8000000005a5a01011303e803e80#0000000464601007803e803e800000000',
    'independent' => '23505002000003e803e80000000046460200f003e803e800000000',
    'Diwali' => '24464602000003e803e800000000464602003d03e803e800000000464602011303e803e80000000046460200f003e803e800000000464602007803e803e80#0000000',
    'Holiday' => '25464601011303e803e800000000464602000003e803e800000000464602003d03e803e8000000004646010154032003e8000000004646010140032003e80#0000000464601001e02ee03e800000000',
    'victoryday' => '265a5a020014006403e800000000464602000003e803e800000000',
    'Easter' => '275a5a020014006403e800000000464602000003e803e800000000323202015e01f403e800000000464602011303e803e800000000',
    'Halloween' => '28464601011303e803e800000000464601001e03e803e800000000']

The syntax of dp25 is described here: https://developer.tuya.com/en/docs/iot/product-function-definition?id=K9s9rhj576ypf#title-8-DP25%3A%20scene

So, we would need a command like led_scene, where we could pass a string like one of the aboves, or even for self-prepared scenes. This stings could be passed via MQTT. The firmware would have to interpret the pushed string and to figure out the parameters:

repated several times:

Would it be possible to implement such a function in Openbeken? We could directly participate from any new scene implemented by tuya, and devices would be more comparable to the original functionality.

WiredLife commented 1 year ago

I would really appreciate this

pablacho commented 5 months ago

I would really appreciate this too! Is someone working on this?