added scheduling
This commit is contained in:
@@ -47,7 +47,7 @@ function closeOutValve(controller_id) {
|
||||
var state = controller_state(controller_id);
|
||||
|
||||
var jobName = "Close out valve " + state.controller_id + " after draining";
|
||||
console.log("Closing valve ", controller_id, jobName);
|
||||
console.log("Closing valve ", controller_id, jobName);
|
||||
SyncedCron.remove(jobName);
|
||||
setOutValveTo(controller_id, 'closing');
|
||||
console.log("Finished clearing cron ", controller_id);
|
||||
@@ -58,8 +58,39 @@ function clearLog() {
|
||||
SensorData.remove({});
|
||||
}
|
||||
|
||||
function saveControllerConfig(controller_id, time, days) {
|
||||
var state = controller_state(controller_id);
|
||||
ControllerState.update(state._id, {
|
||||
'$set': {
|
||||
'config.automaticTimeOfDay': time,
|
||||
'config.automaticDaysOfWeek': days
|
||||
}
|
||||
});
|
||||
var jobName = "automatic_" + controller_id;
|
||||
var times = time.split(":");
|
||||
var hours = parseInt(times[0]);
|
||||
var minutes = parseInt(times[1]);
|
||||
|
||||
SyncedCron.remove(jobName);
|
||||
SyncedCron.add({
|
||||
name: jobName,
|
||||
schedule: function(parser) {
|
||||
|
||||
var period = parser.recur();
|
||||
for (var i = 0; i < days.length; i++) {
|
||||
period = period.and().on(parseInt(days[i])).dayOfWeek().on(hours).hour().on(minutes).minute();
|
||||
}
|
||||
return period;
|
||||
},
|
||||
job: function() {
|
||||
openOutValve(controller_id);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Meteor.methods({
|
||||
openOutValve: openOutValve,
|
||||
closeOutValve: closeOutValve,
|
||||
clearLog: clearLog
|
||||
clearLog: clearLog,
|
||||
saveControllerConfig: saveControllerConfig
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user