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