added scheduling
This commit is contained in:
@@ -1,58 +1,96 @@
|
||||
if (Meteor.isClient) {
|
||||
function controller_state() {
|
||||
var controller = Session.get('controller_id');
|
||||
var result = {}
|
||||
if (controller) {
|
||||
result = ControllerState.findOne({
|
||||
controller_id: controller
|
||||
});
|
||||
}
|
||||
|
||||
function controller_state() {
|
||||
var controller = Session.get('controller_id');
|
||||
var result = {}
|
||||
if (controller) {
|
||||
result = ControllerState.findOne({
|
||||
controller_id: controller
|
||||
});
|
||||
}
|
||||
|
||||
if (!result) {
|
||||
result = {}
|
||||
};
|
||||
return result;
|
||||
if (!result) {
|
||||
result = {}
|
||||
};
|
||||
return result;
|
||||
};
|
||||
|
||||
Template.state.helpers({
|
||||
controller_state: controller_state,
|
||||
pretty_valve: function(state) {
|
||||
if (state === 'open') return "Otvoren";
|
||||
if (state === 'opening') return "Otvara se";
|
||||
if (state === 'closing') return "Zatvara se";
|
||||
if (state === 'closed') return "Zatvoren";
|
||||
},
|
||||
|
||||
water_now_button_class: function () {
|
||||
var stateObject = controller_state();
|
||||
if (stateObject.state && ( stateObject.state.out_valve === 'open' || stateObject.state.out_valve === 'opening' )) {
|
||||
return 'hidden';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
stop_button_class: function () {
|
||||
var stateObject = controller_state();
|
||||
if (stateObject.state && ( stateObject.state.out_valve === 'closed' || stateObject.state.out_valve === 'closing' )) {
|
||||
return 'hidden';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
function sensor_data_collection() {
|
||||
var controllerId = Session.get('controller_id');
|
||||
return SensorData.find({
|
||||
controllerId: controllerId
|
||||
}, {
|
||||
sort: {
|
||||
created_at: -1
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Template.state.events({
|
||||
'click #water_now': function() {
|
||||
var controller_id = Session.get('controller_id');
|
||||
Meteor.call('openOutValve',controller_id )
|
||||
},
|
||||
|
||||
'click #stop_water_now': function() {
|
||||
var controller_id = Session.get('controller_id');
|
||||
Meteor.call('closeOutValve',controller_id )
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function last_sensor_reading() {
|
||||
var controller = Session.get('controller_id');
|
||||
var result = null;
|
||||
if (controller) {
|
||||
result = sensor_data_collection();
|
||||
}
|
||||
if (result && result.count() > 0) {
|
||||
return result.fetch()[0];
|
||||
} else {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Template.state.helpers({
|
||||
controller_state: controller_state,
|
||||
pretty_valve: function(state) {
|
||||
if (state === 'open') return "Otvoren";
|
||||
if (state === 'opening') return "Otvara se";
|
||||
if (state === 'closing') return "Zatvara se";
|
||||
if (state === 'closed') return "Zatvoren";
|
||||
},
|
||||
|
||||
bucket_image: function() {
|
||||
var sensor = last_sensor_reading();
|
||||
if (sensor && sensor.tankFull === "1") {
|
||||
return "/images/barell_full.png";
|
||||
} else {
|
||||
return "/images/barell_draining.png";
|
||||
}
|
||||
},
|
||||
|
||||
last_sensor_reading: last_sensor_reading,
|
||||
|
||||
last_communication_time: function() {
|
||||
return moment(controller_state().time).fromNow();
|
||||
},
|
||||
|
||||
|
||||
water_now_button_class: function() {
|
||||
var stateObject = controller_state();
|
||||
if (stateObject.state && (stateObject.state.out_valve === 'open' || stateObject.state.out_valve === 'opening')) {
|
||||
return 'hidden';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
stop_button_class: function() {
|
||||
var stateObject = controller_state();
|
||||
if (stateObject.state && (stateObject.state.out_valve === 'closed' || stateObject.state.out_valve === 'closing')) {
|
||||
return 'hidden';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Template.state.events({
|
||||
'click #water_now': function() {
|
||||
var controller_id = Session.get('controller_id');
|
||||
Meteor.call('openOutValve', controller_id)
|
||||
},
|
||||
|
||||
'click #stop_water_now': function() {
|
||||
var controller_id = Session.get('controller_id');
|
||||
Meteor.call('closeOutValve', controller_id)
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user