code: def update_group_color(self, lights: list) -> None:
          
          for group in self.groups.values():
              # Skip group if there are no common light ids.
              if not any({*lights} & {*group.lights}):
                  continue
  
              # More than one light means load_parameters called this method.
              # Then we take first best light to be available.
              light_ids = lights
              if len(light_ids) > 1:
                  light_ids = group.lights
  
              for light_id in light_ids:
                  if self.lights[light_id].reachable:
                      group.update_color_state(self.lights[light_id])
                      break
docs: Update group colors based on light states.
  
          deCONZ group updates don't contain any information about the current
          state of the lights in the group. This method updates the color
          properties of the group to the current color of the lights in the
          group.
  
          For groups where the lights have different colors the group color will
          only reflect the color of the latest changed light in the group.