feat: select optional sensors to read humidity or temperature
This commit is contained in:
		| @@ -11,7 +11,7 @@ import ( | ||||
| 	"git.cryptic.systems/fh-trier/go-flucky/pkg/sensor" | ||||
|  | ||||
| 	"git.cryptic.systems/fh-trier/go-flucky/pkg/types" | ||||
| 	"github.com/satori/go.uuid" | ||||
| 	uuid "github.com/satori/go.uuid" | ||||
| ) | ||||
|  | ||||
| // FluckyConfig dasd | ||||
| @@ -205,9 +205,26 @@ func (fc *FluckyConfig) EnableSensor(nameOrUUID string) error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (fc *FluckyConfig) GetHumiditySensors() []sensor.HumiditySensor { | ||||
| func (fc *FluckyConfig) GetHumiditySensors(namesOrUUIDs []string) []sensor.HumiditySensor { | ||||
| 	hs := []sensor.HumiditySensor{} | ||||
| 	for _, s := range fc.Sensors { | ||||
| 		// select only named sensors | ||||
| 		if len(namesOrUUIDs) > 0 { | ||||
| 			found := false | ||||
| 			for _, nameOrUUID := range namesOrUUIDs { | ||||
| 				if nameOrUUID == s.SensorID || nameOrUUID == s.SensorName { | ||||
| 					found = true | ||||
| 					break | ||||
| 				} | ||||
| 			} | ||||
| 			if !found { | ||||
| 				continue | ||||
| 			} | ||||
| 		} | ||||
| 		// skip disabled sensors | ||||
| 		if !s.SensorEnabled { | ||||
| 			continue | ||||
| 		} | ||||
| 		switch s.SensorModel { | ||||
| 		case types.DHT11: | ||||
| 			hs = append(hs, &sensor.DHT11Sensor{ | ||||
| @@ -222,15 +239,26 @@ func (fc *FluckyConfig) GetHumiditySensors() []sensor.HumiditySensor { | ||||
| 	return hs | ||||
| } | ||||
|  | ||||
| func (fc *FluckyConfig) GetTemperatureSensors() ([]sensor.TemperatureSensor, error) { | ||||
| func (fc *FluckyConfig) GetTemperatureSensors(namesOrUUIDs []string) ([]sensor.TemperatureSensor, error) { | ||||
| 	ts := []sensor.TemperatureSensor{} | ||||
|  | ||||
| 	for _, s := range fc.Sensors { | ||||
| 		// select only named sensors | ||||
| 		if len(namesOrUUIDs) > 0 { | ||||
| 			found := false | ||||
| 			for _, nameOrUUID := range namesOrUUIDs { | ||||
| 				if nameOrUUID == s.SensorID || nameOrUUID == s.SensorName { | ||||
| 					found = true | ||||
| 					break | ||||
| 				} | ||||
| 			} | ||||
| 			if !found { | ||||
| 				continue | ||||
| 			} | ||||
| 		} | ||||
| 		// skip disabled sensors | ||||
| 		if !s.SensorEnabled { | ||||
| 			continue | ||||
| 		} | ||||
|  | ||||
| 		switch s.SensorModel { | ||||
| 		case types.DHT11: | ||||
| 			ts = append(ts, &sensor.DHT11Sensor{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user