code: def get_device_status(host, services=None, zconf=None):
      
  
      try:
          status = _get_status(
              host, services, zconf, "/setup/eureka_info?options=detail")
  
          friendly_name = status.get('name', "Unknown Chromecast")
          model_name = "Unknown model name"
          manufacturer = "Unknown manufacturer"
          if 'detail' in status:
              model_name = status['detail'].get('model_name', model_name)
              manufacturer = status['detail'].get('manufacturer', manufacturer)
  
          udn = status.get('ssdp_udn', None)
  
          cast_type = CAST_TYPES.get(model_name.lower(),
                                     CAST_TYPE_CHROMECAST)
  
          uuid = None
          if udn:
              uuid = UUID(udn.replace('-', ''))
  
          return DeviceStatus(friendly_name, model_name, manufacturer,
                              uuid, cast_type)
  
      except (requests.exceptions.RequestException, OSError, ValueError):
          return None
docs: :param host: Hostname or ip to fetch status from
      :type host: str
      :return: The device status as a named tuple.
      :rtype: pychromecast.dial.DeviceStatus or None