'Retrieve data from THOMSON and return parsed result.'

def get_thomson_data(self):

    try:
        telnet = telnetlib.Telnet(self.host)
        telnet.read_until('Username    :    ')
        telnet.write((self.username + '\r\n').encode('ascii'))
        telnet.read_until('Password    :    ')
        telnet.write((self.password + '\r\n').encode('ascii'))
        telnet.read_until('=>')
        telnet.write('hostmgr    list\r\n'.encode('ascii'))
        devices_result = telnet.read_until('=>').split('\r\n')
        telnet.write('exit\r\n'.encode('ascii'))
    except EOFError:
        _LOGGER.exception('Unexpected    response    from    router')
        return
    except ConnectionRefusedError:
        _LOGGER.exception('Connection    refused    by    router.    Telnet    enabled?')
        return
    devices = {}
    for device in devices_result:
        match = _DEVICES_REGEX.search(device.decode('utf-8'))
        if match:
            devices[match.group('ip')] = {'ip': match.group('ip'), 'mac': match.group('mac').upper(), 'host': match.group('host'), 'status': match.group('status')}
    return devices
