Twinkly: setting effects/colors not working

You can set the effect by just using the regular “light.turn_on”.
Just add e.g. “effect: 2 sparkles” as a parameter.

service: light.turn_on
data:
  effect: 2 Spakles

Actually, only the “2” matters, as the integration uses the number to apply the right effect, and ignores the name.

But as you said, the effects have to be added form the app first.

4 Likes

You can also turn it on with just a single color:

service: light.turn_on
data:
  rgb_color: [255, 255, 128]
1 Like

Brilliant! thanks @Olen I didn’t think to use the digit instead of (or as well as) the name :slight_smile:

1 Like

You can create your own effects in the app, and call them whatever you want, and you can easily have more than one effect with the same name, so the names are not unique. That is why I need to have the number as well.

1 Like

hopefully not within the next weeks :slight_smile:
Would be good to have it before christmas evening… :wink:

1 Like

The integration is completely usable today, the reported bugs are pretty minor.

“Missing None effect” only means that from the GUI, if you have switched from an effect to a static color, you can’t swich directly back to the previous effect. You first need to select another effect and then back to the previous one. If you use the regular service call light.turn_on() there is no issue.

There is a PR already that will fix that (and a few other issues).

“Twinkly doesn’t turn on” has been tracked down, and can happen if you do not have any movies (effects) saved to the device. This only happens if you use the GUI or of you try to use light.turn_on() whthout setting a color. It can easily be worked around by just saving a movie (effect) in the app.

There are two PRs open that each fix different parts of this problem. Either of them should be enough for 99% of the cases. Both of them together should fix every corner case.

1 Like

Thanks. Will try to use this in an action - setup an action in the interface and then use file editor.

Is there any way would add this to the documentation of the integration?

1 Like

So how does this updated integration work? To my understanding effects (or movies, as Twinkly call them) are uploaded to the controller every time you change these in application and click apply. Sounds to me like that only one effect can be stored on the device. Now, from what I understand integration allows to load several different effects and switch between them using service calls. So the questios are:

  • Is Twinkly controller capable of storing more effects? If so how many?
  • Altrnatively is integraton intercepting the movie files as these are uploaded to controller and reply as needed? Or downloading them somehow from contrloller and storing localy in HA for reuse?
  • As more complex effects are dependent on particular location of LEDs, what about changes? Eg. if create some effect today, it gets its unique index in integration, how will this play next year, when the Christmass tree is dressed differently? Do I need to reset configurastion somehow? Especially if I want to use the same effect, with different layout of LEDs on the tree, how to update it? Or alternatively remove previously store one and be able to upload a new one with the same name (ideally index too)?

Sorry for these somehow technical questions, I’m just very much curious! I love Twinkly lights and I’m really excited to try this integration in coming days!

I agree the integration is useable, maybe better than before. But for RGBW lights the color picker is broken. Using 2022.12 it seemed I could only select pastel colors, white being full on. Now, on 2022.12.1 (or just plain by coincidence) I again can’t use the white channel as it is always completely off. That is slightly better, except I cant use warm white now.

At least with version 2 lights, the controller is capable of storing multiple effects. How many will probably depend on the complexity of the effect and the number of lights in your string. For my icicle I now have 4 effects taking up almost half the controller memory. On my 240 light strings I have 3 effects taking up only 9%.

The new integration is capable of selecting the effects that are uploaded to the controller. Uploading happes for example when you create a playlist. The playlist itself is not (yet?) useable from HA. But in my experience, if you turn a running playlist off using HA, and on again, most times it will continue.

You will always need to keep the Twinkly app if you reuse the lights in a different setting, or want to change the effects you uploaded to the controller. That will also mean the effects in your automations may have gotten different meanings (the 3rd effect may not be the same effect it used to be, or may even no longer be set).

When you reuse the lights the next year, you use the Twinkly app to remap the positions of the lights. The app will then recompile the effect using the new layout of the individual lights. The twinkly app can save and reuse more effects than your controller can hold, but they are stored on the device. So if you switch between Android phone and iPad for example, own creations from the phone are not there on the iPad.

1 Like

Thanks a lot for explanation! Makes a lot of sense! So seems now I need check what about mine strings… I have one with 250 LEDs, but no clue what generation it is… I’ll learn this in few days though!

I added a comment to the issue as well.
Would you be able to run a python-script (added in the github issue) so I can see what data rgbw-twinklys provide?

i have the RGBW String lights ( Strings (Multicolor + White edition) (twinkly.com)). I can successfully change them to an effect using the call service function, however when I want to then change them back to a standard colour (using the RGB values) they just stay on the effect. I’m assuming this is similar issue to the one @Edwin_D has experienced?

There are multiple PRs already in the queue, and I have other PRs waiting to be pushed (not published yet, because they depend on changes in some of the existing PRs).
Please help by reviewing the already submitted PRs so we can get them merged and the next batch pushed.

This is only tangentially related, but how “should” I have a dashboard button handling on/off state from a Twinkly string? Right now it’s using rgb(255,255,255) as the state color and that’s less-than-ideal when using a white background dashboard. This being the color value returned even when the string is running a pattern (and I am not looking for a dynamically changing color pattern for a button, just plain black/yellow would be fine).

I raised the question as it related to just dashboards here: Dashboard on/off status in icon? - #9 by parautenbach

(and to follow up, I found a solution for this, see the thread).

This is good to know. I have a single port Gen 2, with a splitter driving two 10x25 curtains. And a four-port Gen 2 driving four 5x50 curtains. Is there any documentation covering what the different controllers are capable of supporting, effects-wise? As in, would I be “better off” using multiple separate 1 port controllers? Or graduating up to a wired six port controller?

Doubtful.

First I have two twinkly Gen 2 strings… yes you can load multiple effects.

Thebreason I say ‘doubtful’… The UI for it and the Playlist show a ‘gas gauge’ style icon (the controller with a green background) that I suspect is an effort to demonstrate how much space is used. So what’s probably going on is the number of effects are variable depending on complexity and space they take in nvram. So how many is impossible to know.

Although, it also means there’s a state to be had. I wonder if that can be surfaced.

I mean, somewhere there’s got to be specs or at least anecdotal “I got this many things loaded” information about the controllers. From what I gather these are esp32 devices, so there’s potential for a fair bit of storage being in them, and not just NVRAM but flash. Though that’s only because of esp32 design choices, not based on my knowing anything specific about the controllers. I agree that if the apps can show ‘gas gauge’ then the API must be making ‘something’ available. No idea if that’s actual byte counts or just a percentage.

As for multiple effects… you can, but it’ll be limited by the complexity of the scene AND the number of lights active on the module. Try loading the ‘crazy rainbow’ or ‘crazy lines’ effects. A wreath controller won’t take it (or at least mine won’t) and my 4-port with 1000 lights on it will play it but seems to not want to load it as part of a playlist. No factual idea why, and the app doesn’t give any sort of decent feedback or logging. But I gather it’s running up against some sort of limitations. Though if I’m going to get any more complicated with these (for NEXT year) I’d probably move to using xlights instead.

Anyway, sort of off-topic for HA-specifics.

1 Like

Hi,
It’s the season again and i unpacked my twinkly.
I have a gold edition (twinkley AWW) that only can change different whites.

In home assistant i cant toggle it and change effect but not the white colors. Is it possible to do that or can set some preset colors in HA to then send them to twinkly?

3 Likes

Actually it is pretty simple to get a desired effect running (Dec’ 2024):

  1. Upload required number of effects on the Twinkly controller via the Twinkly app.
  2. Set up Twinkly integration in HA.
  3. Create a script (Settings → Automations → Script)
  4. “+ Add script” → Create new script → visual editor
  5. “+ Add Action” → Light → Turn On
  6. Target → Choose Entity → search for your Twinkly device
  7. Enable “Effect” and write a number of your desired effect
  8. Run this script from anywhere in the HA.