def _transition_steps(self, brightness=None, color=None):
values = []<EOL>if brightness is not None:<EOL><INDENT>self._assert_is_brightness(brightness)<EOL>values.append((self.brightness, brightness))<EOL><DEDENT>if color is not None:<EOL><INDENT>self._assert_is_color(color)<EOL>values += [(self.color[i] / <NUM_LIT:255>, color[i] / <NUM_LIT:255>) for i in range(<NUM_LIT:3>)]<EOL><DEDENT>if not values:<EOL><INDENT>return <NUM_LIT:0><EOL><DEDENT>return max(self._driver.steps(*args) for args in values)<EOL>
Get the maximum number of steps needed for a transition.

:param brightness: The brightness to transition to (0.0-1.0).
:param color: The color to transition to.
:return: The maximum number of steps.