fix(pkg/daemon): use measuredValue interface instead of different structs

This commit is contained in:
2019-06-25 22:22:34 +02:00
parent 30603e348c
commit 08c2cbbf57
20 changed files with 682 additions and 860 deletions

View File

@ -225,7 +225,7 @@ func (c *Configuration) EnableSensor(name string) error {
}
// GetHumiditySensors returns a list of humidity sensors
func (c *Configuration) GetHumiditySensors(option Option) []sensor.HumiditySensor {
func (c *Configuration) GetHumiditySensors(option Option) []sensor.Sensor {
humiditySensors := c.getHumiditySensors()
switch option {
@ -235,22 +235,22 @@ func (c *Configuration) GetHumiditySensors(option Option) []sensor.HumiditySenso
humiditySensors = append(humiditySensors[:i], humiditySensors[i+1:]...)
}
}
return c.convertHumiditySensors(humiditySensors)
return c.convertSensors(humiditySensors)
case DISABLED:
for i, humiditySensor := range humiditySensors {
if humiditySensor.SensorEnabled {
humiditySensors = append(humiditySensors[:i], humiditySensors[i+1:]...)
}
}
return c.convertHumiditySensors(humiditySensors)
return c.convertSensors(humiditySensors)
default:
return c.convertHumiditySensors(humiditySensors)
return c.convertSensors(humiditySensors)
}
}
// GetHumiditySensorsByName returns a list of temperature sensors by name,
// uuid or wire-id
func (c *Configuration) GetHumiditySensorsByName(names []string) []sensor.HumiditySensor {
func (c *Configuration) GetHumiditySensorsByName(names []string) []sensor.Sensor {
configHumiditySensors := make(map[string]*types.Sensor, 0)
for _, name := range names {
@ -271,7 +271,7 @@ func (c *Configuration) GetHumiditySensorsByName(names []string) []sensor.Humidi
humiditySensors = append(humiditySensors, cs)
}
return c.convertHumiditySensors(humiditySensors)
return c.convertSensors(humiditySensors)
}
func (c *Configuration) GetRGBLEDs(option Option) []rgbled.RGBLED {
@ -320,7 +320,7 @@ func (c *Configuration) GetRGBLEDsByName(names []string) []rgbled.RGBLED {
}
// GetTemperatureSensors returns a list of temperature sensors
func (c *Configuration) GetTemperatureSensors(option Option) []sensor.TemperatureSensor {
func (c *Configuration) GetTemperatureSensors(option Option) []sensor.Sensor {
temperatureSensors := c.getTemperatureSensors()
switch option {
@ -330,22 +330,22 @@ func (c *Configuration) GetTemperatureSensors(option Option) []sensor.Temperatur
temperatureSensors = append(temperatureSensors[:i], temperatureSensors[i+1:]...)
}
}
return c.convertTemperatureSensors(temperatureSensors)
return c.convertSensors(temperatureSensors)
case DISABLED:
for i, temperatureSensor := range temperatureSensors {
if temperatureSensor.SensorEnabled {
temperatureSensors = append(temperatureSensors[:i], temperatureSensors[i+1:]...)
}
}
return c.convertTemperatureSensors(temperatureSensors)
return c.convertSensors(temperatureSensors)
default:
return c.convertTemperatureSensors(temperatureSensors)
return c.convertSensors(temperatureSensors)
}
}
// GetTemperatureSensorsByName returns a list of temperature sensors by name,
// uuid or wire-id
func (c *Configuration) GetTemperatureSensorsByName(names []string) []sensor.TemperatureSensor {
func (c *Configuration) GetTemperatureSensorsByName(names []string) []sensor.Sensor {
configTemperatureSensors := make(map[string]*types.Sensor, 0)
for _, name := range names {
@ -366,7 +366,7 @@ func (c *Configuration) GetTemperatureSensorsByName(names []string) []sensor.Tem
temperatureSensors = append(temperatureSensors, cs)
}
return c.convertTemperatureSensors(temperatureSensors)
return c.convertSensors(temperatureSensors)
}
// RemoveRGBLED deletes a LED by its name or its unique UUID
@ -431,22 +431,26 @@ func (c *Configuration) RenameSensor(oldName, newName string) error {
return fmt.Errorf("Could not find remote %v to replace into with %v", oldName, newName)
}
func (c *Configuration) convertHumiditySensors(sensors []*types.Sensor) []sensor.HumiditySensor {
humiditySensors := make([]sensor.HumiditySensor, 0)
func (c *Configuration) convertSensors(sensors []*types.Sensor) []sensor.Sensor {
cachedSensors := make([]sensor.Sensor, 0)
for _, s := range sensors {
switch s.SensorModel {
case types.DHT11:
humiditySensors = append(humiditySensors, &sensor.DHT11{
cachedSensors = append(cachedSensors, &sensor.DHT11{
Sensor: s,
})
case types.DHT22:
humiditySensors = append(humiditySensors, &sensor.DHT22{
cachedSensors = append(cachedSensors, &sensor.DHT22{
Sensor: s,
})
case types.DS18B20:
cachedSensors = append(cachedSensors, &sensor.DS18B20{
Sensor: s,
})
}
}
return humiditySensors
return cachedSensors
}
func (c *Configuration) convertRGBLEDs(rgbLEDs []*types.RGBLED) []rgbled.RGBLED {
@ -461,28 +465,6 @@ func (c *Configuration) convertRGBLEDs(rgbLEDs []*types.RGBLED) []rgbled.RGBLED
return leds
}
func (c *Configuration) convertTemperatureSensors(sensors []*types.Sensor) []sensor.TemperatureSensor {
temperatureSensors := make([]sensor.TemperatureSensor, 0)
for _, s := range sensors {
switch s.SensorModel {
case types.DHT11:
temperatureSensors = append(temperatureSensors, &sensor.DHT11{
Sensor: s,
})
case types.DHT22:
temperatureSensors = append(temperatureSensors, &sensor.DHT22{
Sensor: s,
})
case types.DS18B20:
temperatureSensors = append(temperatureSensors, &sensor.DS18B20{
Sensor: s,
})
}
}
return temperatureSensors
}
func (c *Configuration) getHumiditySensors() []*types.Sensor {
humiditySensors := make([]*types.Sensor, 0)
for _, s := range c.Sensors {