# \[APP\]\[Pro\] IcalCalendar

**URL:** <https://community.homey.app/t/app-pro-icalcalendar/80708>\
**Category:** Apps\
**Tags:** app, tools, homey-pro\
**Created:** [May 18, 2023, 2:29pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708 "2023-05-18T14:29:43Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [May 18, 2023, 2:29pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/1 "2023-05-18T14:29:43Z")

</div>

# IcalCalendar

The **IcalCalendar** gives Homey flow cards to trigger on your calendar events

 ![large](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/d/7dd4b05bbcb26a7fd8cd380bf79dc609d58dd907.png)

## Test tool

A separate [test tool is created](https://github.com/runely/calendar-homey-test) for you to test IcalCalendar behavior in your own console

## Setup

For how to setup this app, check out the readme on the [GitHub repo](https://github.com/runely/calendar-homey#setup)

## Sync

- Events are fetched **automatically every 15th minute and 15th second** (xx:00:15, xx:15:15, xx:30:15, xx:45:15) (default, can be changed)
- The “Sync calendars” action flow card can also be used to trigger a sync (must be used to sync calendars if automatic sync is disabled)
- The following events will be fetched in to the app:
  - Events not started yet where start date is within the timeframe given in the setup
  - Recurring events where start date is within the timeframe given in the setup
  - Events started but not finished

### See a list of which events exists in the app

To see a list of synced in events, create a new flow and use the condition card `Specific event is ongoing` in a flow like this:

1. Create a new flow, _or use an existing one (your choice)_
2. Choose the `Flow` → `This flow has started` as the trigger in the `WHEN` section
3. In the `AND` section, add the `Specific event is ongoing` card from **IcalCalendar**
  1. Click `Select event...` in the condition card
  2. This will present you with a list of all the events synced in

## Local events

> A local event is **just** local. They will never interact with your calendar externally!

### Create local event

You can use the action card `Create local event` to add a local event to one of your calendars in Homey. This local event will live and behave just as a normal event would.  
  
When the event is finished, it will automatically be removed, just as any other event.

❗ If you set `Apply your timezone` to **True** , this will treat the datetimes given as UTC and your timezone difference will be added!

### Delete local event by title

You can use the action card `Delete local event by title` to remove any local events containing the **title** given.

## Flow cards

### Triggers

- **Event starts** - _will trigger when any event starts_
- **Event starts in** - _will trigger when any event starts in when specified_
- **Event starts from calendar** - _will trigger when any event in specified calender starts_
- **Event ends** - _will trigger when any event ends_
- **Event ends in** - _will trigger when any event ends in when specified_
- **Event ends from calendar** - _will trigger when any event in specified calender ends_
- **Event changed** - _will trigger when any of the previously synchronized events have been changed (after sync)_
- **Event added** - _will trigger when a new event is created in one of your synced calendars_
  - **Will trigger when these requirements are met:**
    - The event has the `CREATED` property
    - The created events start time is inside the current datetime frame beeing synced in
    - The created event is created within the last 24 hours

- **Synchronization error occurred** - _will trigger when a synchronization error occurs with one of your calendars_

### Conditions

- **Specific event is ongoing** - _will check if specified event is|isn’t ongoing_
- **Specific event starts within** - _will check if specified event starts|doesn’t start within when specified_
- **Specific event ends within** - _will check if specified event ends|doesn’t end within when specified_
- **Any event is ongoing** - _will check if any event is|isn’t ongoing_
- **Any event starts within** - _will check if any event starts|doesn’t start within when specified_
- **Any event ends within** - _will check if any event ends|doesn’t ends within when specified_
- **Any event ongoing in calendar** - _will check if any event is|isn’t ongoing in specified calendar_
- **Event containing … in calendar … starts within** - _Event containing search value in chosen calendar starts within selected time range (will fill up global tags (containing))_
- **Event containing … in calendar … ends within** - _Event containing search value in chosen calendar ends within selected time range (will fill up global tags (containing))_
- **Any event starts within from calendar** - _will check if any event starts|doesn’t start within when specified from specified calendar_
- **Event containing … in calendar … is ongoing** - _will check if an event containing **value** in **calendar** is|isn’t ongoing_
- **Calendar has event where property matches given value and optionally starts within …** - _will check if specified calendar has one or more events where given property matches|doesn’t match given value, and if amount and type is given, also check if event starts within …_

### Actions

- **Sync calendars** - _will download new .ics files to update current events (events are fetched automatically, this card can be used to force a sync when **you** want **OR** if you have disabled automatic synchronization, use this card)_
- **Create local event** - _will allow you to create a local event that behaves just as a normal event, but only lives on your Homey_ (`event is automatically deleted when it's finished`)
- **Delete local event by title** - _will remove any local events with this title_ (`if several local events with this title is found, all of them will be removed!`)
- **Get calendars metadata** - _Will return a JSON representation of your calendar metadata_ (`advanced flow action card`)
- **Get calendar event** - _Returns tokens for given event in a given calendar_ (`advanced flow action card`)

### HomeyScripts

- **get-all-events**
  - [HP19](https://github.com/runely/calendar-homey/blob/master/homeyscripts/HP19_get-all-events.js)
  - [HP23](https://github.com/runely/calendar-homey/blob/master/homeyscripts/HP23_get-all-events.js)

## Troubleshooting

`IcalCalendar` requires the calendar url to be publicly available!

#### If you’re having trouble with an Apple iCloud calendar, check this first:

The first 2 standard Apple iCloud calendars ( **Home** and **Work** ) are not available to be shared by a public link but only by personal invite (via email). Only **new** and **non-default** calendars from Apple iCloud are working through the public link.

> Thanks to @DoctorBazinga for finding this out ([[APP][Pro] IcalCalendar - #16 by DoctorBazinga](https://community.homey.app/t/app-pro-icalcalendar/80708/16))

#### Problem in the synchronization of your calendars

Create a new flow:

1. Choose `Synchronization error occurred` as the trigger
2. For the action, add a push notification or something else that will get your attention.
3. Fill the action card you chose with the `error message` from the trigger card

#### Any other problems

If you have any other problems, feel free to open an [issue on the GitHub repo](https://github.com/runely/calendar-homey/issues)

**But** before you do, please do the following:

1. Make sure you have the lastest version of the app installed
2. Make sure you have updated your Homey firmware to the latest
3. Open the settings page for the app
4. Make sure the calendar URL’s you are using are working properly by copying and pasting them into a browser. They should download a .ics file
5. Scroll down to the bottom and enable `Log all events` (blue checkmark)
6. Click **Save**
7. Restart the app
8. Wait 5 minutes
9. Click `Create diagnostics report` on the app gear icon.
10. Copy the _report id_ given
11. Post this _report id_ along with the [issue you open on GitHub](https://github.com/runely/calendar-homey/issues)

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [May 18, 2023, 2:30pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/2 "2023-05-18T14:30:04Z")

</div>

# Changelog

There’s not allowed to have any more text here…. Please see the GItHub page for changelog: [GitHub - runely/calendar-homey: Gives Homey flow cards to trigger on your calendar events](https://github.com/runely/calendar-homey?tab=readme-ov-file#changelog)

- 3.0.1

- 3.0.0 ([https://github.com/runely/calendar-homey/pull/664](https://github.com/runely/calendar-homey/pull/664))

- 2.12.1

- 2.12.0

- 2.11.4

- 2.11.3

- 2.11.2

- 2.11.1

- 2.11.0 (only released as test)

- 2.10.1

- 2.10.0

- 2.9.0

- 2.8.2

- 2.8.1

- 2.8.0

- 2.7.1

- 2.7.0

- 2.6.2

- 2.6.1

- 2.6.0

- 2.5.0

- 2.4.0

- 2.3.5

- 2.3.4

- 2.3.3

- 2.3.2

- 2.3.1

- 2.3.0

- 2.2.0

- 2.1.0

- 2.0.4

- 2.0.3

- 2.0.2

- 2.0.1

- 2.0.0

- 1.19.1

- 1.19.0

- 1.18.4

- 1.18.3

- 1.18.2

- 1.18.1

- 1.18.0

- 1.17.0

- 1.16.2

- 1.16.1

- 1.16.0

- 1.15.0

- 1.14.1

- 1.14.0

- 1.13.2

- 1.13.1

- 1.13.0

- 1.12.0

- 1.11.4

- 1.11.3

- 1.11.2

- 1.11.1

- 1.11.0

- 1.10.0

- 1.9.0

- 1.8.3

- 1.8.2

- 1.8.1

- 1.8.0

- 1.7.1

- 1.7.0

- 1.6.0

- 1.5.0

- 1.4.1

- 1.4.0

- 1.3.1

- 1.3.0

- 1.2.0

- 1.1.4

- 1.1.3

- 1.1.0 (1.1.2)

- 1.1.0 (1.1.1)

- 1.1.0

- 1.0.7

- 1.0.6

- 1.0.5

- 1.0.4

- 1.0.3

- 1.0.2

- 1.0.1

- 1.0.0

- 0.15.0

- 0.14.3

- 0.14.2

- 0.14.1

- 0.14.0

- 0.13.1

- 0.13.0

- 0.12.0

- 0.11.0

- 0.10.1

- 0.10.0

- 0.9.3

- 0.9.2

- 0.9.1

- 0.9.0

- 0.8.2

- 0.8.1

- 0.8.0

- 0.7.1

- 0.7.0

- 0.6.6

- 0.6.5

- 0.6.4

- 0.6.3

- 0.6.2

- 0.6.1

- 0.6.0

- 0.5.1

- 0.5.0

- 0.4.8

- 0.4.7

- 0.4.6

- 0.4.5

- 0.4.4

- 0.4.3

- 0.4.2

- 0.4.1

- 0.4.0

- 0.3.0

- 0.2.5

- 0.2.4

- 0.2.3

- 0.2.2

- 0.2.1

- 0.2.0

- 0.1.4

- 0.1.3

- 0.1.2

- 0.1.1

- 0.1.0

- 0.0.6

- 0.0.5

- 0.0.4

- 0.0.3

- 0.0.2:

- 0.0.1:

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [May 18, 2023, 2:30pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/3 "2023-05-18T14:30:22Z")

</div>

### Reserved

---

<div class="post-metadata">

**Author:** ![Yov](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/yov/32/33840_2.png) [@Yov](https://community.homey.app/u/Yov)\
**Post date:** [August 20, 2023, 6:56am UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/4 "2023-08-20T06:56:17Z")

</div>

@runely thank you for the good work on this app.  
I have used it before and was trying to use this again but everything i try to pull gets a (NULL) responce ? Link to the callender stil working fine.

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [August 20, 2023, 8:30am UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/5 "2023-08-20T08:30:03Z")

</div>

Where are you getting this NULL responses?

Please follow this [troubleshooting](https://community.homey.app/t/app-pro-icalcalendar/80708#troubleshooting-13)

---

<div class="post-metadata">

**Author:** ![Yov](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/yov/32/33840_2.png) [@Yov](https://community.homey.app/u/Yov)\
**Post date:** [August 20, 2023, 9:26am UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/6 "2023-08-20T09:26:38Z")

</div>

i use a E-paper screen to show my next callender item, i have NULL response on date hour and text. I made a small flow to just send some information to my phone when activated and i have the same issue. il try the troubleshooting.

---

<div class="post-metadata">

**Author:** ![Yov](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/yov/32/33840_2.png) [@Yov](https://community.homey.app/u/Yov)\
**Post date:** [August 20, 2023, 4:20pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/7 "2023-08-20T16:20:18Z")

</div>

Got the diagnostics report ; b4bec685-9353-4d25-8d9b-a0e94d0dbd80

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [August 20, 2023, 5:01pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/8 "2023-08-20T17:01:00Z")

</div>

It seems that an error have occured when creating the flow tokens when the app started last time.  
No flow tokens have been created and thus they will all be presented as NULL.

Could you please try to restart the app, wait 2 minutes and send a new diagnostics report?

---

<div class="post-metadata">

**Author:** ![Yov](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/yov/32/33840_2.png) [@Yov](https://community.homey.app/u/Yov)\
**Post date:** [August 20, 2023, 8:37pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/9 "2023-08-20T20:37:53Z")

</div>

cd0673b5-67b2-4886-87da-ce28eec9a5f5

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [August 20, 2023, 9:10pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/10 "2023-08-20T21:10:38Z")

</div>

I just noticed that your Homey is running an outdated firmware, 8.0.2. Latest stable firmware is 10.0.0.

IcalCalendar uses an SDK feature which was added to the SDK after 8.0.2

Update your Homey and things will work again

---

<div class="post-metadata">

**Author:** ![Yov](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/yov/32/33840_2.png) [@Yov](https://community.homey.app/u/Yov)\
**Post date:** [August 21, 2023, 5:40am UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/11 "2023-08-21T05:40:07Z")

</div>

Yeah i already wait some time before updating.

---

<div class="post-metadata">

**Author:** ![DoctorBazinga](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/doctorbazinga/32/39686_2.png) [@DoctorBazinga](https://community.homey.app/u/DoctorBazinga)\
**Post date:** [August 22, 2023, 8:05pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/12 "2023-08-22T20:05:46Z")

</div>

can’t get it working wityh my apple icloud calendar :

5dbd37fe-cc8f-4ef2-af64-3b559b583941

“Request failed with status code 503”

Please help ! Thank You.

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [August 22, 2023, 8:55pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/13 "2023-08-22T20:55:49Z")

</div>

**HTTP Status Code 503** means the server (Apple iCloud) is unavailable. Apple iCloud usually throws this error when there’s something wrong with the calendar url you are using.

Make sure the calendar is shared by opening Calendar app on your Mac, right click the calendar in your **iCloud** section and choose **sharing settings** (or something similar) and then make sure it’s marked as **Public calendar**.

Copy the url shown in the **URL** field, open your browser, paste in the URL but before hitting ENTER, replace `webcal://` with `https://`

If this url is working, use it in **IcalCalendar**. If it’s not working, i can’t help you. The calendar url needs to be publicly shared for **IcalCalendar** to be able to read it

---

<div class="post-metadata">

**Author:** ![DoctorBazinga](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/doctorbazinga/32/39686_2.png) [@DoctorBazinga](https://community.homey.app/u/DoctorBazinga)\
**Post date:** [August 23, 2023, 8:21am UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/14 "2023-08-23T08:21:18Z")

</div>

Hallo,

Thank you for the fast respond/answer.

Its strange because everything you mentioned I did through the iCloud website (/online environment). Does it matter which name of the calendar I give/specify ? Has it to be the same like in iCloud? Or its just a name ?

I will try again and maybe even give you some screenshots later.

Thanks 🙏🏻.

Red Iphonitis rigorosa : level 11

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [August 23, 2023, 10:43am UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/15 "2023-08-23T10:43:29Z")

</div>

The url has to be exactly the same, it’s case sensitive!

Try visiting the url (with https:// instead of webcal://) in your browser. If it works it will work in IcalCalendar. If it doesn’t work it’s no point in adding it in IcalCalendar

---

<div class="post-metadata">

**Author:** ![DoctorBazinga](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/doctorbazinga/32/39686_2.png) [@DoctorBazinga](https://community.homey.app/u/DoctorBazinga)\
**Post date:** [August 23, 2023, 12:05pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/16 "2023-08-23T12:05:55Z")

</div>

Hi,

I tested it again in the browser again.  
And the current calendar isn’t working but any new created calendar in iCloud is working.

So I called Apple support and after almost an hour I got the answer that depite the functionality/options for public sharing like for any new/other (created) calendar in iCloud, the first 2 standard apple/icloud calendars (“home” & “work”) are not available to be shared by a public link but only by personal invite (by email). 🤦🏻🤦🏻

(Maybe you could but a warning or a disclaimer in your app or forum app description. So “only new/non standard/default created/provided by apple iCloud calendars are working through the public link. “

Thanks 🙏🏻

Red Iphonitis rigorosa : level 11

---

<div class="post-metadata">

**Author:** ![DoctorBazinga](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/doctorbazinga/32/39686_2.png) [@DoctorBazinga](https://community.homey.app/u/DoctorBazinga)\
**Post date:** [August 23, 2023, 12:23pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/17 "2023-08-23T12:23:21Z")

</div>

I just tried to add/configure your app on my Homey Pro 2023 with this newly created / non-standard icloud named “Public Shared iCloud” ( “webcal://p135-caldav.icloud.com/published/2/MTA5MjQwMzg4NzEwOTI0MJu-6aI7gOwTww5k6fF-8EO01PoVUbEptxKBOduWSKQiUi9UxVnugf8KoLcUgXVQ2Ju77n21ALlB9I0984Xx3ZE” ) calendar and its still not working and giving me the same error code 503. But HTTPS in a web browser ( Microsoft Edge) is working. (downloads the icalender file).

feel free to test the above link yourself. There is only one (test/artificial)appointment in this new created for today in this (new) calendar.

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [August 23, 2023, 4:09pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/18 "2023-08-23T16:09:55Z")

</div>

> [@DoctorBazinga](#):
>
> So I called Apple support and after almost an hour I got the answer that depite the functionality/options for public sharing like for any new/other (created) calendar in iCloud, the first 2 standard apple/icloud calendars (“home” & “work”) are not available to be shared by a public link but only by personal invite (by email). 🤦🏻🤦🏻

That was new and good information! Thanks for letting me know! I’ll mention it in the README here, on GitHub and AppStore 👍

---

<div class="post-metadata">

**Author:** ![runely](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/runely/32/28153_2.png) [@runely](https://community.homey.app/u/runely)\
**Post date:** [August 23, 2023, 5:00pm UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/19 "2023-08-23T17:00:06Z")

</div>

> [@DoctorBazinga](#):
>
> webcal://p135-caldav.icloud.com/published/2/MTA5MjQwMzg4NzEwOTI0MJu-6aI7gOwTww5k6fF-8EO01PoVUbEptxKBOduWSKQiUi9UxVnugf8KoLcUgXVQ2Ju77n21ALlB9I0984Xx3ZE

This url is working fine when i test it on my Homey!  
It doesn’t import any events but thats because the only event in this calendar finished 22.08.23

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/8/e8a09ec16332f287f5a7c7052c99ebe75f82ff5f.png)

---

<div class="post-metadata">

**Author:** ![Razzle](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/razzle/32/10410_2.png) [@Razzle](https://community.homey.app/u/Razzle)\
**Post date:** [September 15, 2023, 9:15am UTC](https://community.homey.app/t/app-pro-icalcalendar/80708/20 "2023-09-15T09:15:17Z")

</div>

Hi all.  
I have tried several times and failed.  
Is some able to help step me through activating a flow from a tag in ical calendar.

I have a blind that auto opens each morning.  
On the days my wife has an RDO in her calendar i want to stop the blind opening.

Thanks.  
Darren

 ![1000005582](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/5/2550c0f13d010eb025b4cdebe2bf080616fdc694.jpeg)

[Next page](https://community.homey.app/t/app-pro-icalcalendar/80708.md?page=2)
