Sensor labels support

This commit is contained in:
Senad Uka
2019-07-28 11:48:50 +02:00
parent a5ae635e7d
commit 82ea273c0d
7 changed files with 60 additions and 7 deletions

View File

@@ -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>

View File

@@ -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;
},

View File

@@ -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>

View File

@@ -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);
}
});

View File

@@ -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%;

View File

@@ -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),

View File

@@ -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
}
});