Handle sensors that don't have a name, just a location

This commit is contained in:
Bendodroid 2024-01-14 21:54:01 +01:00
commit 0241a506d4
Signed by: bendodroid
GPG key ID: 3EEE19A0F73D5FFC
3 changed files with 20 additions and 9 deletions

View file

@ -42,10 +42,11 @@ func main() {
// Register handlers for Environmental Sensors
for key, envSensorConfigs := range conf.Dynamic.Sensors {
for i, envSensorConfig := range envSensorConfigs {
http.HandleFunc(
strings.ToLower(fmt.Sprintf(
"/sensors/%s/%s/%s", key, envSensorConfig.SensorData.Location, envSensorConfig.SensorData.Name,
)),
pattern := fmt.Sprintf("/sensors/%s/%s", key, envSensorConfig.SensorData.Location)
if envSensorConfig.SensorData.Name != "" {
pattern += "/" + envSensorConfig.SensorData.Name
}
http.HandleFunc(strings.ToLower(pattern),
handlers.EnvironmentSensor(
conf.Credentials, envSensorConfig.AllowedCredentials, &conf.Response.Sensors[key][i],
),