'Ensure the information from the TP-Link AP is up to date.
Return boolean if scanning successful.'

def _update_info(self):

    _LOGGER.info('Loading    wireless    clients...')
    base_url = 'http://{}'.format(self.host)
    header = {'User-Agent': 'Mozilla/5.0    (Macintosh;    Intel    Mac    OS    X    10.12;    rv:53.0)    Gecko/20100101    Firefox/53.0', 'Accept': 'application/json,    text/javascript,    */*;    q=0.01', 'Accept-Language': 'Accept-Language:    en-US,en;q=0.5', 'Accept-Encoding': 'gzip,    deflate', 'Content-Type': 'application/x-www-form-urlencoded;    charset=UTF-8', 'X-Requested-With': 'XMLHttpRequest', 'Referer': (('http://' + self.host) + '/'), 'Connection': 'keep-alive', 'Pragma': 'no-cache', 'Cache-Control': 'no-cache'}
    password_md5 = hashlib.md5(self.password.encode('utf')).hexdigest().upper()
    session = requests.session()
    session.get(base_url, headers=header)
    login_data = {'username': self.username, 'password': password_md5}
    session.post(base_url, login_data, headers=header)
    timestamp = int((datetime.now().timestamp() * 1000.0))
    client_list_url = '{}/data/monitor.client.client.json'.format(base_url)
    get_params = {'operation': 'load', '_': timestamp}
    response = session.get(client_list_url, headers=header, params=get_params)
    session.close()
    try:
        list_of_devices = response.json()
    except ValueError:
        _LOGGER.error("AP    didn't    respond    with    JSON.    Check    if    credentials    are    correct.")
        return False
    if list_of_devices:
        self.last_results = {device['MAC'].replace('-', ':'): device['DeviceName'] for device in list_of_devices['data']}
        return True
    return False
