Jump to content
C4 Forums | Control4

Google Calendar Integration (View Events on Navs, Program Event Alerts & Event Variables)


Recommended Posts

Our latest driver brings Google Calendar integration to Control4!

You can view any of your calendars right from your Control4 navigator (iOS, Android, T3, OSDs) and view the events for them!

Google-Calendar-Week-Ahead-Example.jpeg

You can view events for the week ahead and the events you have today. Your days events are updated every night at midnight and your week ahead is updated every hour on the dot.

The driver also provides variables for your next event and number of events today/in the week ahead which you can use in programming.

You can also use driver properties to setup notifications with C4! Simply enter how many minutes before an event you want the "Event Notification" action to be fired and then use Control4 programming to do anything you want! You can use the NOTIFIED_EVENT_ variables to program based of the title, description, location and time of the event.

All Features

  • Variables:
    • Number of events today
    • Number of All-Day events today
    • Number of events in next 7 days
    • Next Event details
    • Notified Event details
    • First All-Day event details (for today)
  • Notification system – have a Composer action fired X minutes before each event and program based on the “Notified Event” variables.
  • View your day’s events on any Control4 navigator
  • View all upcoming events for the next week on any Control4 navigator
  • Multiple driver instance support
  • Access any calendar associated to a Google account
  • Check for upcoming events at the start of every hour automatically
  • Check for the day’s events every day at midnight automatically

Use Cases

  • Announce all events 1 hour before they occur
  • Send email/push notification out with number of events due today
  • Announce number of events today and in the upcoming week along with your first event of the day
  • Program Control4 commands based on event description, title and location

Driver Download

You can download the driver from BlackWire Designs now! It makes use of BlackWire's Driver Manager so once you've set it up you will get automatic updates!

https://www.blackwiredesigns.com/store/control4-google-calendar/

Link to comment
Share on other sites


11 hours ago, Shivam Paw said:

It's something I could look into if the interest is around :)

Yeah i think then you would have a really cool complete driver profile. Also remember a lot of users have work outlook and Office 365 is the biggest office platform on the platform. You would have a bigger user base this way.

 

i am happy to beta test for you if you would like

Link to comment
Share on other sites

Hmmm...I’d love to combine a few of these for the following use case...maybe @Shivam Paw can confirm?

 

On button press in the morning, hear the current temp, forecasted high, chance of precipitation, and the time my first meeting starts and last meeting ends. It would go something like this:

 

Good morning! Today is %DAY_OF_WEEK%, %CURRENT_DATE%. The high will be %HIGH_TEMP% and the chance of precipitation is %PRECIP_CHANCE%. Your first meeting starts at %FIRST_MEETING_START_TIME% and your last meeting ends at %LAST_MEETING_END_TIME%. 

 

Can I string this with the text to speech and dark sky weather to accomplish this? It would require access to my outlook calendar, but if that isn’t feasible I could probably figure out how to sync my outlook calendar to google calendar. 

Link to comment
Share on other sites

1 hour ago, ILoveC4 said:

Hmmm...I’d love to combine a few of these for the following use case...maybe @Shivam Paw can confirm?

 

On button press in the morning, hear the current temp, forecasted high, chance of precipitation, and the time my first meeting starts and last meeting ends. It would go something like this:

 

Good morning! Today is %DAY_OF_WEEK%, %CURRENT_DATE%. The high will be %HIGH_TEMP% and the chance of precipitation is %PRECIP_CHANCE%. Your first meeting starts at %FIRST_MEETING_START_TIME% and your last meeting ends at %LAST_MEETING_END_TIME%. 

 

Can I string this with the text to speech and dark sky weather to accomplish this? It would require access to my outlook calendar, but if that isn’t feasible I could probably figure out how to sync my outlook calendar to google calendar. 

Everything you've listed is possible, except for the last meeting end time.

For the date of week and current date just use %date% in the text.

Link to comment
Share on other sites

Just now, Shivam Paw said:

Everything you've listed is possible, except for the last meeting end time.

For the date of week and current date just use %date% in the text.

Okay - last bridge to cross is the support for additional calendars. Is that something that you think you'll be doing?

Link to comment
Share on other sites

20 hours ago, ILoveC4 said:

....

Good morning! Today is %DAY_OF_WEEK%, %CURRENT_DATE%. The high will be %HIGH_TEMP% and the chance of precipitation is %PRECIP_CHANCE%. Your first meeting starts at %FIRST_MEETING_START_TIME% and your last meeting ends at %LAST_MEETING_END_TIME%. 

.....

Okay - last bridge to cross is the support for additional calendars. Is that something that you think you'll be doing?

 

20 hours ago, Shivam Paw said:

We don't pre-announce drivers 😂

but it's being looked into.

This could be really intriguing.  Even if it's not multiple calendars, a way to code (Categorize in Calendar talk) events could unleash some really cool things.

It would work something like this:  When the alarm is disarmed in the morning (indicating that someone is awake and getting ready), announce the weather forecast, announce the first meeting, and then have an optional "remember" phrase based on category if there's an event for the day of certain category types.

Here's an example:

Good morning! Today is %DAY_OF_WEEK%, %CURRENT_DATE%. The high will be %HIGH_TEMP% and the chance of precipitation is %PRECIP_CHANCE%. Your first meeting starts at %FIRST_MEETING_START_TIME% and your last meeting ends at %LAST_MEETING_END_TIME%. 

and

IF DAY HAS APPOINTMENT OF TYPE = KIDS, APPEND "and remember, the kids have %FIRST_KIDS_MEETING_START_TITLE% at %FIRST_KIDS_MEETING_START_TIME%"

IF DAY HAS APPOINTMENT OF TYPE = FAMILY,  APPEND "and remember, the we have %FIRST_FAMILY_MEETING_START_TITLE% at %FIRST_FAMILY_MEETING_START_TIME%"

IF DAY HAS APPOINTMENT OF TYPE = LITTLEJOHNNY,  APPEND "and remember, Johnny has %FIRST_LITTLEJOHHNY_MEETING_START_TITLE% at %FIRST_LITTLEJOHNNY_MEETING_START_TIME%"

IF DAY HAS APPOINTMENT OF TYPE = LITTLEJANE,  APPEND "and remember, Jane has %FIRST_LITTLEJANE_MEETING_START_TITLE% at %FIRST_LITTLEJANE_MEETING_START_TIME%"

 

 

This would allow for things like

  • "and remember, we have a family picnic at 7pm"
  • "and remember, the kids have swimming lessons at 6pm"
  • "and remember, Johnny has a baseball game at 5:30pm at ABC Field"
  • "and remember, Jane has a dance recital at 4pm".

 

Some really cool scenarios that could be done here...

 

The corresponding calendar would look something like this:

image.thumb.png.b66d7896751229e4938705114bda2536.png

Link to comment
Share on other sites

15 minutes ago, dw886 said:

 

This could be really intriguing.  Even if it's not multiple calendars, a way to code (Categorize in Calendar talk) events could unleash some really cool things.

It would work something like this:  When the alarm is disarmed in the morning (indicating that someone is awake and getting ready), announce the weather forecast, announce the first meeting, and then have an optional "remember" phrase based on category if there's an event for the day of certain category types.

Here's an example:

Good morning! Today is %DAY_OF_WEEK%, %CURRENT_DATE%. The high will be %HIGH_TEMP% and the chance of precipitation is %PRECIP_CHANCE%. Your first meeting starts at %FIRST_MEETING_START_TIME% and your last meeting ends at %LAST_MEETING_END_TIME%. 

and

IF DAY HAS APPOINTMENT OF TYPE = KIDS, APPEND "and remember, the kids have %FIRST_KIDS_MEETING_START_TITLE% at %FIRST_KIDS_MEETING_START_TIME%"

IF DAY HAS APPOINTMENT OF TYPE = FAMILY,  APPEND "and remember, the we have %FIRST_FAMILY_MEETING_START_TITLE% at %FIRST_FAMILY_MEETING_START_TIME%"

IF DAY HAS APPOINTMENT OF TYPE = LITTLEJOHNNY,  APPEND "and remember, Johnny has %FIRST_LITTLEJOHHNY_MEETING_START_TITLE% at %FIRST_LITTLEJOHNNY_MEETING_START_TIME%"

IF DAY HAS APPOINTMENT OF TYPE = LITTLEJANE,  APPEND "and remember, Jane has %FIRST_LITTLEJANE_MEETING_START_TITLE% at %FIRST_LITTLEJANE_MEETING_START_TIME%"

 

 

This would allow for things like

  • "and remember, we have a family picnic at 7pm"
  • "and remember, the kids have swimming lessons at 6pm"
  • "and remember, Johnny has a baseball game at 5:30pm at ABC Field"
  • "and remember, Jane has a dance recital at 4pm".

 

Some really cool scenarios that could be done here...

 

The corresponding calendar would look something like this:

image.thumb.png.b66d7896751229e4938705114bda2536.png

EXACTLY! I do a lot of things in this vein for time tracking and what not leveraging the Exchange API, and I know that it passes the category so this could easily be done assuming Exchange integration was made. The category detail is included in the payload.

@Shivam Paw - I'd be happy to help solution and test this if you'd like.

Link to comment
Share on other sites

Not gonna lie im a bit lost!

You should already be able to select different Calendars associated to the Google account and then you would be able to program what you said using multiple instances of the driver to show different calendars.

For example, have one calendar showing your events, one calendar showing kids events. When alarm disarmed, if number of events today for your events is more than 0, announce it etc.

As for Outlook support. I am looking into it but i'm not promising anything yet.

Link to comment
Share on other sites

8 minutes ago, Shivam Paw said:

Not gonna lie im a bit lost!

You should already be able to select different Calendars associated to the Google account and then you would be able to program what you said using multiple instances of the driver to show different calendars.

For example, have one calendar showing your events, one calendar showing kids events. When alarm disarmed, if number of events today for your events is more than 0, announce it etc.

As for Outlook support. I am looking into it but i'm not promising anything yet.

I think it boils down to wanting to use calendars and details that aren't in a Google Calendar, and being able to program against logic contained in the detail of the calendar event.

Link to comment
Share on other sites

Just now, ILoveC4 said:

I think it boils down to wanting to use calendars and details that aren't in a Google Calendar, and being able to program against logic contained in the detail of the calendar event.

Yeah I get wanting different calendar services. But let’s say all your calendars were on a Google, them what you want programming wise is already possible isn’t it?

Question for outlook users. Are you using a personal account or an organisation account for your calendars?

Link to comment
Share on other sites

1 minute ago, Shivam Paw said:

Yeah I get wanting different calendar services. But let’s say all your calendars were on a Google, them what you want programming wise is already possible isn’t it?

Question for outlook users. Are you using a personal account or an organisation account for your calendars?

I don't know, because my Google Calendar isn't used in a capacity that is helpful for me in a meaningful way so I haven't hooked it up.

As it relates to Outlook, I use it with my organizations Exchange Server. For me, you would need Microsoft Exchange Server support.

Link to comment
Share on other sites

36 minutes ago, Shivam Paw said:

Question for outlook users. Are you using a personal account or an organisation account for your calendars?

I use both:

  • Outlook.com personal account for family / personal stuff
  • Office 365 (also accessible by Outlook.com, but you use the credentials for the work account when logging in) for Work stuff

For what it's worth, both Outlook.com Personal and Outlook.com Work are running on Exchange.  So I'd think that if you got one, you'd get the other, unless it's an Exchange on-prem install, in which case you'd have to be able to enter the Outlook Web Access URL.  Either way, I'd do a backflip for just the Outlook.com integration, because that's where the family stuff resides.  Getting the appointment Categories would open many doors.

 

As for the calendar that I had grabbed a screenshot of, it's showing a single calendar.  The different colors are from the "Category" on the appointment.  Each color is a different Category.  Categories are user-defined labels to group like events.  Here's the "Baseball Game" example that I created when I made my post, and you can see that it has a "Category" of "LittleJohnny" like I had in my example:

image.png.663b9d790d1e101bab9bba43b2120dbc.png

Link to comment
Share on other sites

The thing with Outlook calendars is that microsoft have so many different accounts and it's a complete and utter mess! Which is then made harder with how their "device code" oauth flow only supports organisation accounts.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.