temperature errors
This commit is contained in:
@@ -36,7 +36,9 @@ Template.alarm.helpers({
|
||||
var temperatures = last_sensor_reading().temperatures;
|
||||
|
||||
for (var i in temperatures) {
|
||||
result += '' + parseFloat(temperatures[i]).toFixed(1) + ' °C ';
|
||||
var temperature = parseFloat(temperatures[i]).toFixed(1);
|
||||
var temperatureLabel = (Meteor.zoblak.shared.valid_temperature(temperature)) ? temperature : "XX.X";
|
||||
result += '' + temperatureLabel + ' °C ';
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
@@ -27,6 +27,12 @@ Meteor.zoblak.client = {
|
||||
}
|
||||
}
|
||||
|
||||
Meteor.zoblak.shared = {
|
||||
valid_temperature: function(value) {
|
||||
return (parseFloat(value) > -40 && parseFloat(value) < 50);
|
||||
}
|
||||
}
|
||||
|
||||
Meteor.zoblak.server = {
|
||||
controller_state: function(controller_id) {
|
||||
var result = {}
|
||||
|
||||
@@ -158,7 +158,7 @@ function saveAlarmSettings(controller_id, minTemperature, maxTemperature, timeou
|
||||
'config.sms4': smsNumbers[3]
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var jobName = "automatic_alarm_" + controller_id;
|
||||
|
||||
SyncedCron.remove(jobName);
|
||||
@@ -186,6 +186,7 @@ reactToAlarmData = function(controller_id) {
|
||||
var state = Meteor.zoblak.server.controller_state(controller_id);
|
||||
var config = state.config;
|
||||
|
||||
|
||||
var minTemperature = function(temperatures) {
|
||||
// if it gets a lot colder than absolute zero
|
||||
// we will have more problems than the bug in this code
|
||||
@@ -197,7 +198,7 @@ reactToAlarmData = function(controller_id) {
|
||||
}
|
||||
}
|
||||
return minimal;
|
||||
}
|
||||
};
|
||||
|
||||
var maxTemperature = function(temperatures) {
|
||||
// obviously - hell is not supported in this version
|
||||
@@ -209,11 +210,13 @@ reactToAlarmData = function(controller_id) {
|
||||
}
|
||||
}
|
||||
return maximal;
|
||||
}
|
||||
};
|
||||
|
||||
var tooCold = config.minTemperature && (minTemperature(reading.temperatures) < config.minTemperature);
|
||||
var temperatures = (reading.temperatures || []).filter(Meteor.zoblak.shared.valid_temperature);
|
||||
|
||||
var tooHot = config.maxTemperature && (maxTemperature(reading.temperatures) > config.maxTemperature);
|
||||
var tooCold = config.minTemperature && (minTemperature(temperatures) < config.minTemperature);
|
||||
|
||||
var tooHot = config.maxTemperature && (maxTemperature(temperatures) > config.maxTemperature);
|
||||
|
||||
var minutesSinceLastBoxContact = reading.lastBoxContact ? moment(new Date()).diff(moment(reading.lastBoxContact), 'minutes') : -1;
|
||||
var boxSilent = config.timeoutBox && minutesSinceLastBoxContact > config.timeoutBox;
|
||||
|
||||
Reference in New Issue
Block a user