Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ env:
jobs:
lint:
name: Lint code using eslint
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3

Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:

build:
name: Build frontend
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3

Expand Down
Binary file added app/images/rg-15.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/images/senseBoxMCUS2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/images/solarpanel2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion app/scripts/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@
'$translateProvider',
function ($translateProvider) {
$translateProvider.useStaticFilesLoader({
prefix: 'https://unpkg.com/@sensebox/opensensemap-i18n@4.3.0/dist/',
prefix: 'https://unpkg.com/@sensebox/opensensemap-i18n@latest/dist/',
suffix: '.json',
});
$translateProvider.use('de_DE');
Expand Down
27 changes: 18 additions & 9 deletions app/scripts/controllers/account.box.edit.script.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
vm.box = boxData;
vm.display_enabled = false;
vm.enable_debug = false;
vm.serialPort = 'Serial1';
vm.sdsSerialPort = 'Serial1';
vm.rg15SerialPort = 'Serial1';
vm.boxScript = '';
vm.showConfiguration = false;
vm.showSerialPort = false;
vm.showSdsPort = false;
vm.showRG15Port = false;
vm.soilDigitalPort = 'A';
vm.showSoilDigitalPort = false;
vm.soundMeterPort = 'B';
Expand Down Expand Up @@ -43,16 +45,11 @@
////

function activate () {
console.log(boxData);

Check warning on line 48 in app/scripts/controllers/account.box.edit.script.js

View workflow job for this annotation

GitHub Actions / Lint code using eslint

Unexpected console statement
if (boxData.model.startsWith('homeV2Wifi')) {
vm.showConfiguration = true;
vm.showWifiConfiguration = true;
}
if (boxData.model === 'homeV2WifiFeinstaub' || boxData.sensorsArray.filter(function (s) {
return s.title === 'PM10';
}).length > 0) {
vm.showSerialPort = true;
}

if (boxData.model === 'homeV2Lora') {
vm.showConfiguration = true;
vm.showTTNConfiguration = true;
Expand All @@ -67,6 +64,17 @@
}).length !== 0) {
vm.showSoilDigitalPort = true;
}
if (boxData.sensorsArray.filter(function (s) {
return s.sensorType === 'RG15';
}).length !== 0) {
vm.showRG15Port = true;
}

if (boxData.sensorsArray.filter(function (s) {
return (s.sensorType === 'SPS30' || s.sensorType === 'SDS 011');
}).length !== 0) {
vm.showSdsPort = true;
}

if (boxData.sensorsArray.filter(function (s) {
return s.sensorType === 'SOUNDLEVELMETER';
Expand All @@ -91,8 +99,9 @@

function getScript () {
return AccountService.getScript(boxData._id, {
serialPort: vm.serialPort,
soilDigitalPort: vm.soilDigitalPort,
sdsSerialPort: vm.sdsSerialPort,
rg15SerialPort: vm.rg15SerialPort,
soundMeterPort: vm.soundMeterPort,
windSpeedPort: vm.windSpeedPort,
ssid: vm.wifi.ssid,
Expand Down
80 changes: 73 additions & 7 deletions app/scripts/controllers/register.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,12 @@
bme680: false,
co2: false,
dps310: false,
sps30: false
sps30: false,
rg15: false,
sb041: false,
},
serialPort: 'Serial1',
sdsSerialPort: 'Serial1',
rg15SerialPort: 'Serial1',
soilDigitalPort: 'A',
soundMeterPort: 'B',
windSpeedPort: 'C',
Expand Down Expand Up @@ -196,7 +199,9 @@

function getScript () {
return AccountService.getScript(vm.newSenseBox.id, {
serialPort: vm.newSenseBox.serialPort,
model: vm.newSenseBox.model === 'homeV2WifiFeinstaub' ? 'homeV2' : vm.newSenseBox.model,
sdsSerialPort: vm.newSenseBox.sdsSerialPort,
rg15SerialPort: vm.newSenseBox.rg15SerialPort,
soilDigitalPort: vm.newSenseBox.soilDigitalPort,
soundMeterPort: vm.newSenseBox.soundMeterPort,
windSpeedPort: vm.newSenseBox.windSpeedPort,
Expand Down Expand Up @@ -232,6 +237,7 @@
return 'homeV2';
}


if (vm.modelSelected.id.startsWith('home')) {
return 'home';
}
Expand Down Expand Up @@ -374,7 +380,8 @@
function downloadArduino (boxId, model) {
var data = {};
if (model.startsWith('homeV2')) {
data.serialPort = vm.newModel.serialPort;
data.sdsSerialPort = vm.newSenseBox.sdsSerialPort;
data.rg15SerialPort = vm.newSenseBox.rg15SerialPort;
data.soilDigitalPort = vm.newSenseBox.soilDigitalPort;
data.soundMeterPort = vm.newSenseBox.soundMeterPort;
data.windSpeedPort = vm.newSenseBox.windSpeedPort;
Expand Down Expand Up @@ -415,6 +422,9 @@
} else {
vm.newSenseBox.model = vm.modelSelected.id;
}
vm.newSenseBox.solar = vm.newModel.solar;



if (vm.modelSelected.id === 'homeV2') {
vm.newSenseBox.sensorTemplates = [];
Expand Down Expand Up @@ -445,13 +455,19 @@
case 'sps30':
vm.newSenseBox.sensorTemplates.push('sps30');
break;
case 'rg15':
vm.newSenseBox.sensorTemplates.push('rg15');
break;
case 'sb041':
vm.newSenseBox.sensorTemplates.push('sb041');
break;
}
}
}
}
if (vm.extensions.feinstaub.id !== '') {
vm.newSenseBox.sensorTemplates.push('sds 011');
vm.newSenseBox.serialPort = vm.newModel.serialPort;
vm.newSenseBox.sdsSerialPort = vm.newModel.sdsSerialPort;
}
if (vm.extensions.soilMoisture.id !== '') {
vm.newSenseBox.sensorTemplates.push('smt50');
Expand All @@ -465,6 +481,10 @@
vm.newSenseBox.sensorTemplates.push('windspeed');
vm.newSenseBox.windSpeedPort = vm.extensions.windSpeed.port;
}
if (vm.newModel.solar) {
vm.newSenseBox.sensorTemplates.push('solar');
}

}

if (vm.newModel.connection) {
Expand All @@ -479,6 +499,7 @@
vm.newSenseBox.model + vm.extensions.feinstaub.id;
}


AccountService.postNewBox(vm.newSenseBox)
.then(function (data) {
vm.newSenseBox.id = data.data._id;
Expand Down Expand Up @@ -677,6 +698,36 @@
unit = 'µg/m³';
sensorType = 'SPS30';
break;
case 'rg15_intensity':
icon = 'osem-cloud';
title = 'Niederschlagsintensität';
unit = 'mm/h';
sensorType = 'RG15';
break;
case 'rg15_totalAcc':
icon = 'osem-cloud';
title = 'Gesamtniederschlag';
unit = 'mm';
sensorType = 'RG15';
break;
case 'sb041_level':
icon = 'osem-battery';
title = 'Ladelevel';
unit = 'V';
sensorType = 'SB041';
break;
case 'sb041_batteryvoltage':
icon = 'osem-battery';
title = 'Batteriespannung';
unit = 'V';
sensorType = 'SB041';
break;
case 'sb041_solarvoltage':
icon = 'osem-battery';
title = 'Solarspannung';
unit = 'V';
sensorType = 'SB041';
break;
}

return {
Expand Down Expand Up @@ -842,15 +893,13 @@
if (newValue.indexOf('home') === 0) {
vm.modelSelected.name = 'senseBox Home ' + newValue.substring(4);
vm.sensorSetup = vm.modelSelected.id;

vm.newModel.connection = null;
vm.extensions.feinstaub.id = '';

vm.invalidHardware = false;

return;
}

if (newValue.indexOf('luftdaten') === 0) {
vm.sensorSetup = vm.modelSelected.id;
vm.extensions.feinstaub.id = '';
Expand Down Expand Up @@ -947,6 +996,13 @@
addSensorTemplate('SPS30_PM25');
addSensorTemplate('SPS30_PM4');
addSensorTemplate('SPS30_PM10');
} else if (newValue.rg15 && oldValue.rg15 === false) {
addSensorTemplate('rg15_intensity');
addSensorTemplate('rg15_totalAcc');
} else if (newValue.sb041 && oldValue.sb041 === false) {
addSensorTemplate('sb041_level');
addSensorTemplate('sb041_batteryvoltage');
addSensorTemplate('sb041_solarvoltage');
}

// Remove sensor templates
Expand All @@ -973,8 +1029,18 @@
removeSensorTemplate(generateSensorTemplate('SPS30_P25'));
removeSensorTemplate(generateSensorTemplate('SPS30_PM4'));
removeSensorTemplate(generateSensorTemplate('SPS30_PM10'));
} else if (oldValue.rg15 && newValue.rg15 === '') {
removeSensorTemplate(generateSensorTemplate('rg15_intensity'));
removeSensorTemplate(generateSensorTemplate('rg15_eventAcc'));
removeSensorTemplate(generateSensorTemplate('rg15_totalAcc'));
} else if (oldValue.sb041 && newValue.sb041 === '') {
removeSensorTemplate(generateSensorTemplate('sb041_level'));
removeSensorTemplate(generateSensorTemplate('sb041_batteryvoltage'));
removeSensorTemplate(generateSensorTemplate('sb041_solarvoltage'));
}



// 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;
Expand Down
20 changes: 17 additions & 3 deletions app/views/account.box.edit.script.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,25 @@ <h3>{{'CONFIGURATION'|translate}}</h3>
<span style="vertical-align: middle;">{{'DISPLAY_ENABLED' | translate}}</span>
</div>
</div>
<div class="form-group break" ng-if="script.showSerialPort">
<label for="serialport">{{'PORT'|translate}}</label>
<div class="form-group break" ng-if="script.showSdsPort">
<label for="serialport">Serieller Port (SDS011)</label>
<div class="input-group" uib-tooltip-template="'tooltip_serialports.html'" tooltip-placement="bottom"
tooltip-trigger="'mouseenter'">
<select type="text" class="form-control" id="serialport" ng-model="script.serialPort"
<select type="text" class="form-control" id="serialport" ng-model="script.sdsSerialPort"
ng-change="script.generateScript()">
<option value="Serial1">Serial 1</option>
<option value="Serial2">Serial 2</option>
</select>
<div class="input-group-addon">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
</div>
</div>
</div>
<div class="form-group break" ng-if="script.showRG15Port">
<label for="serialport">Serieller Port (RG15)</label>
<div class="input-group" uib-tooltip-template="'tooltip_serialports.html'" tooltip-placement="bottom"
tooltip-trigger="'mouseenter'">
<select type="text" class="form-control" id="serialport" ng-model="script.rg15SerialPort"
ng-change="script.generateScript()">
<option value="Serial1">Serial 1</option>
<option value="Serial2">Serial 2</option>
Expand Down
Loading
Loading