def _send_to_group(self, group, **kwargs):
        """ You shouldn't use this method directly.

        Send a single command to specific group.

        Handles automatically sending command to white or rgbw group.
        """
        retries = kwargs.get("retries", self.repeat_commands)
        for _ in range(retries):
            if kwargs.get("send_on", True):
                self.on(group)
            if group is None or group == 0:
                self._send_to_all_groups(**kwargs)
                continue

            if group < 1 or group > 4:
                raise AttributeError("Group must be between 1 and 4 (was %s)" % group)

            if kwargs.get("per_group"):
                self._send_command(kwargs.get("%s_cmd" % self.get_group_type(group), [None, None, None, None])[group - 1])
                continue
            if self.get_group_type(group) == "white":
                command = self.WHITE_COMMANDS.get(kwargs["command"])
            elif self.get_group_type(group) == "rgbw":
                if kwargs["command"] == "color_by_int":
                    command = (self.RGBW_COMMANDS["color_by_int"], struct.pack("B", kwargs["color"]))
                else:
                    command = self.RGBW_COMMANDS.get(kwargs["command"])
            self._send_command(command)
You shouldn't use this method directly.

        Send a single command to specific group.

        Handles automatically sending command to white or rgbw group.