runely / calendar-homey

Gives Homey flow cards to trigger on your calendar events
GNU General Public License v3.0
13 stars 9 forks source link

Feature: reading the URL part of a calendar item #420

Closed barto74 closed 1 year ago

barto74 commented 1 year ago

Is your feature request related to a problem? Please describe. I want Homey to be able to take action based on the URL for an online meeting in a calendar item. For example: using the Homey Desktop Device App to automatically open the URL of the meeting when it starts. I can access the title and description and location of the event, but apparently this value is saved somewhere else, as the flow does work when the URL is in the location field, but not when its converted to a video meeting link.

Describe the solution you'd like I'd love to have an extra local tag in Homey while using a calendar trigger, containing the URL.

Describe alternatives you've considered Ofcourse I can put the URL in the description or location, but in that case this won't work when I'm invited by others.

Additional context I'm using Calendar on MacOS. When I add an URL to an event in the location field, it converts it to a meeting link. Below is the contents of a video meeting .ics file.

Ofcourse I'm more than happy to help testing/debugging/etc

BEGIN:VCALENDAR
CALSCALE:GREGORIAN
PRODID:-//Apple Inc.//macOS 13.1//EN
VERSION:2.0
X-CALENDARSERVER-ACCESS:PUBLIC
BEGIN:VTIMEZONE
TZID:Europe/Vienna
BEGIN:DAYLIGHT
DTSTART:19810329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20230208T092335Z
DESCRIPTION:----( Videogesprek )----\nhttp://meet.google.com/ife-hzfr-od
 u\n---===---
DTEND;TZID=Europe/Vienna:20230208T104500
DTSTAMP:20230208T093343Z
DTSTART;TZID=Europe/Vienna:20230208T102800
LAST-MODIFIED:20230208T092703Z
SEQUENCE:3
STATUS:CONFIRMED
SUMMARY:Test
TRANSP:OPAQUE
UID:A72956C2-189B-4125-9D30-1057E06FEF57
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:This is an event reminder
TRIGGER:-PT10M
UID:3366897D-0F44-4C31-BDE2-4F3C9D7D3C83
X-WR-ALARMUID:3366897D-0F44-4C31-BDE2-4F3C9D7D3C83
END:VALARM
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Herinnering
TRIGGER:-PT30M
UID:F0A0168B-D0B5-49A3-96BD-6C4DDFC64E4C
X-APPLE-DEFAULT-ALARM:TRUE
X-WR-ALARMUID:F0A0168B-D0B5-49A3-96BD-6C4DDFC64E4C
END:VALARM
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:This is an event reminder
TRIGGER:-PT30M
UID:B21F48C2-DADF-428B-88A0-57EBEFDFD024
X-WR-ALARMUID:B21F48C2-DADF-428B-88A0-57EBEFDFD024
END:VALARM
END:VEVENT
END:VCALENDAR
barto74 commented 1 year ago

I didn't see anything happening from my events, but it turns out, that is because the URL is saved in the file with a character sequence around it (as I can also recognize in the description above). I don't know if this character sequence is something apple or a proper standard. I guess it is either a matter of this calendar app getting the URL from this sequence and putting it into a new tag or otherwise have Homey manipulate the string to get the URL from the description.

runely commented 1 year ago

Hi there. It seems that not all audio/video meeting appointments has a url available in the .ics file. But i can check if it’s doable to extract the url from the description field for the most common meeting vendors and make it available in a MeetingUrl tag.

runely commented 1 year ago

A Meeting URL tag has been added to all triggers (except Event changed and Synchronization error occurred) in a test version released. Could you install this test version, test it and let me know how it turns out? https://homey.app/no-no/app/no.runely.calendar/IcalCalendar/test/

barto74 commented 1 year ago

@runely this worked perfectly with Google meet. With a Zoom link it seems the value for Meeting URL is empty. The calendar item contains this:

DESCRIPTION:----( Videogesprek )----\nhttps://us06web.zoom.us/j/5503130391?pwd=clhJVktrOXxSEdraEIwUT09\n---===---

Thanks for taking this up so fast!

runely commented 1 year ago

New test version released which find meeting urls from the generic meeting url pattern. Can you please test it out and let me know? 👍

https://homey.app/no-no/app/no.runely.calendar/IcalCalendar/test/

barto74 commented 1 year ago

with this version I still don't see the url from a zoom-event :( it now says v1.13.1 experimental, did I get your latest build?

runely commented 1 year ago

Hi. Sorry about that. It should work in the latest test release, 1.13.2: https://homey.app/no-no/app/no.runely.calendar/IcalCalendar/test/

barto74 commented 1 year ago

Yes its working!

runely commented 1 year ago

The release is currently under review by Athom. I'll cose this when the release has been approved

runely commented 1 year ago

Release has been approved and can be installed from App Store