Sensor labels support
This commit is contained in:
@@ -18,7 +18,17 @@
|
||||
{{/if}}
|
||||
{{/with}}
|
||||
{{#with last_reading}}
|
||||
<div class="huge_text"> {{ all_temperatures }}</div>
|
||||
<div class="bigger_text centeredtable">
|
||||
<table>
|
||||
{{#each temperature in all_temperatures }}
|
||||
<tr>
|
||||
<td>{{temperature.name}}:</td>
|
||||
<td> {{temperature.value}}</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div>{{pretty_time created_at}}</div>
|
||||
{{/with}}
|
||||
<button id="run_alarm_settings" class="btn btn-default"> <i class="fa fa-wrench"></i> Podešavanje </button>
|
||||
|
||||
@@ -9,13 +9,15 @@ Template.alarm.helpers({
|
||||
return moment(time).format("DD.MM.YYYY, HH:mm")
|
||||
},
|
||||
all_temperatures: function() {
|
||||
var result = "";
|
||||
var result = [];
|
||||
var names = Meteor.zoblak.client.controller_state().config['sensorNames'] || {};
|
||||
var temperatures = Meteor.zoblak.client.last_sensor_reading().temperatures;
|
||||
|
||||
for (var i in temperatures) {
|
||||
var temperature = parseFloat(temperatures[i]).toFixed(1);
|
||||
var temperatureLabel = (Meteor.zoblak.shared.valid_temperature(temperature)) ? temperature : "XX.X";
|
||||
result += '' + temperatureLabel + ' °C ';
|
||||
var name = names[i] || "Senzor " + i.toString();
|
||||
result.push({ name: name, value: temperatureLabel + ' °C ' });
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
@@ -87,6 +87,11 @@
|
||||
<div class="slider round"></div>
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<label>
|
||||
<input type="text" placeholder="prostorija" value={{sensor.name}} class="sensor_name" maxlength="7" />
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</table>
|
||||
|
||||
@@ -36,13 +36,16 @@ Template.alarm_settings.helpers({
|
||||
sensors: function() {
|
||||
var temperatures = Meteor.zoblak.client.last_sensor_reading().temperatures;
|
||||
var enabled = config()['sensorsEnabled'] || {};
|
||||
var sensorNames = config()['sensorNames'] || {};
|
||||
var sensors = [];
|
||||
for (var index in temperatures) {
|
||||
var is_on = (index in enabled) ? enabled[index] : true; // on by default
|
||||
var name = (index in sensorNames) ? sensorNames[index] : null; // no name by default
|
||||
var value = parseFloat(temperatures[index])
|
||||
sensors.push({
|
||||
value: value,
|
||||
on: is_on
|
||||
on: is_on,
|
||||
name: name
|
||||
})
|
||||
}
|
||||
return sensors;
|
||||
@@ -72,6 +75,16 @@ Template.alarm_settings.events({
|
||||
|
||||
console.log("Enabled: ", enabled);
|
||||
|
||||
Meteor.call('saveAlarmSettings', controller_id, minTemperature, maxTemperature, timeoutBox, timeoutPhone, [sms1, sms2, sms3, sms4] ,enabled);
|
||||
var names = {};
|
||||
|
||||
var sensorNames = instance.$('.sensor_name');
|
||||
|
||||
sensorNames.each( function(index,element) {
|
||||
names[index] = instance.$(element).val();
|
||||
} );
|
||||
|
||||
console.log("Names ", names);
|
||||
|
||||
Meteor.call('saveAlarmSettings', controller_id, minTemperature, maxTemperature, timeoutBox, timeoutPhone, [sms1, sms2, sms3, sms4] ,enabled, names);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -18,6 +18,27 @@
|
||||
font-size: 2.5em;
|
||||
}
|
||||
|
||||
.bigger_text {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
div.centeredtable
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.centeredtable table
|
||||
{
|
||||
border-collapse: separate;
|
||||
margin: 0 auto;
|
||||
text-align: left;
|
||||
border-spacing: 10px;
|
||||
}
|
||||
|
||||
div.centeredtable table, div.centeredtable td{
|
||||
border: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
@media all and (orientation: portrait) {
|
||||
#bucket_image {
|
||||
width: 90%;
|
||||
|
||||
@@ -9,6 +9,7 @@ Api.addRoute('sensorData', {
|
||||
authRequired: false
|
||||
}, {
|
||||
post: function() {
|
||||
console.log("Sensordata ", this.bodyParams);
|
||||
reactToSensorData(this.bodyParams);
|
||||
var sensorObject = {
|
||||
temperatureValue: parseFloat(this.bodyParams.temperatureValue),
|
||||
|
||||
@@ -143,7 +143,7 @@ function saveControllerConfig(controller_id, time, days, manualInflow) {
|
||||
});
|
||||
}
|
||||
|
||||
function saveAlarmSettings(controller_id, minTemperature, maxTemperature, timeoutBox, timeoutPhone, smsNumbers, sensorsEnabled) {
|
||||
function saveAlarmSettings(controller_id, minTemperature, maxTemperature, timeoutBox, timeoutPhone, smsNumbers, sensorsEnabled, sensorNames) {
|
||||
var state = Meteor.zoblak.server.controller_state(controller_id);
|
||||
ControllerState.update(state._id, {
|
||||
'$set': {
|
||||
@@ -156,7 +156,8 @@ function saveAlarmSettings(controller_id, minTemperature, maxTemperature, timeou
|
||||
'config.sms2': smsNumbers[1],
|
||||
'config.sms3': smsNumbers[2],
|
||||
'config.sms4': smsNumbers[3],
|
||||
'config.sensorsEnabled': sensorsEnabled
|
||||
'config.sensorsEnabled': sensorsEnabled,
|
||||
'config.sensorNames': sensorNames
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user