I successfully upgraded to your official release V2.2 some days before I noticed this problem. I then loaded the two additional files that you posted but haven’t officially released yet. All of this appears to be working correctly because shortly after I completed this, I experienced an internet outage and your app functioned as you described.
I am using your app to provide data to a PLEG module. In the PLEG module, I am using the trigger input “GCal3 Sensor Tripped” although before I posted this question, I tried the other trigger inputs that you provide and they all seemed to work the same - i.e. they go false at “00:00:00” rather than 02:00:00". I have only a single event in the calendar. It is active from approximately 4am until 2am the following day. This information is correctly displayed in the web browser and as far as I can tell, it is visible in the “advance” tab and also shows up in the log file.
I copied some settings out of the GCal3 module after 00:00:00 hours. At this point, the trigger in the PLEG module showed a value of “false” (even though it should have remained true until 2am) and the time stamp for the false state was a short time after “00:00:00”.
gc_keyword = AWAKE
gc_exactKeyword = true
gc_ignoreKeyword = false
gc_triggerNoKeyword = false
gc_IgnoreAllDayEvents = false
gc_retrip = true
gc_eventsToday = 1
gc_eventsLeftToday = 0
gc_activeEvents = AWAKE
It seems like this is showing that there is still an active event by the name of AWAKE. This is correct since the calendar OFF time should be 2am and it is just shortly after midnight. However, gc_eventsToday is showing “1” and this seems to be in error unless this is only counting ON events since the OFF event isn’t supposed to happen until 2am. gc_eventsLeftToday is also showing zero but this isn’t correct either because there are either 1 or 2 events for 7/15/2016 depending on whether you are counting just ON events (4am on 7/15/2016) or both ON events and OFF events (2am on 7/15/2016).
I set gc_debug=3 as you requested and also set the filter on info viewer to GCal3 in order to limit the file to GCal3. If you require log information beyond GCal3, I will need to rerun it again without the filter.
I continue to notice that the time stamps associated with trigger data from this module seem to change (occasionally) when your app runs regardless of whether the data changes or not. I have been able to work around this so it has become more of an academic issue for me but it is somewhat bothersome that there are fundamentally different behaviors for triggers.
EDIT: removed log file