func updateHaPowerState(light common.Light, haLight model.LightBulb) (err error) { turnedOn, err := light.GetPower() if err != nil { log.WithField(`error`, err).Error(`Getting power state light`) return err } haLight.SetOn(turnedOn) return nil }
func updateLightColors(light common.Light, haLight model.LightBulb) { // HAP: [0...360] // LIFX: [0...MAX_UINT16] hue := haLight.GetHue() convertedHue := uint16(math.MaxUint16 * float64(hue) / 360) // HAP: [0...100] // LIFX: [0...MAX_UINT16] saturation := haLight.GetSaturation() convertedSaturation := uint16(math.MaxUint16 * float64(saturation) / 100) // HAP: [0...100] // LIFX: [0...MAX_UINT16] brightness := haLight.GetBrightness() convertedBrightness := uint16(math.MaxUint16 * int(brightness) / 100) // HAP: ? // LIFX: [2500..9000] kelvin := HSBKKelvinDefault log.Infof("[updateLightColors] Hue: %s => %s, Saturation: %s => %s, Brightness: %s => %s", hue, convertedHue, saturation, convertedSaturation, brightness, convertedBrightness) color := common.Color{ Hue: convertedHue, Saturation: convertedSaturation, Brightness: convertedBrightness, Kelvin: kelvin, } light.SetColor(color, 1*time.Second) }
func TestLightBulb(t *testing.T) { info := model.Info{ Name: "My Light Bulb", SerialNumber: "001", Manufacturer: "Google", Model: "Switchy", } var bulb model.LightBulb = NewLightBulb(info) if is, want := bulb.GetBrightness(), 100; is != want { t.Fatalf("is=%v want=%v", is, want) } bulb.SetBrightness(90) if is, want := bulb.GetBrightness(), 90; is != want { t.Fatalf("is=%v want=%v", is, want) } }
func updateHaColors(light common.Light, haLight model.LightBulb) (err error) { color, err := light.GetColor() if err != nil { log.WithField(`error`, err).Error(`Getting color state of light`) return err } hue := color.Hue saturation := color.Saturation brightness := color.Brightness convertedHue := float64(hue) * 360 / math.MaxUint16 convertedSaturation := float64(saturation) * 100 / math.MaxUint16 convertedBrightness := int(brightness) * 100 / math.MaxUint16 log.Infof("[updateHaColors] Hue: %s => %s, Saturation: %s => %s, Brightness: %s => %s", hue, convertedHue, saturation, convertedSaturation, brightness, convertedBrightness) haLight.SetHue(convertedHue) haLight.SetSaturation(convertedSaturation) haLight.SetBrightness(convertedBrightness) return nil }