async function poll(device) {
  logger.debug(`Polling device ${device.selector}`);
  const service = this.serviceManager.getService(device.service.name);
  if (service === null) {
    throw new NotFoundError(`Service ${device.service.name} was not found.`);
  }
  if (typeof get(service, 'device.poll') !== 'function') {
    throw new NotFoundError(`Service ${device.service.name} does not have a device.poll function.`);
  }
  try {
    await service.device.poll(device);
  } catch (e) {
    logger.error(`There was an error while polling device ${device.selector}`);
    logger.error(e);
  }
}
@description Poll a device to get new value.
@param {object} device - The device which is going to be polled.
@example
poll(device);