Returns the amount of watering time left in seconds.

        :param zone: The zone to check.
        :type zone: int
        :returns: If the zone is not running returns 0. If the zone doesn't
                  exist returns None. Otherwise returns number of seconds left
                  in the watering cycle.
        :rtype: None or seconds left in the waterting cycle.

def time_remaining(self, zone):
        """
        Returns the amount of watering time left in seconds.

        :param zone: The zone to check.
        :type zone: int
        :returns: If the zone is not running returns 0. If the zone doesn't
                  exist returns None. Otherwise returns number of seconds left
                  in the watering cycle.
        :rtype: None or seconds left in the waterting cycle.
        """

        self.update_controller_info()

        if zone < 0 or zone > (self.num_relays-1):
            return None

        if self.is_zone_running(zone):
            return int(self.running[0]['time_left'])

        return 0