section("Log devices...") {
input "temperatures", "capability.temperatureMeasurement", title: "Temperatures", required: false, multiple: true
input "thermostats", "capability.thermostat", title: "Thermostats", required: false, multiple: true
- input "ecobees", "device.myEcobeeDevice", title: "Ecobees", required: false, multiple: true
input "automatic", "capability.presenceSensor", title: "Automatic Connected Device(s)", required: false, multiple: true
input "detectors", "capability.smokeDetector", title: "Smoke/CarbonMonoxide Detectors", required: false, multiple: true
input "humidities", "capability.relativeHumidityMeasurement", title: "Humidity sensors", required: false, multiple: true
subscribe(batteries, "battery", handleBatteryEvent)
subscribe(powers, "power", handlePowerEvent)
subscribe(energys, "energy", handleEnergyEvent)
- subscribe(energys, "cost", handleCostEvent)
subscribe(thermostats, "heatingSetpoint", handleHeatingSetpointEvent)
subscribe(thermostats, "coolingSetpoint", handleCoolingSetpointEvent)
subscribe(thermostats, "thermostatMode", handleThermostatModeEvent)
subscribe(thermostats, "fanMode", handleFanModeEvent)
subscribe(thermostats, "thermostatOperatingState", handleThermostatOperatingStateEvent)
- subscribe(ecobees, "dehumidifierMode", handleDehumidifierModeEvent)
- subscribe(ecobees, "equipmentStatus", handleEquipmentStatusEvent)
- subscribe(ecobees, "dehumidifierLevel", handleDehumidifierLevelEvent)
- subscribe(ecobees, "humidifierMode", handleHumidifierModeEvent)
- subscribe(ecobees, "humidifierLevel", handleHumidifierLevelEvent)
- subscribe(ecobees, "fanMinOnTime", handleFanMinOnTimeEvent)
- subscribe(ecobees, "ventilatorMode", handleVentilatorModeEvent)
- subscribe(ecobees, "ventilatorMinOnTime", handleVentilatorMinOnTimeEvent)
- subscribe(ecobees, "programScheduleName", handleProgramNameEvent)
- subscribe(ecobees, "auxHeat1RuntimeDaily", handleDailyStats)
- subscribe(ecobees, "auxHeat2RuntimeDaily", handleDailyStats)
- subscribe(ecobees, "auxHeat3RuntimeDaily", handleDailyStats)
- subscribe(ecobees, "compCool1RuntimeDaily", handleDailyStats)
- subscribe(ecobees, "compCool2RuntimeDaily", handleDailyStats)
- subscribe(ecobees, "fanRuntimeDaily", handleDailyStats)
- subscribe(ecobees, "humidifierRuntimeDaily", handleDailyStats)
- subscribe(ecobees, "dehumidifierRuntimeDaily", handleDailyStats)
- subscribe(ecobees, "ventilatorRuntimeDaily", handleDailyStats)
- subscribe(ecobees, "presence", handlePresenceEvent)
- subscribe(ecobees, "compCool2RuntimeDaily", handleDailyStats)
- subscribe(automatic, "yesterdayTripsAvgAverageKmpl",handleDailyStats)
- subscribe(automatic, "yesterdayTripsAvgDistanceM",handleDailyStats)
- subscribe(automatic, "yesterdayTripsAvgDurationS",handleDailyStats)
- subscribe(automatic, "yesterdayTotalDistanceM",handleDailyStats)
- subscribe(automatic, "yesterdayTripsAvgFuelVolumeL",handleDailyStats)
- subscribe(automatic, "yesterdayTotalFuelVolumeL",handleDailyStats)
- subscribe(automatic, "yesterdayTotalDurationS:",handleDailyStats)
- subscribe(automatic, "yesterdayTotalNbTrips",handleDailyStats)
- subscribe(automatic, "yesterdayTotalHardAccels",handleDailyStats)
- subscribe(automatic, "yesterdayTotalHardBrakes:",handleDailyStats)
- subscribe(automatic, "yesterdayTripsAvgScoreSpeeding",handleDailyStats)
- subscribe(automatic, "yesterdayTripsAvgScoreEvents",handleDailyStats)
+ subscribe(automatic, "presence",handleDailyStats)
+
def queue = []
atomicState.queue=queue
subscribe(location, "sunsetTime", rescheduleIfNeeded)
subscribe(app, appTouch)
- rescheduleIfNeeded()
+ //rescheduleIfNeeded()
}
def appTouch(evt) {
- rescheduleIfNeeded()
+ rescheduleIfNeeded(evt)
processQueue()
def queue = []
atomicState.queue=queue
}
if (((atomicState?.poll["last"]?:0) + (delay * 60000) < currentTime) && canSchedule()) {
log.info "rescheduleIfNeeded>scheduling processQueue in ${delay} minutes.."
- unschedule
- schedule("0 0/${delay} * * * ?", processQueue)
+ unschedule()
+ //schedule("14:00", processQueue)
}
// Update rescheduled state
if (((atomicState?.poll["rescheduled"]?:0) + (delay * 60000)) < now()) {
log.info "processQueue>scheduling rescheduleIfNeeded() in ${delay} minutes.."
- schedule("0 0/${delay} * * * ?", rescheduleIfNeeded)
+ //schedule("0 0/${delay} * * * ?", rescheduleIfNeeded)
// Update rescheduled state
atomicState?.poll["rescheduled"] = now()
}