Skip to content

Gives Homey flow cards to trigger on your calendar events

License

Notifications You must be signed in to change notification settings

liams239/calendar-homey

 
 

Repository files navigation

IcalCalendar

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

Setup

  • Open settings (configure app) and paste in the ical link

Find Exchange Online ical link

  1. Go to https://outlook.office.com/mail/inbox
  2. Click settings -> Show all outlook setting
  3. Go to Calendar -> Shared calenders
  4. Publish a calendar, click the ics link and choose copy
  5. Paste the ical link in settings of Homey app

Find Gmail ical url

  1. Go to https://calendar.google.com/
  2. Click the three dots next to the calendar you want to share -> Click Settings and sharing
  3. Scroll all the way down to the bottom
  4. Copy the link from Secret address in ical format
  5. Paste the ical link in settings of Homey app

Find Apple iCloud url

  1. Go to https://www.icloud.com/calendar/, or open the Calendar app on your iOS device
  2. Click on the icon next to the calendar name in the left pane
  3. Tick the checkbox for Public calendar
  4. Copy the link
  5. Paste the calendar link in the Homey app settings
    • It must be the original link (Apple Calendar has case sensitive urls)

Usage

Sync

  • Events are fetched automatically every 15 minutes

  • The Sync calendars action flow card can also be used to trigger a sync

  • Only events not started yet or events started but not finished will be fetched

  • Recurring events where start date is within 2 months or less will be fetched

Triggers

  • Event starts - will trigger when any event starts
  • Event starts in - will trigger when any event starts in when specified
  • Event stops - will trigger when any event stops

Conditions

  • Event is ongoing - will check if specified event is|isn't ongoing
  • Event starts within - will check if specified event starts|doesn't start within when specified
  • Event stops within - will check if specified event stops|doesn't stop 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 stops within - will check if any event stops|doesn't stop within when specified

Actions

  • Sync calendars - will download new .ics files to update current events

Flow tokens on triggers

  • Event title
  • Event description
  • Event location
  • Event duration
  • Event duration (mintes)
  • Calendar name

Global flow tokens (can be used in any app and service)

  • Next event title
  • Next event start date
  • Next event start time
  • Next event stop date
  • Next event stop time
  • Next event duration
  • Next event duration (minutes)
  • Next event starts in (minutes)
  • Next event stops in (minutes)
  • Calendar name of next event
  • Todays events, title and time
  • Todays events (count)
  • Tomorrows events, title and time
  • Tomorrows events (count)
  • Todays events (per calendar)
  • Tomorrows events (per calendar)

Recurring events

Be aware of multiple/duplicate "recurring" events:

  • On a recurring event, where one or more participants have declined, that specific event is detached from the recurring event and created as a separate non-recurring event. This can result in two similar events, both have the same name and date.

Known bugs

  • Searching events in condition card, returns no events when search query has a space followed with a character (Example: 'Test f')

Changelog

  • 0.2.0
    • Fixed German typo's
    • Fixed Dutch typo's
    • Bugfix: Hopefully fixed an app crash "Cannot read property 'uris' of undefined"
    • Flow card 'Event starts in' changed to enter minutes in free text (number)
    • Flow card 'Any event starts within' changed to enter minutes in free text (number)
    • Flow card 'Any event stops within' changed to enter minutes in free text (number)
    • Flow card 'Event starts within' changed to enter minutes in free text (number)
    • Flow card 'Event stops within' changed to enter minutes in free text (number)
    • Global token 'Next event start time' split up to 'Next event start date' and 'Next event start time'
    • Global token 'Next event stop time' split up to 'Next event stop date' and 'Next event stop time'
    • 'Next event start date' and 'Next event stop date' made more Google TTS friendly
  • 0.1.4
  • 0.1.3
    • 'Remove button' in Settings now follows language
    • Bugfix: Apple calendar failed to load because Apple calendar is case sensative on its url... -> Issue #61
      • To fix this in your app, replace the url in Settings page and save
    • Dutch translation. Thanks to @RobHomey -> Issue #62
    • Dutch translation typo fixes
  • 0.1.2
    • 'Remove button' in Settings now follows language
    • Bugfix: Apple calendar failed to load because Apple calendar is case sensative on its url... -> Issue #61
      • To fix this in your app, replace the url in Settings page and save
    • Dutch translation. Thanks to @RobHomey -> Issue #62
  • 0.1.1
    • Bugfix: Typo in the Norwegian locale
    • Added more choices (timespan) for triggers and conditions
    • Added possibility to remove calendars from settings
    • Added global flow tokens for tomorrows events -> Issue #36
    • Todays events and Tomorrows events are now sorted by start time -> Issue #51
    • Todays and tomorrows events pr calendar -> Issue #44
    • Todays and tomorrows events tokens no longer include 'Todays events' and 'Tomorrows events' in the token value
  • 0.1.0
    • Added support for Mailfence (DTSTART;VALUE=DATE-TIME / DTEND;VALUE=DATE-TIME)
    • Added support for recurring events :D
    • Bugfix: Todays events did not show events with stop date greater than start date
    • Bugfix: Global tokens were not proparly set as empty before calendars were set
    • Bugfix: Flow tokens/triggers were evaluated even before any events existed
    • Condition event chooser rewritten
    • Event list sorted by start date
    • New icon
  • 0.0.6
    • Added global flow tokens for next event and todays events -> Part of issue Issue #7
    • Added token 'Calendar name' to 'Event starts' and 'Event stops' triggers
    • Added trigger 'Event starts in' -> Issue #7
  • 0.0.5
    • Added support for norwegian language -> Issue #6
    • Added action for Sync calendar -> Issue #3
    • Added duration tokens to trigger 'Event starts' -> Issue #16
    • Added trigger 'Event stops' -> Issue #4
    • Added conditions 'Any event stops in...' and 'Event stops in...' -> Issue #4
    • Added support for multiple calendars -> Issue #17
    • Bugfix: "When Homey looses internet and tries to sync calendars, app crashes..." -> Issue #20
  • 0.0.4
    • Changelog moved out of readme...
  • 0.0.3
    • Events in condition card is now presented with a date (and time if present) -> Issue #2
    • Alert when settings saved -> Issue #9
    • Show message in settings if uri fails to load
    • Importing only active events. This is a significantly performance improvement! -> Issue #1
    • Event list in condition card shows if the event is recurring and/or full day
  • 0.0.2:
    • Bugfix: "triggerEvents" failed when events were not imported yet
    • Bugfix: Tokens are validated before set (replacing '\n' or '\r' or null with '')
    • Added trigger for any events started
    • Bugfix: "Event is ongoing" validated to true when a started event was missing a stop time
    • Updated README.txt with info from README.md (and make it look good)
    • Updated app.json/Description with a really well said sentence of what this app can do
    • Changed brandColor
  • 0.0.1:
    • Initial version

About

Gives Homey flow cards to trigger on your calendar events

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 84.5%
  • HTML 15.5%