Skip to content

Commit

Permalink
feat(registration): Add new DPS310 sensor (#442)
Browse files Browse the repository at this point in the history
* feat(registration): Add new DPS310 sensor

New sensor for temperature and airpressure (DPS310) was added to registration.

* refactor(registration): Add new warning

New warning added if user wants to use different sensors that have the same address
  • Loading branch information
mpfeil authored Mar 25, 2022
1 parent 304004d commit cae42d9
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 23 deletions.
32 changes: 31 additions & 1 deletion app/scripts/controllers/register.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@
light: false,
pollution: false,
bme680: false,
co2: false
co2: false,
dps310: false
},
serialPort: 'Serial1',
soilDigitalPort: 'A',
Expand Down Expand Up @@ -133,6 +134,7 @@
vm.events = {
autolocation: true
};
vm.showSameAddressWarning = false;

vm.enterEvent = enterEvent;
vm.add = add;
Expand Down Expand Up @@ -415,6 +417,9 @@
case 'co2':
vm.newSenseBox.sensorTemplates.push('scd30');
break;
case 'dps310':
vm.newSenseBox.sensorTemplates.push('dps310');
break;
}
}
}
Expand Down Expand Up @@ -611,6 +616,18 @@
unit = 'ppm';
sensorType = 'SCD30';
break;
case 'DPS310_AIRPRESSURE':
icon = 'osem-barometer';
title = 'Luftdruck';
unit = 'hPa';
sensorType = 'DPS310';
break;
case 'DPS310_TEMPERATURE':
icon = 'osem-thermometer';
title = 'Temperatur';
unit = '°C';
sensorType = 'DPS310';
break;
}

return {
Expand Down Expand Up @@ -841,6 +858,9 @@
addSensorTemplate('BME680_VOC');
} else if (newValue.co2 && oldValue.co2 === false) {
addSensorTemplate('scd30_co2');
} else if (newValue.dps310 && oldValue.dps310 === false) {
addSensorTemplate('DPS310_AIRPRESSURE');
addSensorTemplate('DPS310_TEMPERATURE');
}

// Remove sensor templates
Expand All @@ -859,6 +879,16 @@
removeSensorTemplate(generateSensorTemplate('BME680_VOC'));
} else if (oldValue.co2 && newValue.co2 === '') {
removeSensorTemplate(generateSensorTemplate('scd30_co2'));
} else if (oldValue.dps310 && newValue.dps310 === '') {
removeSensorTemplate(generateSensorTemplate('DPS310_AIRPRESSURE'));
removeSensorTemplate(generateSensorTemplate('DPS310_TEMPERATURE'));
}

// Check on change for sensors with same address
if ([vm.newModel.sensors.bme680, vm.newModel.sensors.dps310, vm.newModel.sensors.pressure].filter(Boolean).length >= 2) {
vm.showSameAddressWarning = true;
} else {
vm.showSameAddressWarning = false;
}
}, true);

Expand Down
87 changes: 65 additions & 22 deletions app/views/account.box.register.html
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ <h3>{{'CONNECTION_TYPE' | translate}}</h3>
<div class="row" ng-show="register.isSenseBoxModel() === 'homeV2'">
<div style="text-align: center;">
<h3>{{'SENSORS' | translate}}</h3>
<div uib-alert class="alert-warning" ng-show="register.showSameAddressWarning">{{'SAME_ADDRESS_WARNING' | translate}}</div>
<ul class="sensor-list" style="border: none;">
<li class="sensor-row" style="border-bottom: 1px solid #e1e4e8;">
<div class="row">
Expand All @@ -287,7 +288,7 @@ <h3>{{'SENSORS' | translate}}</h3>
<img
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1524084036833-hds%20top.png"
style="vertical-align: middle; height: 90px; width: 90px;" />
<span style="vertical-align: middle;">{{'SENSOR_TEMP_HUMI' | translate}}</span>
<span style="vertical-align: middle;">{{'SENSOR_TEMP_HUMI' | translate}} (HDC1080)</span>
</div>
</div>
</div>
Expand All @@ -305,7 +306,21 @@ <h3>{{'SENSORS' | translate}}</h3>
<img
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1524085326737-bmp%20v2%20top.png"
style="vertical-align: middle; height: 90px; width: 90px;" />
<span style="vertical-align: middle;">{{'SENSOR_TEMP_PRESSURE' | translate}}</span>
<span style="vertical-align: middle;">{{'SENSOR_TEMP_PRESSURE' | translate}} (BMP280)</span>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-6" style="border-right: 1px solid #e1e4e8;">
<div style="text-align: left;">
<div class="checkbox checkbox-success checkbox-inline" style="vertical-align: middle;">
<input type="checkbox" id="DPS310Sensor" ng-model="register.newModel.sensors.dps310">
<label for="DPS310Sensor"> </label>
</div>

<img src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1646750298507-1646737282568-sensebox-dps310_1.png"
style="vertical-align: middle; height: 90px; width: 90px;" />
<span style="vertical-align: middle;">{{'AIRPRESSURE' | translate}} (DPS310)</span>
</div>
</div>
</div>
Expand Down Expand Up @@ -400,7 +415,7 @@ <h3>{{'SENSORS' | translate}}</h3>
<img
src="https://sensebox.kaufen/api/public/uploads/1572259222502-SMT50_freigestellt_02.png"
style="vertical-align: middle; height: 90px; width: 90px;" />
<span style="vertical-align: middle;">{{'SOIL_MOISTURE' | translate}}</span>
<span style="vertical-align: middle;">{{'SOIL_MOISTURE' | translate}} (SMT50)</span>
</div>
</div>
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4"
Expand Down Expand Up @@ -494,7 +509,7 @@ <h3>{{'SENSORS' | translate}}</h3>
<img
src="https://sensebox.kaufen/api/public/uploads/1603979080866-scd30.png"
style="vertical-align: middle; height: 90px; width: 90px;" />
<span style="vertical-align: middle;">CO<sub>2</sub></span>
<span style="vertical-align: middle;">CO<sub>2</sub> (SCD30)</span>
</div>
</div>
</div>
Expand Down Expand Up @@ -639,60 +654,58 @@ <h4>{{'TEMPERATURE' | translate}}</h4>
<div class="row" style="text-align: center;">
<div class="col-sm-3 col-md-3 col-lg-3">
<div class="thumbnail">
<img
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525169435866-v+uv%20bottom.png"
<img src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1646750298507-1646737282568-sensebox-dps310_1.png"
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
<div class="caption">
<h4>{{'ILLUMINATION' | translate}}</h4>
<p>(TSL45315)</p>
<h4>{{'AIRPRESSURE' | translate}}</h4>
<p>(DPS310)</p>
<p>
<button type="button" class="btn btn-success"
ng-click="register.addSensorTemplate('TSL45315')">{{'ADD_SENSOR'|translate}}</button>
ng-click="register.addSensorTemplate('DPS310_AIRPRESSURE')">{{'ADD_SENSOR'|translate}}</button>
</p>
</div>
</div>
</div>
<div class="col-sm-3 col-md-3 col-lg-3">
<div class="thumbnail">
<img
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525169435866-v+uv%20bottom.png"
<img src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1646750298507-1646737282568-sensebox-dps310_1.png"
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
<div class="caption">
<h4>{{'UV' | translate}}</h4>
<p>(VEML6070)</p>
<h4>{{'TEMPERATURE' | translate}}</h4>
<p>(DPS310)</p>
<p>
<button type="button" class="btn btn-success"
ng-click="register.addSensorTemplate('VEML6070')">{{'ADD_SENSOR'|translate}}</button>
ng-click="register.addSensorTemplate('DPS310_TEMPERATURE')">{{'ADD_SENSOR'|translate}}</button>
</p>
</div>
</div>
</div>
<div class="col-sm-3 col-md-3 col-lg-3">
<div class="thumbnail">
<img
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525358769594-nova-fitness-sds011-laser-pm25-pm10-dust-feinstaub-sensor-modul-luft-qualitaet-detector-built-in-fan.jpg"
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525169435866-v+uv%20bottom.png"
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
<div class="caption">
<h4>{{'PARTICULLARMATTER' | translate}} PM2.5</h4>
<p>(SDS011)</p>
<h4>{{'ILLUMINATION' | translate}}</h4>
<p>(TSL45315)</p>
<p>
<button type="button" class="btn btn-success"
ng-click="register.addSensorTemplate('PM25')">{{'ADD_SENSOR'|translate}}</button>
ng-click="register.addSensorTemplate('TSL45315')">{{'ADD_SENSOR'|translate}}</button>
</p>
</div>
</div>
</div>
<div class="col-sm-3 col-md-3 col-lg-3">
<div class="thumbnail">
<img
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525358769594-nova-fitness-sds011-laser-pm25-pm10-dust-feinstaub-sensor-modul-luft-qualitaet-detector-built-in-fan.jpg"
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525169435866-v+uv%20bottom.png"
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
<div class="caption">
<h4>{{'PARTICULLARMATTER' | translate}} PM10</h4>
<p>(SDS011)</p>
<h4>{{'UV' | translate}}</h4>
<p>(VEML6070)</p>
<p>
<button type="button" class="btn btn-success"
ng-click="register.addSensorTemplate('PM10')">{{'ADD_SENSOR'|translate}}</button>
ng-click="register.addSensorTemplate('VEML6070')">{{'ADD_SENSOR'|translate}}</button>
</p>
</div>
</div>
Expand Down Expand Up @@ -757,6 +770,36 @@ <h4>VOC</h4>
</div>
</div>
</div>
<div class="col-sm-3 col-md-3 col-lg-3">
<div class="thumbnail">
<img
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525358769594-nova-fitness-sds011-laser-pm25-pm10-dust-feinstaub-sensor-modul-luft-qualitaet-detector-built-in-fan.jpg"
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
<div class="caption">
<h4>{{'PARTICULLARMATTER' | translate}} PM2.5</h4>
<p>(SDS011)</p>
<p>
<button type="button" class="btn btn-success"
ng-click="register.addSensorTemplate('PM25')">{{'ADD_SENSOR'|translate}}</button>
</p>
</div>
</div>
</div>
<div class="col-sm-3 col-md-3 col-lg-3">
<div class="thumbnail">
<img
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525358769594-nova-fitness-sds011-laser-pm25-pm10-dust-feinstaub-sensor-modul-luft-qualitaet-detector-built-in-fan.jpg"
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
<div class="caption">
<h4>{{'PARTICULLARMATTER' | translate}} PM10</h4>
<p>(SDS011)</p>
<p>
<button type="button" class="btn btn-success"
ng-click="register.addSensorTemplate('PM10')">{{'ADD_SENSOR'|translate}}</button>
</p>
</div>
</div>
</div>
<div class="col-sm-3 col-md-3 col-lg-3">
<div class="thumbnail">
<img src="https://sensebox.kaufen/api/public/uploads/1572259222502-SMT50_freigestellt_02.png"
Expand Down

0 comments on commit cae42d9

Please sign in to comment.