def set_chime(self, sound, cycles=None):
        """
        :param sound: a str, one of ["doorbell", "fur_elise", "doorbell_extended", "alert",
                                     "william_tell", "rondo_alla_turca", "police_siren",
                                     ""evacuation", "beep_beep", "beep", "inactive"]
        :param cycles: Undocumented seems to have no effect?
        :return: nothing
        """
        desired_state = {"activate_chime": sound}
        if cycles is not None:
            desired_state.update({"chime_cycles": cycles})
        response = self.api_interface.set_device_state(self,
                                                       {"desired_state": desired_state})
        self._update_state_from_response(response)