def decode_response(self, raw_response):
        """
            Put in self.result the data from the response
            Can generate exception if the command and the response id does not match
            of if the response is an error
            :param raw_response:  Not decoded one string response
        """
        # Transform response into a dict
        import json
        data = json.loads(raw_response)
        # Retrieve the response id
        self.response_id = data[self.RESPONSE_ID]
        # Check if the response id match the command id
        self.check_id()
        # Get response data
        if self.RESPONSE_RESULT in data:
            self.result = data[self.RESPONSE_RESULT]
        elif self.RESPONSE_ERROR in data:
            # If the response is an error raise YeelightError Exception
            message = data[self.RESPONSE_ERROR][self.ERROR_MESSAGE]
            code = data[self.RESPONSE_ERROR][self.ERROR_CODE]
            raise YeelightError(message, code, self.command)