Show next calendar items on dashboard (Ical)

Needed apps:


  • IcalCalender
  • Loops



Step 1:


To make the flow we first need to connect the calender to the IcalCalender app. Make sure you go to the homey app store and install the Ical Calender and loops app.

Now you will add a device and select the IcalCalender app. Now your device is added.


UawOVTPfC3jayKcS6PWzeWcy82xaEUh2GEtnyH6c.png


Now you will go to settings and to your IcalCalender app. Click on configure to add your Calender url. If its a google calender for example then make sure its the open url.


fzjvhg3mE7T4eYbyl7arxaE1SwmvKZHNRk0ppCnH.png


Check first if your calender is syncing items. You can do this by going to your Ical calender device.


lCUW3Ra4M6NEUO9BwHJfjsHL6TytvEm0Ay4aFAgW.png


Step 2:


First we need a Variable where we will store our data from the flow. This variable we will eventually add on our dashboard. Give the variable the name what is good for you. The value doesn't really matter fow now because the data in there will be replaced with data that we get out of our flow.


6pf1Pw8v13RyBOxZgBPcLLDYssUHUa2M8emrHFJo.png


Step 3:


Part 1 of the flow:


  • Card 1 of the picture below

First we need to start with a trigger in our flow. In my case for this calender i sync it every 3 hours. But for my normal calenders i will sync it every hour. It just depends on your needs.

  • Card 2 of the picture below

Then add a then card with the sync calendars from IcalCalender.

  • Card 3 of the picture below

Add a then card with start loop. The name of the loop is whatever you like. In this case i run it 4 times with a delay of 1 second.


xUygNtQWBgKUmEf1rvF11o8lXlnZy1jslBd98rXE.png



Part 2 of the flow:


  • Card 1 on the picture below

We start adding the loop card when loop F1 Agenda (the loop name you just made) is started

  • Card 2 on the picture below

Then we add a "then" card that contains the logic set text variable to text. In my case i pick F1 agenda and set it to aankomende events (coming events). You can also change this to your liking.

  • Card 3 on the picture below

We continue with a then icalcalender card. Get events with index xx from calender xx. Fill index with 0 and the calender is the name of your own calender that you added in the Icalcalender app. In my case Formule 1.

  • Card 4 on the picture below

Then we add another then card with set text variables to the tag that contains your calender name. In my case F1 agenda. I then added ============== signs to divide the data from the title. But you can add whatever you like.

Then you add 2 more tags. Add start and title. Befefore we can pick the start and title card we need to connect both cards otherwise we don't get the this flow option for tags. Like in the example below here.


If you want to use enter in homey you can do this with shift + enter.


wB3E1pBhbqL5H6ANbLmXPljyTAaU4wJqLpcZRwVx.png


Wxvrr5Fw2uFMASXB78kZkrkwTiJ42rzVcu725Arx.png


Part 3 of the flow:


  • Card 1 on the picture below

We start with then card. In this case a Loop iterates card. Pick the name of your loop. (the one you made)

  • Card 2 on the picture below

Then we add a then IcalCalender card. Get event with index Iteration from calender Formule 1. Formule one is the name of your own calender. Befefore we can pick the Iteration card we need to connect both

cards otherwise we dont get the this flow option for tags.

  • Card 3 on the picture below.

Then we add another then card with set text variables to the tag that contains your calender name. In my case F1 agenda. I then added ============== signs to divide the data from the title. But you can add whatever you like.

Then you add 2 more tags. Add start and title. Befefore we can pick the start and title card we need to connect both cards otherwise we don't get the this flow option for tags. Like in the example below here. This is same as we did in part 2 of the flow.

  • Card 4 on the picture below.

Add an and logic card. If number is greater than number. Connect the card first before we can add Iteration value. Then add Iteration value and add 6.

  • Card 5 on the picture below.

Add an then card with Kill loop name should trigger finished card. The name is the name of your loop. In my case F1 agenda. Set trigger kill card to yes.




SanS0Fmgc6lEbUdLjh6q3MlPDuc44HyhYVJvd00Y.png


lxaIOWzeI3Ue623eUuRX6PeFtKZqdZKrdsLfAVlI.png


Part 4 of the flow:


  • Card 1 on the picture below

Add a then card with loop xxx is finished. Pick the name of your loop. In my case F1 Agenda.

  • Card 2 on the picture below.

Add a then logic card with set text variable to text. Pick the name of the logic card we added at the start. Then set it to the name of our logic card.


r29yYsu49SmzqDseNXADBpO2oAixzTGB4vbyfmxs.png


Now our flow will look like this. We have finished making our flow.


jalmgB7LwoXY2jQQXBFkz5tnluvyC6qt9swXE84c.png


Step 4:


Now we have to add our calender data on our dashboard. The data is stored in the variable we made. A variable can be added by adding a flow token. Go to your specific dashboard andd go into edit mode. Click on the + icon and select flow token.


B18un6HrsQNDWYkRJxz1pxsRtovduuSNhByD1lmw.png


Then search for your flow taken name. That's the name of your variable. In my case F1 agenda. (F1 calender). Then add it.


QsNLhudVHh2gQieuGDFvUceiFkjJqJPTfYx1fpGD.png


Adjust the size to your liking.


2vFsXPPOnLNv0XqGOubKsKBML9QmloU4367uVRu2.png


Step 5:


You can also send the data of the flow token to your phone with whatsapp or telegram for example. Like the example below here. Just add a trigger for whenever you want to send it.

Then add a send whatsapp message card with text to number xxxxx. Add the tag of your variable to the text and add the number or group where you want to send it to. This works the same for telegram.


BFbcfkVFKPZxyU2FcbrPz6Wm7mmqHPBQ6CyGQ1yS.png


Wggf9Zhq6AZTd97AV4unKB2N35SJDfAql7SvEj0q.png