From 7baad1c35e1eec142e9d9d7a7287c2b834e55733 Mon Sep 17 00:00:00 2001 From: David Sulpy Date: Fri, 11 Sep 2015 11:09:03 -0500 Subject: [PATCH] fixed the scheduling from throwing exceptions because it was using parenthesis when passing the handler method in to the scheduling method; ensured that the scheduler doesn't send empty events --- .../initial-state-event-streamer.groovy | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/smartapps/initialstate-events/initial-state-event-streamer.src/initial-state-event-streamer.groovy b/smartapps/initialstate-events/initial-state-event-streamer.src/initial-state-event-streamer.groovy index d24e271..d82ccb3 100644 --- a/smartapps/initialstate-events/initial-state-event-streamer.src/initial-state-event-streamer.groovy +++ b/smartapps/initialstate-events/initial-state-event-streamer.src/initial-state-event-streamer.groovy @@ -167,10 +167,6 @@ def subscribeToEvents() { if (waterSensors != null) { subscribe(waterSensors, "water", genericHandler) } - - if (canSchedule()) { - runEvery15Minutes(flushBuffer()) - } } def getAccessKey() { @@ -235,6 +231,8 @@ def installed() { atomicState.grokerSubdomain = "groker" atomicState.eventBuffer = []; + runEvery15Minutes(flushBuffer) + log.debug "installed (version $atomicState.version)" } @@ -317,7 +315,8 @@ def genericHandler(evt) { // This is a handler function for flushing the event buffer // after a specified amount of time to reduce the load on ST servers def flushBuffer() { - if (atomicState.eventBuffer.size() > 0) { + log.trace "About to flush the buffer on schedule" + if (atomicState.eventBuffer != null && atomicState.eventBuffer.size() > 0) { shipEvents(); } }