Today's Events Widget

I had a request for how I am displaying my calendar events so I thought I would create a topic and share.

Using the script that I found here:

and adding a couple of extra items:

Switch Calendar_Refresh (gCal)  {autoupdate="false"} // toggle button that will execute the calendar script
DateTime todaysDate // string that holds todays date because I couldn't figure out a good way to do it in the widget

and rules:

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
rule "Calendar Update"
when
		Item Calendar_Refresh received command or
     Time cron "0 0 * * * ?" or
     System started
then
	logInfo("OutsideRules", "Refreshing Calendar")
	executeCommandLine("/etc/openhab2/scripts/calsynchab.sh")	
end




//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
rule "Update Date"
when
        Time cron "0 1 0 * * ?" or
        System started
then
	logInfo("OutsideRules", "Updated Current Date")
	todaysDate.postUpdate(new DateTimeType())	
end

Also there is an icon that I put in ‘/etc/openhab2/html/images’ called refresh.svg but this site won’t let me post it, so you can download it or something like it from www.flaticon.com.

I then wrote up a widget that will display the next 5 events for today:

TodaysEvents.widget.json (2.6 KB)

Edit: I re-uploaded the JSON, now with ng-repeat.

Edit2: I forgot the script I use to launch from openhab:

Edit2: forgot about the shell script that I use to launch the python script:

this is saved at ‘/etc/openhab2/scripts/calsynchab.sh’:

#!/bin/sh
/usr/bin/python /etc/openhab2/scripts/CalSyncHAB/CalSyncHAB.py
3 Likes

Im getting this.

Is something off with the first statement? Maybe the String value for the date?

<tr ng-if="(itemValue('Calendar_Google_Home_Event1_StartTime') | date:'yyyyMMdd') != (itemValue('todaysDate') | date:'yyyyMMdd')">

2017-02-11 09:15:54.951 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event1_StartTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:54.991 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event1_EndTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:55.165 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event2_StartTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:55.212 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event2_EndTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:55.368 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event3_StartTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:55.409 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event3_EndTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:55.568 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event4_StartTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:55.606 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event4_EndTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:55.765 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event5_StartTime’ with an invalid status value ‘UNDEF’.
2017-02-11 09:15:55.787 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at ‘items/Calendar_Google_Home_Event5_EndTime’ with an invalid status value ‘UNDEF’.

Here is the rest of the code if its something else.

{
    "settings": [],
    "template": "<style>\n  .event-time {\n  font-size: 16pt;\n  }\n\n  .event-name {\n  font-size:25pt;\n  }\n\n  .event-details {\n  font-size: 14pt;\n  }\n\n  .event-location {\n  font-size: 14pt;\n  }\n\n  .day-header {\n  font-size: 14pt;\n  height:5%;\n  }\n  \n  .event-row {\n  height:19%;\n  vertical-align:top;\n  }\n  \n  hr {margin:1px;}\n</style>\n<div>\n<table width=\"100%\" height=\"100%\" border=0 style=\"position:absolute;left:0;top:0\" >\n  <tr><td align=\"left\"><span class=\"day-header\">Today</span><hr/></td></tr>\n  <tr ng-if=\"(itemValue('Calendar_Google_Home_Event1_StartTime') | date:'yyyyMMdd') != (itemValue('todaysDate') | date:'yyyyMMdd')\"> <td> <table width=\"100%\" border=0 > <tr> <td align=\"center\"> \n    <span class=\"event-name\">&nbsp;No Events Today</span>\n    </td> </tr></table></td>  </tr>\n  \n  <tr class=\"event-row\"> <td  ng-if=\"(itemValue('Calendar_Google_Home_Event1_StartTime') | date:'yyyyMMdd') === (itemValue('todaysDate') | date:'yyyyMMdd')\"> <table width=\"100%\" border=0 > <tr> <td width=\"20%\">\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event1_StartTime') | date:'h:mm a') === '12:00 AM'\" class=\"event-time\"></span>\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event1_StartTime') | date:'h:mm a') != '12:00 AM'\" class=\"event-time\">{{itemValue('Calendar_Google_Home_Event1_StartTime') | date:'h:mm a'}}</span></td>  <td align=\"left\" colspan=2> \n    <span class=\"event-name\">&nbsp;{{itemValue('Calendar_Google_Home_Event1_Summary')}}</span></td> </tr> <tr> <td align=\"center\" colspan=2 width=\"50%\">          \n    <span class=\"event-details\">{{itemValue('Calendar_Google_Home_Event1_Description')}}</span></td> <td>\n    <span class=\"event-location\">{{itemValue('Calendar_Google_Home_Event1_Location')}}</span></td> </tr></table></td></tr>\n  <tr class=\"event-row\"> <td  ng-if=\"(itemValue('Calendar_Google_Home_Event2_StartTime') | date:'yyyyMMdd') === (itemValue('todaysDate') | date:'yyyyMMdd')\"> <table width=\"100%\" border=0 > <tr> <td width=\"20%\">\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event2_StartTime') | date:'h:mm a') === '12:00 AM'\" class=\"event-time\"></span>\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event2_StartTime') | date:'h:mm a') != '12:00 AM'\" class=\"event-time\">{{itemValue('Calendar_Google_Home_Event2_StartTime') | date:'h:mm a'}}</span> </td>  <td align=\"left\" colspan=2> \n    <span class=\"event-name\">&nbsp;{{itemValue('Calendar_Google_Home_Event2_Summary')}}</span></td> </tr> <tr> <td align=\"center\" colspan=2 width=\"50%\">          \n    <span class=\"event-details\">{{itemValue('Calendar_Google_Home_Event2_Description')}}</span></td> <td>\n    <span class=\"event-location\">{{itemValue('Calendar_Google_Home_Event2_Location')}}</span> </td> </tr></table></td>  </tr>\n  <tr class=\"event-row\"> <td  ng-if=\"(itemValue('Calendar_Google_Home_Event3_StartTime') | date:'yyyyMMdd') === (itemValue('todaysDate') | date:'yyyyMMdd')\"> <table width=\"100%\" border=0 > <tr> <td width=\"20%\">\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event3_StartTime') | date:'h:mm a') === '12:00 AM'\" class=\"event-time\"></span>\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event3_StartTime') | date:'h:mm a') != '12:00 AM'\" class=\"event-time\">{{itemValue('Calendar_Google_Home_Event3_StartTime') | date:'h:mm a'}}</span> </td>  <td align=\"left\" colspan=2> \n    <span class=\"event-name\">&nbsp;{{itemValue('Calendar_Google_Home_Event3_Summary')}}</span> </td> </tr> <tr> <td align=\"center\" colspan=2 width=\"50%\">          \n    <span class=\"event-details\">{{itemValue('Calendar_Google_Home_Event3_Description')}}</span></td> <td>\n    <span class=\"event-location\">{{itemValue('Calendar_Google_Home_Event3_Location')}}</span></td> </tr></table></td>  </tr>\n  <tr class=\"event-row\"> <td  ng-if=\"(itemValue('Calendar_Google_Home_Event4_StartTime') | date:'yyyyMMdd') === (itemValue('todaysDate') | date:'yyyyMMdd')\"> <table width=\"100%\" border=0 > <tr> <td width=\"20%\">\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event4_StartTime') | date:'h:mm a') === '12:00 AM'\" class=\"event-time\"></span>\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event4_StartTime') | date:'h:mm a') != '12:00 AM'\" class=\"event-time\">{{itemValue('Calendar_Google_Home_Event4_StartTime') | date:'h:mm a'}}</span></td>  <td align=\"left\" colspan=2> \n    <span class=\"event-name\">&nbsp;{{itemValue('Calendar_Google_Home_Event4_Summary')}}</span></td> </tr> <tr> <td align=\"center\" colspan=2 width=\"50%\">          \n    <span class=\"event-details\">{{itemValue('Calendar_Google_Home_Event4_Description')}}</span></td> <td>\n    <span class=\"event-location\">{{itemValue('Calendar_Google_Home_Event4_Location')}}</span> </td> </tr></table></td>  </tr>\n  <tr class=\"event-row\"> <td  ng-if=\"(itemValue('Calendar_Google_Home_Event5_StartTime') | date:'yyyyMMdd') === (itemValue('todaysDate') | date:'yyyyMMdd')\"> <table width=\"100%\" border=0 > <tr> <td width=\"20%\">\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event5_StartTime') | date:'h:mm a') === '12:00 AM'\" class=\"event-time\"></span>\n    <span ng-if=\"(itemValue('Calendar_Google_Home_Event5_StartTime') | date:'h:mm a') != '12:00 AM'\" class=\"event-time\">{{itemValue('Calendar_Google_Home_Event5_StartTime') | date:'h:mm a'}}</span></td>  <td align=\"left\" colspan=2> \n    <span class=\"event-name\">&nbsp;{{itemValue('Calendar_Google_Home_Event5_Summary')}}</span> </td> </tr> <tr> <td align=\"center\" colspan=2 width=\"50%\">          \n    <span class=\"event-details\">{{itemValue('Calendar_Google_Home_Event5_Description')}}</span></td> <td>\n    <span class=\"event-location\">{{itemValue('Calendar_Google_Home_Event5_Location')}}</span></td> </tr></table></td>  </tr>\n  <tr height=\"5%\">\n    <td align=\"right\">\n      <a ng-click=\"sendCmd('Calendar_Refresh', 'ON')\"> \n        <img class=\"icon-tile ng-scope colorize colorize\" src=\"/static/images/refresh.svg\" style=\"width: 30px\" />\n      </a>\n    </td>\n  </tr>\n</table>\n\n</div>",
    "name": "Today's Events",
    "author": "Mike Bagdanoff",
    "description": "Simple widget to display today's events"
}

Those errors are from the Python script, not the widget code, I’ve seen that happen when it isn’t getting data from Google. I did figure out how to use ng-repeat so I’ll probably update the JSON in the next few days.

If I remove the first if statement if works.

Is this the same code you are using?

All of my items are populated correctly in the events log as well.

What are the values of the _StartTime and today’s date items? You can use the REST API to check them, with those errors in assuming that _StartTime is not set because there is something wrong with the Python connection.

The only thing the displays for me is Null at first and then No events today.

I’ll need to post my Python script later tonight. I just remembered that I did modify it to give me local times in my events, which is probably your issue.

I think there is an error in the date handling in the CalSyncHAB script, I’ll report it to @davorf once I figure it out. I undid my changes to the CalSyncHAB script and it stopped returning values for today.

It must have something to do with the minimum time & timezone as that is the main thing that I changed. I wanted all events for today, not just for the future so I replaced the CurrentTime declaration on line 32 with:

    CurrentTime = datetime.datetime.utcnow() - datetime.timedelta(hours=8)
    CurrentTime = CurrentTime.replace(hour=7, minute=59, second=0, microsecond=0).isoformat() + S.CalendarTimeZone

I’m on the west coast of the USA so my UTC offset is -8. this outputs a time of 11:59am yesterday in UTC format (‘2017-02-11T07:59:00-08:00’) for today. When this gets sent to google, it gives me all of todays events.

1 Like

Im GMT -5 I also get all of Today’s Events in Events.log file they just don’t load into the widget. My coding is very bad but are you comparing strings to datetime?

good catch, I created the todaysDate in PaperUI and when I wrote the initial posting I mistakenly wrote it as a String, I’ve updated post #1 and changed it to DateTime todaysDate. Change that and it should work for you, you might want to import the new JSON as well as it is a lot less verbose with ng-repeat.

I still cannot pull in my dates when comparing the Datetime types. What do your items look like?

Switch Calendar_Refresh (gCal) {autoupdate=“false”}
DateTime todaysDate

String Calendar_Google_Home_Event1_Summary
String Calendar_Google_Home_Event1_Location
String Calendar_Google_Home_Event1_Description
DateTime Calendar_Google_Home_Event1_StartTime
DateTime Calendar_Google_Home_Event1_EndTime

Everything displays nicely when I remove the If statements that compare datetime

That is exactly how mine are defined. Can you use the rest API or check in the Karaf console to see what the values are for todaysDate and Calendar_Google_Home_Event1_Summary?

The karaff console shows the correct event data. Like I mentioned it all
displays properly with out the NGif statements. I can’t imagine how it’s
not related to the date.

I can’t help if you won’t show the data for debugging

Thanks a bunch, Im not sure if I did this right. Is this what you were looking for?

        at org.openhab.binding.myq.internal.MyqData.request(MyqData.java:220)[214:org.openhab.binding.myq:1.9.0.201606181705]
        ... 13 more
                                                             14:28:41.573 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Summary' received command
14:28:41.581 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_Summary changed from test to
14:28:41.595 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Summary' received command Gabby and Juliana Dance
14:28:41.610 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_Summary changed from  to Gabby and Juliana Dance
14:28:41.642 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Location' received command
14:28:41.673 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Location' received command The Talent Factory, 6171 Post Rd, North Kingstown, RI 02852, USA
14:28:41.689 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_Location changed from  to The Talent Factory, 6171 Post Rd, North Kingstown, RI 02852, USA
14:28:41.720 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Description' received command
14:28:41.751 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Description' received command
14:28:41.800 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event1_StartTime' with an invalid status value 'UNDEF'.
14:28:41.847 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_StartTime' received command 2017-02-15T16:15:00.000-0500
14:28:41.862 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_StartTime changed from 2017-02-13T22:30:00.000-0500 to 2017-02-15T16:15:00.000-0500
14:28:41.883 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event1_EndTime' with an invalid status value 'UNDEF'.
14:28:41.930 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_EndTime' received command 2017-02-15T18:30:00.000-0500
14:28:42.087 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_EndTime changed from 2017-02-13T23:30:00.000-0500 to 2017-02-15T18:30:00.000-0500
14:28:42.118 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Summary' received command
14:28:42.149 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event2_Summary changed from Gabby and Juliana Dance to
14:28:42.227 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Summary' received command Landon Gymnastics
14:28:42.243 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event2_Summary changed from  to Landon Gymnastics
14:28:42.258 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Location' received command
14:28:42.274 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event2_Location changed from The Talent Factory, 6171 Post Rd, North Kingstown, RI 02852, USA to
14:28:42.305 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Location' received command Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA
14:28:42.321 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event2_Location changed from  to Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA
14:28:42.377 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Description' received command
14:28:42.392 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Description' received command
14:28:42.408 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event2_StartTime' with an invalid status value 'UNDEF'.
14:28:42.424 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_StartTime' received command 2017-02-17T15:15:00.000-0500
14:28:42.424 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event2_StartTime changed from 2017-02-15T16:15:00.000-0500 to 2017-02-17T15:15:00.000-0500
14:28:42.455 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event2_EndTime' with an invalid status value 'UNDEF'.
14:28:42.471 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_EndTime' received command 2017-02-17T16:00:00.000-0500
14:28:42.471 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event2_EndTime changed from 2017-02-15T18:30:00.000-0500 to 2017-02-17T16:00:00.000-0500
14:28:42.517 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event3_Summary' received command
14:28:42.517 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event3_Summary changed from Landon Gymnastics to
14:28:42.533 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event3_Summary' received command Juliana Gymnastics
14:28:42.549 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event3_Summary changed from  to Juliana Gymnastics
14:28:42.580 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event3_Location' received command
14:28:42.580 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event3_Location changed from Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA to
14:28:42.611 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event3_Location' received command Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA
14:28:42.627 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event3_Location changed from  to Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA
14:28:42.886 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event3_Description' received command
14:28:42.910 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event3_Description' received command
14:28:42.935 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event3_StartTime' with an invalid status value 'UNDEF'.
14:28:42.975 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event3_StartTime' received command 2017-02-17T16:00:00.000-0500
14:28:42.984 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event3_StartTime changed from 2017-02-17T15:15:00.000-0500 to 2017-02-17T16:00:00.000-0500
14:28:43.048 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event3_EndTime' with an invalid status value 'UNDEF'.
14:28:43.217 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event3_EndTime' received command 2017-02-17T16:45:00.000-0500
14:28:43.223 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event3_EndTime changed from 2017-02-17T16:00:00.000-0500 to 2017-02-17T16:45:00.000-0500
14:28:43.243 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event4_Summary' received command
14:28:43.247 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event4_Summary changed from Juliana Gymnastics to
14:28:43.268 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event4_Summary' received command Gabby Gymnastics
14:28:43.275 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event4_Summary changed from  to Gabby Gymnastics
14:28:43.284 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event4_Location' received command
14:28:43.291 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event4_Location changed from Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA to
14:28:43.425 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event4_Location' received command Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA
14:28:43.432 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event4_Location changed from  to Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA
14:28:43.511 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event4_Description' received command
14:28:43.529 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event4_Description' received command
14:28:43.555 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event4_StartTime' with an invalid status value 'UNDEF'.
14:28:43.583 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event4_StartTime' received command 2017-02-17T16:15:00.000-0500
14:28:43.599 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event4_StartTime changed from 2017-02-17T16:00:00.000-0500 to 2017-02-17T16:15:00.000-0500
14:28:43.649 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event4_EndTime' with an invalid status value 'UNDEF'.
14:28:43.687 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event4_EndTime' received command 2017-02-17T17:30:00.000-0500
14:28:43.702 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event4_EndTime changed from 2017-02-17T16:45:00.000-0500 to 2017-02-17T17:30:00.000-0500
14:28:43.764 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event5_Summary' received command
14:28:43.771 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event5_Summary changed from Gabby Gymnastics to
14:28:43.833 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event5_Summary' received command Frontier Girls
14:28:43.837 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event5_Summary changed from  to Frontier Girls
14:28:43.854 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event5_Location' received command
14:28:43.877 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event5_Location' received command Exeter Public Library, 773 Ten Rod Road (Rt 102), Exeter, RI 02822, USA
14:28:43.905 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event5_Description' received command
14:28:43.928 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event5_Description' received command
14:28:43.971 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event5_StartTime' with an invalid status value 'UNDEF'.
14:28:44.004 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event5_StartTime' received command 2017-02-21T18:00:00.000-0500
14:28:44.035 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event5_EndTime' with an invalid status value 'UNDEF'.
14:28:44.055 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event5_EndTime' received command 2017-02-21T19:00:00.000-0500
14:28:44.182 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event5_Location changed from Aim High Academy, 3355 S County Trail, East Greenwich, RI 02818, USA to
14:28:44.191 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event5_Location changed from  to Exeter Public Library, 773 Ten Rod Road (Rt 102), Exeter, RI 02822, USA
14:28:44.193 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event5_StartTime changed from 2017-02-17T16:15:00.000-0500 to 2017-02-21T18:00:00.000-0500
14:28:44.196 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event5_EndTime changed from 2017-02-17T17:30:00.000-0500 to 2017-02-21T19:00:00.000-0500

Your Item Calendar_Google_Home_Event1_StartTime is 2017-02-15T16:15:00.000-0500, which is tomorrow. This widget displays Todays events.

Correct but I’ve test with dates from today. Same result.

15:25:01.816 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Summary' received command
15:25:01.863 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Summary' received command Test
15:25:01.879 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_Summary changed from Gabby and Juliana Dance to
15:25:01.894 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_Summary changed from  to Test
15:25:01.894 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Location' received command
15:25:01.910 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Location' received command
15:25:01.910 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_Location changed from The Talent Factory, 6171 Post Rd, North Kingstown, RI 02852, USA to
15:25:01.910 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Description' received command
15:25:01.926 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_Description' received command
15:25:01.965 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event1_StartTime' with an invalid status value 'UNDEF'.
15:25:02.013 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_StartTime' received command 2017-02-14T18:00:00.000-0500
15:25:02.018 [WARN ] [thome.io.rest.core.item.ItemResource] - Received HTTP POST request at 'items/Calendar_Google_Home_Event1_EndTime' with an invalid status value 'UNDEF'.
15:25:02.030 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_StartTime changed from 2017-02-15T16:15:00.000-0500 to 2017-02-14T18:00:00.000-0500
15:25:02.044 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event1_EndTime' received command 2017-02-14T19:00:00.000-0500
15:25:02.134 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event1_EndTime changed from 2017-02-15T18:30:00.000-0500 to 2017-02-14T19:00:00.000-0500
15:25:02.138 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Summary' received command
15:25:02.156 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Summary' received command Gabby and Juliana Dance
15:25:02.165 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'Calendar_Google_Home_Event2_Location' received command
15:25:02.176 [INFO ] [marthome.event.ItemStateChangedEvent] - Calendar_Google_Home_Event2_Summary changed from Landon Gymnastics to
15:25:02.183 [INFO ] [marthome.event.ItemStateCha

Then it depends on what the value of todaysDate is, you can create a new widget, name it whatever you want, then paste in this code:

{{(itemValue('Calendar_Google_Home_Event1_StartTime') | date:'yyyyMMdd')}}<br/>
{{(itemValue('todaysDate') | date:'yyyyMMdd')}}<br/>

then go to the preview tab and post a screenshot of the result. If both lines are the same then I’m just going to go with a spacetime rift open inside your computer that makes logic stop working.