Local Tuya - Brizled Christmas Light Patterns

Figured I’d post this here for posterity. And for myself in a year or two when I forgot all these details.

I’ve got some generic Tuya (Brizled) Christmas lights that work brilliantly with Local Tuya (xZetsubou’s fork that is–props to xZetsubou), but the effects weren’t documented anywhere that I could find. So here’s that.

The actual “protocol” used by DPID 101 is super simple, with obvious fields for pattern #, brightness, colors, and other parameters like speed and direction.

Terms

Segment = A length of LEDs that the full strip/string is divided by. A 60-LED string with a 6-segment effect applied will have a total of 10 segments.
LED = Could be a literal single LED, or several physical LEDs grouped into one logical (addressed) LED/light.
Slot/Color Slot = Most effects can have multiple colors. This is the quantity of colors you can (optionally) define.
Step = For those effects that are more easily described on a per-LED basis rather than per-segment. Each LED can be said to go through each of these steps incrementally, with the LED before and after the reference one being, respectively, one step ahead and one step behind.

Effects

M0

Solid color/s, up to 6 slots
Simple color alternation

Multicolor
00 00 03 01 ff 06 ff0000 ffff00 00ff00 00ffff 0000ff ff00ff
Red - 100%, Min %
00 00 03 01 ff 01 ff0000
00 00 03 01 00 01 ff0000
Green 100%
00 00 03 01 ff 01 00ff00
Blue 100%
00 00 03 01 ff 01 0000ff

M1

Color chase, hard on/off (no dim), 6 color slots
Each LED goes through all color slots incrementally. Empty slots = off

Red, Fast, Forward
01 00 05 01 ff 01 ff0000
Red, Fast, Reverse
01 00 05 02 ff 01 ff0000
Red, Slow, Reverse
01 00 01 02 ff 01 ff0000
Slow/Med/Fast (Fwd)
01 00 01 01 ff 01 ff0000
01 00 03 01 ff 01 ff0000
01 00 05 01 ff 01 ff0000

M2

Two-color slot chase with dimming. Six steps on each LED
(Color 1 100%, 50%, 1%, Color 2 100%, 50%, 1%)

Red/Green, Slow. Then Forward/Reverse
02000101ff0200ff00ff0000
02000102ff0200ff00ff0000

M2B

Another chase. Up to 7 color slots. Six steps per LED
Per color: 100%, 50%, 1%, off, off, off
Then on to the next color

Red, Forward. Then Slow/Med/Fast
03000101ff01ff0000
03000301ff01ff0000
03000501ff01ff0000
Red, Reverse, Fast
03000502ff01ff0000

M3

Segments of 6 LEDs
Grows from all off, 1 on, 1-2 on, 1-3 on, etc.
Shrinks back from 1-6 on, 1-5 on, 1-3 on, etc.
Presumably 6 color slots. Colors alternate within segments
(If colors = Red, Green; LEDs = Red, Green, Red, Green, Red, Green)
*(If colors = R,G,B; LEDs = R,G,B,R,G,B)
Maybe I’ll call this “interleaved color mode”?

Same params as all others
04…

M4

Segments of 6 again. Presumably 6-7 color slots.
For all segments simultaneously, blinks 1 on/off, then 2, then 3, etc.
In contrast to “interleaved color mode”, this might be called “single color mode”
Each color blinks through all 6 LEDs in all segments, then the next color begins

Same params as all others
05…

M5

Segments of 6. Grows up from all off, 1 on, 1-2 on, 1-3 on, etc.
Shrinks up from 1-6 on, 2-6 on, 3-6 on, etc.
Colors alternate within the segments (“interleaved”)

Same params as all others
06…

M6

Six-LED segments. Six color slots.
Will accept 1 color but that effectively sets the second of the “pair” to off
“Pair” in that each pair of LEDs are interleaved rather than each individual one
(Colors = R,G; LEDs = R,G,R,G,R,G)
In each segment, turns on pairs incrementally and exclusively
Pair 1 (LEDs 1/2) on, all else off. Pair 2 (3/4) on, rest off. Pair 3 (5/6) on, rest off

Same params as all others
07…

M6B

Six-LED segments, though paired again so they could be thought of as three double-LED segments
Presumably up to 6-7 color slots
For each color, turn on each pair in each segment with that (single) color incrementally and exclusively
(Same as M6: 1/2 on + others off, etc.)
Then do that again a second time. THEN go to the next color.

Kinda weird so here’s a diagram. Letter = color, dash = off, each = an LED in a segment.
Configured colors = R,G,B. Numbers at the start of the line indicate each step in the effect.

0 RR----
1 --RR–
2 ----RR
3 RR----
4 --RR–
5 ----RR
6 GG----
7 --GG–
etc.

Same params as all others
08…

M7

Looks simple at first. Segments of 6. Probably 6 color slots, but could easily be 7 or more.
Alternates between odds on and evens on. Does this six times per color pair.
(One “cycle” = odds, evens, odds, evens, odds, evens)
Color handling is less than simple.
Each new cycle pushes new color onto even, old even to odd, and old odd out of the pattern

Colors = R,G,B
0 R-R-R-
1 -G-G-G
2 R-R-R-
3 -G-G-G
4 R-R-R
5 -G-G-G
(New cycle. Blue pushes into evens, which pushes green into odds, which pushes red out)
6 G-G-G-
7 -B-B-B
8 G-G-G-
9 -B-B-B
10 G-G-G-
11 -B-B-B
(New cycle. etc.)
Assume same params as all others from now on
09…

M8

This does a new thing so I’ma go to bed and figure out more tomorrow

1 Like

Great share! I try to use them but I do not understand where should I place the values. Also I struggle to set the correct parameters on the correct fields. Any screenshot please?

Hey, sorry I missed this! If you’re using LocalTuya, the scene strings go in the very bottom of the Configure Entity dialog:

If you’re using a different method/integration it’d depend on whether it even exposes the ability to do custom scenes like that.

I broke the fields I kinda inferred into spaced groups in my post, but I guess it’s probably not super helpful without labels eh? Which scene/settings are you trying to figure out?