Home Tasker Emulating sunsets and sunrises with Tasker and Yeelight

Emulating sunsets and sunrises with Tasker and Yeelight

From Dusk till Dawn.

It’s getting darker and gloomier here in the northern hemisphere, especially in the UK where the natural light is out past 6 pm. Since these conditions are not going to improve anytime soon (until Spring) let’s use Tasker and Yeelight to emulate the Sunset and Sunrise on demand. Sounds like a good plan! If you want to know more about the Yeelight Smart RGB bulb check out this post. I’ll show you how to trigger an artificial sunset when the phone is flipped upside-down and how to create an alarm, that will gradually enable lights in your room.

Buy Yeelight RGB smart bulb

Buy it using these links to support NotEnoughTech.

Tasker and Yeelight Sunset and Sunrise behaviour

Tasker and Yeelight

To save myself a hassle I’m using Twilight plugin, which tells Tasker if it’s a day or night. I wrote about the plugin earlier on here. Go check it out if you want to know more. I have a night and a day trigger which set the variable %Sunlight to the corresponding values. I’m going to use these to control the Tasker and Yeelight triggers.

Twilight Sunrise/Sunset
Profile: Sunlight Day 
	State: Twilight [ Configuration:From SUNRISE to SUNSET at Device location. ]
Enter: Sunlight Operator+ 
	A1: Variable Set [ Name:%Sunlight To:day 
            Recurse Variables:Off Do Maths:Off Append:Off ] 
Profile: Sunlight Night 
	State: Twilight [ Configuration:From SUNSET to SUNRISE at Device location. ]
Enter: Sunlight Operator- 
	A1: Variable Set [ Name:%Sunlight To:night 
            Recurse Variables:Off Do Maths:Off Append:Off ]


Tasker and Yeelight

Since Yeelight app comes with pretty neat presets, we can use it to create the Sunset behaviour. The preset last 15 min and goes from warm orange/red through dim colours to a complete blackout.

Profile: Sunset 
	State: Orientation [ Is:Face Down ]
	State: Wifi Connected [ SSID:FASTBERRY MAC:* IP:* Active:Yes ]
	State: Variable Value  [ %Sunlight ~ night ]
Enter: Sunset 
	A1: Yeelight Device [ Configuration:Device: lamp, Action: SCENE, Param: 70 Timeout (Seconds):0 ] 

If you want to extend/shorten the artificial sunset you can use the app to create a couple colour presets and mix it in Tasker using a combination of wait and brightness actions.

In my scenario, I used the WiFi information and value of %Sunlight to prevent the Yeelight smart bulb from switching the sunset mode accidentally. Feel free to assign another trigger or a voice command.


Tasker and Yeelight

Sunrise behaviour is best combined with a set alarm. In my scenario, I turn on the light 5 min before the alarm would go off. The light stays dim at first, then changes colour and brightness over next 15 min until it reaches the full intensity.

Tasker and Yeelight alarm

I used AutoTools to get the proper time picker dialog. If you rather create a scene, feel free to do so. You could also link this to a voice command. Whatever suits you, it’s great as long as you get the time in the 15:43 format.

	A1: AutoTools Dialog [ Configuration:Dialog Type: Date And Time
		Pick Time: true
		Time Picker Title: Set alarm
		Format: HH:mm
		Date Format Separator: , Timeout (Seconds):60 ] 
	A2: Variable Set [ Name:%Sunrise1 To:%atdatetimeseconds-300 	
		Recurse Variables:Off Do Maths:On Append:Off ] 
	A3: Variable Set [ Name:%Sunrise2 To:%atdatetimeseconds-300 
		Recurse Variables:Off Do Maths:On Append:Off ] 
	A4: Variable Split [ Name:%atdatetime1 Splitter:: Delete Base:Off ] 
	A5: Set Alarm [ Hours:%atdatetime11 Minutes:%atdatetime12 
		Label:With lamp Sound: Vibrate:Default Confirm:Off ] 

The time set via AutoTools is available in seconds,  we can use it directly to assign the values of %Sunrise1 and %Sunrise2 (we need this to create the time context and bypass the time issues).


To set the alarm, however, we will need the hours and minutes provided to us separately. We can split the existing variable %atdatetime1 with “:” as shown in A4. Once this is done, we have %atdatetime11 for hours and %atdatetime12 for minutes.

Sunrise Profile

It’s time (no pun intended) to set the context and trigger the Yeelight. The action is simple, pick the Yeelight action set the scene to Sunrise.  As per context, use time, and assign %Sunrise1 and %Sunrise2. 

Profile: Sunrise 
	Time: From %Sunrise1 Till %Sunrise2
	State: Variable Value  [ %Sunlight ~ night ]
Enter: Sunrise 
	A1: Yeelight Device [ Configuration:Device: lamp, 
		Action: SCENE, Param: 68 Timeout (Seconds):0 ] 


As you can see Tasker and Yeelight are almost a match made in heaven. The light looks great when you go to sleep, and hopefully, will reduce some stress of getting up early. I have passed the feedback to the Yeelight in regards to support for Tasker variables. It would be nice to have the brightness, colour and scenes accessible with the variables.

Project Download

Download project files here. Bear in mind that Patreon supporters have early access to project files and videos.


Nothing says "Thank you" better than keeping my coffee jar topped up!


Support me on Patreon and get an early access to tutorial files and videos.


Bitcoin (BTC)

Use this QR to keep me caffeinated in style with crypto-currency

New to Tasker?

Tasker Quick Start – Getting started with Tasker

From newb to not so newbie in 10 min

Best Tasker Projects

Tasker PC control – #Tutorial 3 (Apps menu)

Launch apps and websites from the mobile!

Tasker PC control – #Tutorial 2 (Volume Menu)

If you missed the part one, I strongly recommend you to check it out. It tells you all about the framework used, and you...

How to control your PC like a boss – Tasker Project

Control PC, and other devices from a custom notification system.

Bluetooth battery monitor – monitor any Bluetooth battery with Tasker

Measure the battery use of Bluetooth devices

The Minimal & Elegant giveaway WINNERS

Picking the winners live! Livestream and making a Tasker Winners project!

Essential Guides

Tasker: Seconds into DD:HH:MM:SS (dynamic)

It's time to.... ok it's a pun, but I will show you how to master time and convert seconds to DD:HH:MM:SS dynamically

4 ways to organise Tasker projects

Keep your Tasker tidy!

A better way to store Tasker credentials

The more clever way of managing credentials

Annoyed with dozens of AutoApps populating your app drawer? Here is a fix!

Clear your app drawer from the clutter in seconds

Putting AutoTools pie chart to a good use – SSID logger

Who wants a piece of the pie (chart)?