Skip to content

Commit cae42d9

Browse files
authored
feat(registration): Add new DPS310 sensor (#442)
* 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
1 parent 304004d commit cae42d9

File tree

2 files changed

+96
-23
lines changed

2 files changed

+96
-23
lines changed

app/scripts/controllers/register.js

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
light: false,
3636
pollution: false,
3737
bme680: false,
38-
co2: false
38+
co2: false,
39+
dps310: false
3940
},
4041
serialPort: 'Serial1',
4142
soilDigitalPort: 'A',
@@ -133,6 +134,7 @@
133134
vm.events = {
134135
autolocation: true
135136
};
137+
vm.showSameAddressWarning = false;
136138

137139
vm.enterEvent = enterEvent;
138140
vm.add = add;
@@ -415,6 +417,9 @@
415417
case 'co2':
416418
vm.newSenseBox.sensorTemplates.push('scd30');
417419
break;
420+
case 'dps310':
421+
vm.newSenseBox.sensorTemplates.push('dps310');
422+
break;
418423
}
419424
}
420425
}
@@ -611,6 +616,18 @@
611616
unit = 'ppm';
612617
sensorType = 'SCD30';
613618
break;
619+
case 'DPS310_AIRPRESSURE':
620+
icon = 'osem-barometer';
621+
title = 'Luftdruck';
622+
unit = 'hPa';
623+
sensorType = 'DPS310';
624+
break;
625+
case 'DPS310_TEMPERATURE':
626+
icon = 'osem-thermometer';
627+
title = 'Temperatur';
628+
unit = '°C';
629+
sensorType = 'DPS310';
630+
break;
614631
}
615632

616633
return {
@@ -841,6 +858,9 @@
841858
addSensorTemplate('BME680_VOC');
842859
} else if (newValue.co2 && oldValue.co2 === false) {
843860
addSensorTemplate('scd30_co2');
861+
} else if (newValue.dps310 && oldValue.dps310 === false) {
862+
addSensorTemplate('DPS310_AIRPRESSURE');
863+
addSensorTemplate('DPS310_TEMPERATURE');
844864
}
845865

846866
// Remove sensor templates
@@ -859,6 +879,16 @@
859879
removeSensorTemplate(generateSensorTemplate('BME680_VOC'));
860880
} else if (oldValue.co2 && newValue.co2 === '') {
861881
removeSensorTemplate(generateSensorTemplate('scd30_co2'));
882+
} else if (oldValue.dps310 && newValue.dps310 === '') {
883+
removeSensorTemplate(generateSensorTemplate('DPS310_AIRPRESSURE'));
884+
removeSensorTemplate(generateSensorTemplate('DPS310_TEMPERATURE'));
885+
}
886+
887+
// Check on change for sensors with same address
888+
if ([vm.newModel.sensors.bme680, vm.newModel.sensors.dps310, vm.newModel.sensors.pressure].filter(Boolean).length >= 2) {
889+
vm.showSameAddressWarning = true;
890+
} else {
891+
vm.showSameAddressWarning = false;
862892
}
863893
}, true);
864894

app/views/account.box.register.html

Lines changed: 65 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ <h3>{{'CONNECTION_TYPE' | translate}}</h3>
271271
<div class="row" ng-show="register.isSenseBoxModel() === 'homeV2'">
272272
<div style="text-align: center;">
273273
<h3>{{'SENSORS' | translate}}</h3>
274+
<div uib-alert class="alert-warning" ng-show="register.showSameAddressWarning">{{'SAME_ADDRESS_WARNING' | translate}}</div>
274275
<ul class="sensor-list" style="border: none;">
275276
<li class="sensor-row" style="border-bottom: 1px solid #e1e4e8;">
276277
<div class="row">
@@ -287,7 +288,7 @@ <h3>{{'SENSORS' | translate}}</h3>
287288
<img
288289
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1524084036833-hds%20top.png"
289290
style="vertical-align: middle; height: 90px; width: 90px;" />
290-
<span style="vertical-align: middle;">{{'SENSOR_TEMP_HUMI' | translate}}</span>
291+
<span style="vertical-align: middle;">{{'SENSOR_TEMP_HUMI' | translate}} (HDC1080)</span>
291292
</div>
292293
</div>
293294
</div>
@@ -305,7 +306,21 @@ <h3>{{'SENSORS' | translate}}</h3>
305306
<img
306307
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1524085326737-bmp%20v2%20top.png"
307308
style="vertical-align: middle; height: 90px; width: 90px;" />
308-
<span style="vertical-align: middle;">{{'SENSOR_TEMP_PRESSURE' | translate}}</span>
309+
<span style="vertical-align: middle;">{{'SENSOR_TEMP_PRESSURE' | translate}} (BMP280)</span>
310+
</div>
311+
</div>
312+
</div>
313+
<div class="row">
314+
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-6" style="border-right: 1px solid #e1e4e8;">
315+
<div style="text-align: left;">
316+
<div class="checkbox checkbox-success checkbox-inline" style="vertical-align: middle;">
317+
<input type="checkbox" id="DPS310Sensor" ng-model="register.newModel.sensors.dps310">
318+
<label for="DPS310Sensor"> </label>
319+
</div>
320+
321+
<img src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1646750298507-1646737282568-sensebox-dps310_1.png"
322+
style="vertical-align: middle; height: 90px; width: 90px;" />
323+
<span style="vertical-align: middle;">{{'AIRPRESSURE' | translate}} (DPS310)</span>
309324
</div>
310325
</div>
311326
</div>
@@ -400,7 +415,7 @@ <h3>{{'SENSORS' | translate}}</h3>
400415
<img
401416
src="https://sensebox.kaufen/api/public/uploads/1572259222502-SMT50_freigestellt_02.png"
402417
style="vertical-align: middle; height: 90px; width: 90px;" />
403-
<span style="vertical-align: middle;">{{'SOIL_MOISTURE' | translate}}</span>
418+
<span style="vertical-align: middle;">{{'SOIL_MOISTURE' | translate}} (SMT50)</span>
404419
</div>
405420
</div>
406421
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4"
@@ -494,7 +509,7 @@ <h3>{{'SENSORS' | translate}}</h3>
494509
<img
495510
src="https://sensebox.kaufen/api/public/uploads/1603979080866-scd30.png"
496511
style="vertical-align: middle; height: 90px; width: 90px;" />
497-
<span style="vertical-align: middle;">CO<sub>2</sub></span>
512+
<span style="vertical-align: middle;">CO<sub>2</sub> (SCD30)</span>
498513
</div>
499514
</div>
500515
</div>
@@ -639,60 +654,58 @@ <h4>{{'TEMPERATURE' | translate}}</h4>
639654
<div class="row" style="text-align: center;">
640655
<div class="col-sm-3 col-md-3 col-lg-3">
641656
<div class="thumbnail">
642-
<img
643-
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525169435866-v+uv%20bottom.png"
657+
<img src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1646750298507-1646737282568-sensebox-dps310_1.png"
644658
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
645659
<div class="caption">
646-
<h4>{{'ILLUMINATION' | translate}}</h4>
647-
<p>(TSL45315)</p>
660+
<h4>{{'AIRPRESSURE' | translate}}</h4>
661+
<p>(DPS310)</p>
648662
<p>
649663
<button type="button" class="btn btn-success"
650-
ng-click="register.addSensorTemplate('TSL45315')">{{'ADD_SENSOR'|translate}}</button>
664+
ng-click="register.addSensorTemplate('DPS310_AIRPRESSURE')">{{'ADD_SENSOR'|translate}}</button>
651665
</p>
652666
</div>
653667
</div>
654668
</div>
655669
<div class="col-sm-3 col-md-3 col-lg-3">
656670
<div class="thumbnail">
657-
<img
658-
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525169435866-v+uv%20bottom.png"
671+
<img src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1646750298507-1646737282568-sensebox-dps310_1.png"
659672
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
660673
<div class="caption">
661-
<h4>{{'UV' | translate}}</h4>
662-
<p>(VEML6070)</p>
674+
<h4>{{'TEMPERATURE' | translate}}</h4>
675+
<p>(DPS310)</p>
663676
<p>
664677
<button type="button" class="btn btn-success"
665-
ng-click="register.addSensorTemplate('VEML6070')">{{'ADD_SENSOR'|translate}}</button>
678+
ng-click="register.addSensorTemplate('DPS310_TEMPERATURE')">{{'ADD_SENSOR'|translate}}</button>
666679
</p>
667680
</div>
668681
</div>
669682
</div>
670683
<div class="col-sm-3 col-md-3 col-lg-3">
671684
<div class="thumbnail">
672685
<img
673-
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"
686+
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525169435866-v+uv%20bottom.png"
674687
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
675688
<div class="caption">
676-
<h4>{{'PARTICULLARMATTER' | translate}} PM2.5</h4>
677-
<p>(SDS011)</p>
689+
<h4>{{'ILLUMINATION' | translate}}</h4>
690+
<p>(TSL45315)</p>
678691
<p>
679692
<button type="button" class="btn btn-success"
680-
ng-click="register.addSensorTemplate('PM25')">{{'ADD_SENSOR'|translate}}</button>
693+
ng-click="register.addSensorTemplate('TSL45315')">{{'ADD_SENSOR'|translate}}</button>
681694
</p>
682695
</div>
683696
</div>
684697
</div>
685698
<div class="col-sm-3 col-md-3 col-lg-3">
686699
<div class="thumbnail">
687700
<img
688-
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"
701+
src="https://sensebox.kaufen/api//public/uploads/thumbs/thumb--1525169435866-v+uv%20bottom.png"
689702
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
690703
<div class="caption">
691-
<h4>{{'PARTICULLARMATTER' | translate}} PM10</h4>
692-
<p>(SDS011)</p>
704+
<h4>{{'UV' | translate}}</h4>
705+
<p>(VEML6070)</p>
693706
<p>
694707
<button type="button" class="btn btn-success"
695-
ng-click="register.addSensorTemplate('PM10')">{{'ADD_SENSOR'|translate}}</button>
708+
ng-click="register.addSensorTemplate('VEML6070')">{{'ADD_SENSOR'|translate}}</button>
696709
</p>
697710
</div>
698711
</div>
@@ -757,6 +770,36 @@ <h4>VOC</h4>
757770
</div>
758771
</div>
759772
</div>
773+
<div class="col-sm-3 col-md-3 col-lg-3">
774+
<div class="thumbnail">
775+
<img
776+
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"
777+
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
778+
<div class="caption">
779+
<h4>{{'PARTICULLARMATTER' | translate}} PM2.5</h4>
780+
<p>(SDS011)</p>
781+
<p>
782+
<button type="button" class="btn btn-success"
783+
ng-click="register.addSensorTemplate('PM25')">{{'ADD_SENSOR'|translate}}</button>
784+
</p>
785+
</div>
786+
</div>
787+
</div>
788+
<div class="col-sm-3 col-md-3 col-lg-3">
789+
<div class="thumbnail">
790+
<img
791+
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"
792+
style="vertical-align: middle; height: 90px; width: 90px;" alt="">
793+
<div class="caption">
794+
<h4>{{'PARTICULLARMATTER' | translate}} PM10</h4>
795+
<p>(SDS011)</p>
796+
<p>
797+
<button type="button" class="btn btn-success"
798+
ng-click="register.addSensorTemplate('PM10')">{{'ADD_SENSOR'|translate}}</button>
799+
</p>
800+
</div>
801+
</div>
802+
</div>
760803
<div class="col-sm-3 col-md-3 col-lg-3">
761804
<div class="thumbnail">
762805
<img src="https://sensebox.kaufen/api/public/uploads/1572259222502-SMT50_freigestellt_02.png"

0 commit comments

Comments
 (0)