async stop() {
        const statusAttribute = this.robot.state.getFirstMatchingAttributeByConstructor(
            stateAttrs.StatusStateAttribute
        );

        if (statusAttribute && statusAttribute.value === stateAttrs.StatusStateAttribute.VALUE.RETURNING) {
            // With the "stop returning" command as opposed to the common "stop" the voice provides the correct feedback
            await this.robot.sendCommand("set_charge", [0]);
        } else if (statusAttribute && statusAttribute.value === stateAttrs.StatusStateAttribute.VALUE.CLEANING) {
            await this.setRectangularZoneMode(attributes.ViomiOperation.STOP);
        } else {
            await this.robot.sendCommand("set_mode", [attributes.ViomiOperation.STOP]);
        }

        this.robot.ephemeralState.lastOperationType = null;
        this.robot.ephemeralState.lastOperationAdditionalParams = [];
    }
Stop previously started operation, in a way that is not resumable.

@returns {Promise<void>}