[RELEASE] gCalendar Driver - Display working Google Calendars on HE Dashboards

Are you able to paste the entire block (<iframe...) into that URL field? When I do it doesn't save and nothing changes

Could that be the changes to html injection introduced recently in the HE platform?

You can use the <iframe...> or not. The driver will strip it out for you.

1 Like

Thanks @bptworld! And thanks for this driver.. I've discovered (actually, more like been told about) several of the other drivers you've written and I'm trying to support them out of the box in my dashboard app.'

Any idea why the hub returns a 500 error when trying to set the URL to a customized calendar? I verified the URL works and nothing looks too crazy to me.. I pasted it below - just replaced the src= with REMOVED but that's it.

FWIW - I tried replacing & with &amp; and no changes

https://calendar.google.com/calendar/embed?height=600&wkst=1&bgcolor=%23ffffff&ctz=America%2FNew_York&showTitle=0&showNav=0&showDate=0&showPrint=0&showTabs=0&showCalendars=0&showTz=0&mode=AGENDA&src=REMOVED&color=%23711a76

image

I replaced your ' src=Removed' with the src= from my calendar (no other changes). Works fine. :man_shrugging:

Screenshot 2021-09-05 115042

I think I figured out why the 500 error.. nothing to do with the driver but instead a hardcoded 255 character limit for any "input text" field..

1 Like

looks like our replies crossed paths.. I do notice that my full URL is 285 characters.. I'm going to try to get it down below 255 and see if that fixes this

If that's the case, could try to use a bitly url?

Yep, sure enough.. I removed a few of the path params and once below 255 it worked fine.

side-note -- I don't know if that 255 limitation on the input "gCal", "text", can be removed or not.. But, it'd be really nice if Hubitat could just say "error: field > 255" instead of throwing the 500 error.. just reading all of the above posts mentioning 500 error and that alone could have saved many hours of frustration for some people! I'll mention @mike.maxwell (as he's the only Hubitat dev I can think of)


Yeah, that bit.ly URL shortener also sounds like it could work too..

I can put in a catch for that.

1 Like

New version...

1.0.2 - 09/05/21 - Added urlSize Attribute, added additional language for 255 character limit.

1 Like

Tried to updat the driver with 'Hubitat package Manager' but got this:

Error Occurred During Installation

An error occurred while installing the package: Failed to upgrade driver https://raw.githubusercontent.com/bptworld/Hubitat/master/Drivers/gCalendar/gc-driver.groovy.

I do think it's strange that the link from github ended with a '.'

Since it's the Manager of hubitat... does this make me a "Karen"? :stuck_out_tongue:

Not an issue with my HPM package. I just installed it just fine on one of my hubs. That '.' on the end is just something the error message is putting on, it's not part of the url.

I can't seem to get this working. I installed the driver from HPM, and am not getting any 400 or 500 error responses, but my bpt-gCal driver state is empty.

It seems like google is requiring a sign-in, even for public calendars. I test this by opening an incognito window and pasting the URL I'm using in the driver-- no matter how I change the sharing and customization options, it always prompts me to log in.

Any thoughts?

Setup instructions are in post #1. If the steps are followed in order, it will work. :wink:

If it's still asking for a password, then something it's something within your Google account. :man_shrugging:

Followed your instructions. Still not working. I guess it's my google account.

So you can view your calendar using the embed URL in an incognito window? I guess I need to go hunting around the Google settings.

fixed the limit for multi calendars

    input "gCal2", "text", title: "just extra src"
    input "gCalcol", "text", title: "colours"

theCal = "<div style='height:100%;width:100%'><iframe src='${gCal+gCal2+gCalcol}' style='height:100%;width:100%;border:none'></iframe></div>"

basically your first url is yours
https://calendar.google.com/calendar/embed?height=600&wkst=1&bgcolor=%23ffffff&ctz=Europe%2FLondon&mode=AGENDA&showTitle=0&showNav=0&showDate=0&showPrint=0&showTabs=0&showCalendars=0&showTz=0&src=THISISMAINCAL

then the 1st new field is the extra cal src's (src is the coded calendar link
&src=EXTRA1&src=EXTRA2&src=EXTRA3

then the 2nd new field is for colour coding
&color=%233F51B5&color=%23D50000&color=%23EF6C00&color=%23E67C73&color=%23F6BF26&color=%23D81B60&color=%23616161&color=%23AD1457&color=%23009688

2 Likes

Only problem is it worked fine on laptop. But get an error in fully kiosk browser
net::blocked_by_response

This is a great addition. I have it working on my Win10 desktop but not working within the Hubitat App (on iOS). Any thoughts to check?

Great job to all people involved in this driver!
Question: I am trying to create a task list in a HE dashboard that let's users usually flag when a task is done (start dishwasher, clean windows, etc).

Do you guys think this driver could help? My challenge is that the task (or a virtual switch emulating it) needs to remain in the dashboard until it is done, even if the day passes (imagine I don't water the plants today and tomorrow the task disappears because it is not a usual day for watering the plants...)

Does this driver also brings the Tasks feature of Google Calendar? If so, does the "mark as completed" flag serves anything?

Tks