sensebox / openSenseMap

Platform for storing and exploring sensor data
https://opensensemap.org
MIT License
99 stars 51 forks source link

Adding multiple sensors of one type to senseBox:home #403

Open mariopesch opened 3 years ago

mariopesch commented 3 years ago

Don't know if its directly related to the frontend, api or the node-sketch-templater

Expected Behavior

If a user want to add a second Temperature and Humidity Sensor of the same type there should either be a warning, that it is not possible or the box should be converted to a custom box, so that the no wrong code won't gets generated.

Actual Behavior

If you add a second Temperature and Humidity Sensor (same HDC1080 as the first one) to the senseBox:home the Sketch doesn't compile anymore as TEMPERSENSOR gets defined multiple times.

// Sensor SENSOR_IDs
// Temperatur
const char TEMPERSENSOR_ID[] PROGMEM = "5dea9e381dd36c001945f1a2";
// rel. Luftfeuchte
const char RELLUFSENSOR_ID[] PROGMEM = "5dea9e381dd36c001945f1a1";
// Luftdruck
const char LUFTDRSENSOR_ID[] PROGMEM = "5dea9e381dd36c001945f1a0";
// Temperatur draußen
const char TEMPERSENSOR_ID[] PROGMEM = "60463aebf7b313001b52b56e";
ubergesundheit commented 3 years ago

I don't see any reasons not to support multiple sensors of the same type. So this should be fixed in node-sketch-templater. It should be possible to change he <TYPE>SENSOR_ID to include an index

mpfeil commented 2 years ago

We tackled this in PR https://github.com/sensebox/node-sketch-templater/pull/86 on the node-sketch-templater.

The PR just fixes the following scenario: Connecting two different sensor types measuring the same phenomenon. The variables are build like this: SENSORTYPE_SENSORNAMESENSOR_ID.

@mariopesch for the senseBox:home sketches it is not possible to register a device with multiple sensors of the same type or am I missing something here? At least through the registration process in the frontend it is not possible.

mariopesch commented 2 years ago

Yes through the normal registration process its not possible, but if you manually add a second temperature and humidity sensor of the same type as the first one the sketch templater still generates a code, but a faulty one.