cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
cwomack
Level: Powered On

How to run a flow at sunrise?

I'm trying to have a flow run at SUNRISE each day for certain geographic locations.  Has anyone done this?

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Super User
Super User

Re: How to run a flow at sunrise?

Hi @cwomack,

 

Well, that worked! Kind of nifty actually :-)

 

Here's the Flow I tested with, with some explanation below:Trigger on sunrise.png

 

 

So... every Flow must have a trigger of some sort, something that sets it off. Unfortunately, the two triggers available with the MSN Weather connector are only related to the current weather (i.e. When the current conditions change, and When the current weather measure changes). However, the sunrise and sunset times (and lots of other things) are available in the weather forecast coming from this connector. But that's an Action: Get forecast for today. So that can only be used within a Flow that's already been triggered. So for a trigger, I chose Recurrence - it sounds like you've already found that trigger, but what I did here was set it to trigger daily at some hour before sunrise, e.g. 4am. [Actually, my Flow is testing for sunset, so that I could test it today without waiting for tomorrow's sunrise, so I set it to trigger at 4pm :-) ]

 

Next is the MSN Weather action Get forecast for today. Here, you specify the location, and the unit of measure you want to use (i.e. F vs C temp). You can just type in a city and country, or enter a longitude and latitude, or various other things (there's a tip in the box about that). I happen to be in Costa Rica right now, so that's what I entered :-)

 

In the next step, I found I needed to do a bit of trickery with the value that came back from MSN Weather for the sun[set] time. It came back in a format like 2018-04-16T23:46:50+00:00, but the following step needed it to be in standard UTC format like 2018-04-16T23:46:50Z. So the Compose action uses an expression to modify the text: 

substring(body('Get_forecast_for_today')?['responses']?['almanac']?['sunset'],0,19)

[I created the expression by using the Expression Builder, but the above is what comes out of it.] Basically, I'm getting the first 19 characters of the sunset time, i.e. removing the +00:00 from the end.

 

The next action is Delay Until, which pauses the Flow until a certain time. Here, the time is the output of the Compose step, with a Z added to the end to meet the format requirement. I have to say that datetime manipulation is one of the trickier things about Flow :-/  Something to be aware of is that all datetime outputs of a Flow action are in UTC time. So while the sunset value of the MSN Weather action was 23:46, that equated to the actual sunset time here in Costa Rica of 17:46.

 

And then after that you can do whatever actions you wanted to do. I just sent myself a mobile notification, which came in at 5:46p as the sun was setting over the mountains.

 

I hope this helps you! I found it to be a very interesting scenario, so I think I'll write a blog post about it for the Flow Community Blog. The post will have more screenshots and details, so if something above wasn't quite clear, I hope the post will help further :-)

 

Sandy



Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


View solution in original post

9 REPLIES 9
Community Support Team
Community Support Team

Re: How to run a flow at sunrise?

Hi @ cwomack,

 

 

Could you please explain more about the "SUNRISE each day" that you mentioned?

Do you mean a specific time such as "6 am" every day at your geographic locations?

Or do you mean the time when the sun start to shine at your geographic locations?

 

If you want the flow to run at a specific time such as "6 am" every day at your geographic locations, you could count want is the utc time at your geographic locations time "6 am",and if the utc time is "5 am" at your geographic locations time "6 am", you could add a flow with trigger "recurrence", and configue the "recurrence" to run at "5 am" every day as below:

Capture.PNG

 

If you want the flow to run when the sun start to shine at your geographic locations, it is not supported in microsoft flow currently,I afraid that there is no way to achieve your needs in Microsoft Flow currently.

 

If you would like this feature to be added in Microsoft Flow, please submit an idea to Flow Ideas Forum:

https://powerusers.microsoft.com/t5/Flow-Ideas/idb-p/FlowIdeas

 

 

Regards,
Alice Zhang

cwomack
Level: Powered On

Re: How to run a flow at sunrise?

Setting a trigger at a certain time each day is easy enough.  I want a flow triggered based on the SUNRISE time each day, which will be a different time each day.

 

Example sunrise times for Dallas, Texas:   https://www.timeanddate.com/sun/usa/dallas

 

 

Super User
Super User

Re: How to run a flow at sunrise?

Hi @cwomack,

 

This is a pretty interesting use case!

 

I haven't tried it myself, but can you make use of the MSN Weather connector? The triggers are only on when some aspect of the current weather changes, but there's an action to get today's forecast, which includes sunrise time. Maybe you could trigger the Flow at a pre-sunrise time each day (e.g. 3am or something), get today's sunrise time for the location, and then Delay Until that time. And then do whatever you wanted to do at that time.

 

Just sort of thinking aloud, but I think that could work...



Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


cwomack
Level: Powered On

Re: How to run a flow at sunrise?

SandyU, that's the only connector with a sunrise definition, but I'm not sure how to use that as a trigger.  I'm fairly new to Flows. I just need a simple trigger when the sunrises each day to send an email.

 

How would I "get" the sunrise time?

 

Thanks!

 

 

 

 

Super User
Super User

Re: How to run a flow at sunrise?

Here's a thought...

A quick search for how to calculate sunrise took me here: https://en.wikipedia.org/wiki/Sunrise_equation

 

Why not use Excel to calculate the exact time for sunrise on a given day using the equation shown in the post I referenced above.

 

Using a Recurrence trigger that runs every day, add a row to the Excel table with the current date.

Then retrieve the calculated times for each location specified in the Excel table.

Then use a delay action and send out the email at the specified time.

 

I haven't tested this yet (and the calculation is a is not trivial) but I believe that it should work.

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott
Super User
Super User

Re: How to run a flow at sunrise?

Hi @cwomack,

 

I'm testing this idea out on a sunset "trigger" this evening, and I'll get back to you :-) 

 

Sandy



Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


Super User
Super User

Re: How to run a flow at sunrise?

Hi @cwomack,

 

Well, that worked! Kind of nifty actually :-)

 

Here's the Flow I tested with, with some explanation below:Trigger on sunrise.png

 

 

So... every Flow must have a trigger of some sort, something that sets it off. Unfortunately, the two triggers available with the MSN Weather connector are only related to the current weather (i.e. When the current conditions change, and When the current weather measure changes). However, the sunrise and sunset times (and lots of other things) are available in the weather forecast coming from this connector. But that's an Action: Get forecast for today. So that can only be used within a Flow that's already been triggered. So for a trigger, I chose Recurrence - it sounds like you've already found that trigger, but what I did here was set it to trigger daily at some hour before sunrise, e.g. 4am. [Actually, my Flow is testing for sunset, so that I could test it today without waiting for tomorrow's sunrise, so I set it to trigger at 4pm :-) ]

 

Next is the MSN Weather action Get forecast for today. Here, you specify the location, and the unit of measure you want to use (i.e. F vs C temp). You can just type in a city and country, or enter a longitude and latitude, or various other things (there's a tip in the box about that). I happen to be in Costa Rica right now, so that's what I entered :-)

 

In the next step, I found I needed to do a bit of trickery with the value that came back from MSN Weather for the sun[set] time. It came back in a format like 2018-04-16T23:46:50+00:00, but the following step needed it to be in standard UTC format like 2018-04-16T23:46:50Z. So the Compose action uses an expression to modify the text: 

substring(body('Get_forecast_for_today')?['responses']?['almanac']?['sunset'],0,19)

[I created the expression by using the Expression Builder, but the above is what comes out of it.] Basically, I'm getting the first 19 characters of the sunset time, i.e. removing the +00:00 from the end.

 

The next action is Delay Until, which pauses the Flow until a certain time. Here, the time is the output of the Compose step, with a Z added to the end to meet the format requirement. I have to say that datetime manipulation is one of the trickier things about Flow :-/  Something to be aware of is that all datetime outputs of a Flow action are in UTC time. So while the sunset value of the MSN Weather action was 23:46, that equated to the actual sunset time here in Costa Rica of 17:46.

 

And then after that you can do whatever actions you wanted to do. I just sent myself a mobile notification, which came in at 5:46p as the sun was setting over the mountains.

 

I hope this helps you! I found it to be a very interesting scenario, so I think I'll write a blog post about it for the Flow Community Blog. The post will have more screenshots and details, so if something above wasn't quite clear, I hope the post will help further :-)

 

Sandy



Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


View solution in original post

cwomack
Level: Powered On

Re: How to run a flow at sunrise?

Excellent Sandy, I've marked this as the solution!

 

 

Super User
Super User

Re: How to run a flow at sunrise?

Great... happy to help!

 

Here's the blog post I wrote about it - I hope you don't mind my using your question that way :-)

 

Sandy



Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


Helpful resources

Announcements
firstImage

Microsoft Business Applications Virtual Launch Event

Watch the event on demand for an in-depth look at the new innovations across Dynamics 365 and the Microsoft Power Platform.

firstImage

Watch Sessions On Demand!

Continue your learning in our online communities.

Power Platform 2019 Release Wave 2 Plan

Power Platform 2019 Release Wave 2 Plan

Features releasing from October 2019 through March 2020.

thirdimage

Flow Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Flow Community Video Gallery!

Top Kudoed Authors
Users Online
Currently online: 90 members 3,623 guests
Please welcome our newest community members: