Exterior Lights Changing Colors for Holidays Based on Google Calendar

I wanted to share my video of a successful Apilio use case at my house:

I have a google calendar where I set the color for each holiday (ie. Green for St. Patrick’s day). That color name is then used by Apilio as a string variable (ie. “Green”). Using a custom filter on IFTTT, half an hour before sunset on a holiday, the various in-wall light switches all turn on and then the SmartLife bulbs turn on and run an Apilio logicblock which cycles through a list of other logicblocks looking for a match with the color string name. Then the designated logicblock (ie. ‘Green’) runs an IFTTT action for each and every bulb to make them all turn green. For 2-color holidays, (like Christmas [red and green]), there are two logic blocks who repeatedly trigger each other all evening in order to keep the colors rotating. (Bulb groups don’t work for changing the colors of these bulbs, and none of the SmartLife ‘scenes’ are an acceptable cycling of chosen colors, so I did it all through Apilio). When two Arlo cameras independently sense motion or if the exterior door is opened, the colors near the stairs turn on and change to white light, and the tread lights turn on to help people safely traverse the stairs. After a few minutes, they turn off or go back to holiday colors if it’s a holiday on the google calendar. And then, at the end of the holiday evening the colorful display ends and resets.

Needless to say, I don’t think any of this would be even remotely possible without Apilio. I’m taking advantage of the conditional triggers with many nested ORs and ANDs on my logicblocks. I’m using Apilio’s huge range of compatibility thanks to IFTTT (SmartLife, SmartThings, Meross, Arlo, and WEMO are all involved in this system) . The Event Logs were necessary to troubleshoot this beast of interconnecting logic blocks. Because smart life bulb groups don’t work for color changes with my bulb type, each bulb has a separate IFTTT action for each color.

I started this system last year, and I think it’s working fairly well now. There is still room for me to improve it, and I’m always right at the limit of allowed number IFTTT actions, so I can’t do all color combinations yet. I find SmartLife limiting and frustrating, but I’m thankful to Apilio for filling in the gaps wherever possible. I have been incredibly impressed with the new features Apilio adds every few months. Thanks Apilio Team!


Hi @K8Baldwin,
Looks fantastic, and very festive!
Not sure exactly how you are setting colours of the SmartLife bulbs via IFTTT, but you can set them from Apilio using a Tuya custom command (see Implement colour setting for Tuya bulbs - Feature Requests - Apilio Community). Might cut out the need to run a separate IFTTT action to do this.
Merry Christmas!


Wow so super good!!! Where do we all get friends like Sue and Jim? Door looks fab too. Does arlo cam trigger on motion or person detection?


Thanks for this creative example! :star_struck: :santa:
Are you at the limit of actions per Logicblock or the total of IFTTT actions?


Thank you so much Robin! This is a fantastic tip for me! Total game changer! This will save me not only IFTTT actions, but it will also save so much time setting up new colors.

For my bulbs, I found that only “colour_data” worked, not “colour_data_v2.” Maybe that’s just because they are a few years old? I’m not sure, but I think “colour_data” is going to work great! To help others, here is the example code for green: {“code”:“colour_data”, “value”:{“h”:120,“s”:255,“v”:255}}
The non-v2 version has different limits on the saturation and brightness values:
Hue (h): 0–360
Saturation (s): 0–255
Value (v): 0–255
parameter info from here.

Another tip for others is that I think SmartLife (Tuya) service actions don’t show up on the event log, so it’s normal not to see them on there, whether those commands are working or not.


:laughing: Sue and Jim are great in-laws! (I recorded the video to show friends on social media and I knew they would enjoy that!)
The Arlo cams just trigger on motion in general. I have Arlo Pro 2s, so no monthly fee at all if I don’t use their ‘smart recognition system’ and just make due to regular recording. In order to avoid false-motion (from wind or moths), I use a double confirm, 2 camera-system. One camera is at the foot of the driveway and one at the door. BOTH must sense motion within 2 minutes in order to trigger the lighting changes. I’m very thankful to Apilio for making a system like that pretty easy to set up! I also have this ‘double motion detected’ trigger Alexa to tell me that there is motion outside. Handy!


I’ve hit both limits in the past, but it’s easy to add more actions to a logicblock because I just add a second logic block and have the first one trigger it (via IFTTT and a condition). I think the actions per LB limit was increased this year, but I still have some 2-part logic blocks because I haven’t gotten around to combining them.

I currently have 132 IFTTT actions in Apilio. :sweat_smile:
But thanks to Robin’s comment, I will be able to delete about 100 of those (after I take the time to re-do them)!


You are welcome Kate!

Something I found useful is that the Apilio device tab shows the current settings of the colour values (at least, it does this for colour_data_v2). As I have my lights also linked to Alexa, it is easy to change the colour from there to one of the many pre-defined ones (red, green, blue, etc) and then see what raw colour values these correspond to. When you go beyond the simple colours, it is useful to know what, for example, turquoise corresponds to!


You can also trigger using the HTTP actions on a Logicblock calling the web hook URL of the other Logicblock :slight_smile:

1 Like