PLUGIN: RGB Controller (UI5 & UI7) - V1.41

Vosmont - thank you again for a great addition to the VERA community. If it hadn’t been for your plug in, I would have returned the bulb.

Is there any way for users to add to the pallet of animations? For example, strobing green, yellow, orange, etc - or having it alternate between various colors (like the current LPD)? I opened the lua animation file in an editor and see the scripting - but it’s so far over my head, I know I’d crash computers within 5 miles if I attempted to change anything.

As I write this, my light just started pulsating blue since the mail carrier deposited my mail in my box at the street. I’d love to do the same with all colors to signify other events (like gate opening, doorbell ringing, motion detected in area XYZ, etc).

Hate to even ask given how grateful I am - but if one doesn’t ask… one will never know…

Thank you for your returns :slight_smile:

What firmware have you ? I’ve noticed Z-Wave network freezes with last firmwares and unreachable devices (just with standard polling or orders), but I’m not sure for the moment.

It should be a problem of wiring. With colors, you can use alias variables to correct an inverted connection but they won’t be used for internal animations.

I began to look at this feature. It will require a configuration by JSON (without graphical interface).

It is UI7 latest. This is not a problem as long as i remember to turn it on before changing any settings.

Here is a new pre-version 1.33 with customizable internal animations for AEOTEC Bulb.

Just upload the file “L_RGBController1.lua” with UI.

The animations are in variable “InternalAnimations” (in JSON).
If you want add one, you will find the settings here :
http://aeotec.com/z-wave-led-lightbulb/1511-led-bulb-manual.html

If you use the animations with the Fibaro RGBW, be careful, the animation “LPD” has been renamed “LAPD”.

Uploaded the newer version before I realized I’m too clueless on how to implement it. Thanks for your efforts.

The custom internal animations for the Aeotec RGBW bulb are here :
In the panel of the RGB Controller plugin, “Advanced” tab, then “Variables” tab, you will find the variable “InternalAnimations”.

By default, it contains (the JSON has been prettified):

{
"Rainbow slow": {"transitionStyle":0 ,"displayMode":1, "changeSpeed":127, "residenceTime":127},
"Rainbow fast": {"transitionStyle":0 ,"displayMode":1, "changeSpeed":5, "residenceTime":5},
"Strobe red": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 1]},
"Strobe blue": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 6]},
"LAPD": {"transitionStyle":1 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 1, 6]}
}

You can modify this variable (change its content and click somewhere else), it’s taken into account immediatly.

For exemple, add :

"Strobe orange": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 3]},

or

"Blink cyan 3 times": {"transitionStyle":2 , "cycleCount":3, "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 5]},

God, I wish I had your talent and patience. Thank you, sir.

And here’s where I test your patience…

I went into the variable InternalAnimation, and added the example:

{"Strobe orange": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 3]},

At first I added it to the end of the existing, but when I returned to the color wheel the only options under animation were solid colors - and none worked. When I went back to look at the internalanimation, it had repopulated to the original text.

So I tried again, this time wiping everything and entering just the example code above. Just as before, I clicked outside the input box, and the screen indicated “change property command sent”. The color wheel again reverted to solid colors in the animation drop down box.

All I have to do to undo my input is go back to the variable page, and the original content returns.

I’m sure it’s operator error…

You have to add your new animation in the JSON structure, for example :

{ "Rainbow slow": {"transitionStyle":0 ,"displayMode":1, "changeSpeed":127, "residenceTime":127}, "Rainbow fast": {"transitionStyle":0 ,"displayMode":1, "changeSpeed":5, "residenceTime":5}, "Strobe red": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 1]}, "Strobe blue": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 6]}, [b]"Strobe orange": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 3]},[/b] "LAPD": {"transitionStyle":1 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 1, 6]} }

Your custom animations or modifications will be immediately available in “Color wheel” tab, in the drop-down list.

There’s a limitation in the Vera UI : if you change a value in “Variables” tab, and you come back in it, the UI will show the former value (despite that the new value has really been taken into account).
To be able to see your changed value, you have to reload the UI (F5 in browser).

Ok, so I pasted your sample code from your previous post into the field, it saved it, I hit refresh, and as you said, it reported it correctly. However, when i returned to the color wheel, these are my choices:

And what I entered… I just wiped what was there and applied your code as-is:

What sucks is now I can’t get the original list of animations to come back. Even if put the original unedited content back into the box, I still only get solid colors in the animation. That means my luup calls in my actions won’t trigger (and I have pizza delivery showing up, how ever will I know when he gets here!)…

OK, it was my fault

Prettifying the JSON seemed to be a good idea in order to clarify the example … but in fact not ;D
It’s not correctly parsed by LUA.

So use this value :

{ "Rainbow slow": {"transitionStyle":0 ,"displayMode":1, "changeSpeed":127, "residenceTime":127}, "Rainbow fast": {"transitionStyle":0 ,"displayMode":1, "changeSpeed":5, "residenceTime":5}, "Strobe red": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 1]}, "Strobe blue": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 6]}, "Strobe orange": {"transitionStyle":2 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 3]}, "LAPD": {"transitionStyle":1 , "displayMode":2, "changeSpeed":0, "residenceTime":0, "colorTransition":[0, 1, 6]} }

Perhaps, check the box “switch to input type text” to avoid problems with some hidden html tags.

You will find too, in attachment, a new version of “L_RGBController1.lua” which handle better this type of error.

Just copy/pasting your latest code (w/o updating the .lua file) worked first try. I’ve now up’ed the .lua file as well. Now that I have a working template, it’s time to have some fun experimenting. Thanks!

By the way, not to point out fault, but just to prove I’m paying attention… Your example of “strobe orange” uses colors 0 and 3… 3, is yellow, not orange :slight_smile: I changed it to 0 and 2, and presto - I’ve got orange.

Loving it!

You’re right :slight_smile:

Don’t hesitate to share some cool animations !

Interestingly enough, when I simply copy/paste the added “strobe orange” code as another line within the field - renaming it to “test strobe” - I get the new ‘nil’ error. Is there anything else that needs to be flagged when adding additional lines?

I’m pretty sure I have the syntax correct - commas, brackets, etc…

Version 1.33 has been approved :

  • add internal animations for AEOTEC and ZIPATO bulbs
  • typo with “LPD” program name : renamed “LAPD”

For example: The Lamp is off, I start an animation programm and then stops the programm, the lamp stays on and don?t turn off again.

But I would like to have the latest status.

Somebody has an idea how I can solve this?

This case of use has not been foreseen… :slight_smile:

I will implement it in the next release.