Bug in combined color and colorTemperature widget

There is a bug in the new combined widget. It is very cool to have a more compact UI. Just a small issue when making one of the two not-visible. It disables the entire widget instead of just one of the capabilities. As an example, I created an example that disables the colorControl when a light is switched off.

- component: main
    capability: colorControl
    version: 1
    values: []
    patch: []
    visibleCondition:
      component: main
      capability: switch
      version: 1
      value: switch.value
      valueType: string
      operator: EQUALS
      operand: 'on'
  - component: main
    capability: colorTemperature
    version: 1
    values:
      - key: setColorTemperature
        enabledValues: []
        range:
          - 2000
          - 6500
    patch: []

2 Likes

Thanks for bringing this to our attention, I’ll try to reproduce the error to report it to the team.

1 Like

Hi, @blueyetisoftware

Can you share your profile’s configuration, please? I created a test but the tiles for colorControl and colorTemperature didn’t merge, I guess it depends on the used caps or maybe the category…

name: light-color
components:
  - id: main
    capabilities:
      - id: switch
        version: 1
      - id: switchLevel
        version: 1
      - id: colorControl
        version: 1
      - id: colorTemperature
        version: 1
      - id: execute
        version: 1
      - id: refresh
        version: 1
    categories:
      - name: Light

ok, thank you for the info, it seems the combination of these two capabilities in a single tile is not supported in every device, I had to use another one to see it.
Anyway, as I was able to reproduce it in one, I’ll report it to the team.

1 Like

@nayelyz I have another bug related to this new widget. It only updates the current color swatch if the color is set with setHue and setSaturation. Using the combined setColor is not changing the color in the UI. Still love the new widget though. Much cleaner.

Doesn’t Update

device:emit_event(capabilities.colorControl.color(json.encode({
    hue = hue,
    saturation = saturation
})))

Does Update

device:emit_event(capabilities.colorControl.hue(hue))
device:emit_event(capabilities.colorControl.saturation(saturation))