'Retrieve latest state.'

def update(self):

    now_playing = self.client.now_playing()
    self.update_state(now_playing)
    found_devices = self.client.airplay_devices()
    found_devices = found_devices.get('airplay_devices', [])
    new_devices = []
    for device_data in found_devices:
        device_id = device_data.get('id')
        if self.airplay_devices.get(device_id):
            airplay_device = self.airplay_devices.get(device_id)
            airplay_device.update_state(device_data)
        else:
            airplay_device = AirPlayDevice(device_id, self.client)
            airplay_device.update_state(device_data)
            self.airplay_devices[device_id] = airplay_device
            new_devices.append(airplay_device)
    if new_devices:
        self._add_devices(new_devices)
