<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def doUpdate(self, timeout=1):
 """Do a software update of the Fritz Box if available. :param float timeout: the timeout to wait for the action to be executed :return: a list of if an update was available and the update state (bool, str) :rtype: tuple(bool, str) """

        namespace = Fritz.getServiceType("doUpdate")
        uri = self.getControlURL(namespace)

        results = self.execute(uri, namespace, "X_AVM-DE_DoUpdate", timeout=timeout)

        return results["NewUpgradeAvailable"], results["NewX_AVM-DE_UpdateState"]