    struct UnknownDeviceType

    extension UnknownDeviceType : CustomDebugStringConvertible, https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html, Equatable, https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/HasParts.html, Hashable, Sendable, SendableMetatype

A struct that represents an unknown device type.
- `


  ### [identifier](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/UnknownDeviceType#/s:13GoogleHomeSDK17UnknownDeviceTypeV10identifierSSvpZ)


  ` The device type's identifier.

  #### Declaration

  Swift

      static let identifier: String

- `


  ### [isUtilityType](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/UnknownDeviceType#/s:13GoogleHomeSDK17UnknownDeviceTypeV09isUtilityF0SbvpZ)


  ` Whether the device type is a utility type. If false, this type is an application type.

  #### Declaration

  Swift

      static let isUtilityType: Bool

- `


  ### [metadata](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/UnknownDeviceType#/s:13GoogleHomeSDK17UnknownDeviceTypeV8metadataAA0eF8MetadataVvp)


  ` Additional information about this device type.

  #### Declaration

  Swift

      let metadata: https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/DeviceTypeMetadata.html

- `


  ### [traits](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/UnknownDeviceType#/s:13GoogleHomeSDK17UnknownDeviceTypeV6traitsAA15TraitCollectionCvp)


  ` The traits that make up this device type.

  Use this to access traits that are not directly exposed as properties on the `https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html`,
  like custom traits and traits belonging to utility types.

  #### Declaration

  Swift

      let traits: https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/TraitCollection.html

- `


  ### [events](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/UnknownDeviceType#/s:13GoogleHomeSDK17UnknownDeviceTypeV6eventsAA15EventController_pvp)


  ` Entrypoint to subscribe to events on this DeviceType.

  #### Declaration

  Swift

      let events: any https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/EventController.html

- `


  ### [init(traits:eventController:metadataBuilder:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/UnknownDeviceType#/s:13GoogleHomeSDK17UnknownDeviceTypeV6traits15eventController15metadataBuilderAcA15TraitCollectionC_AA05EventI0_pAA0eF8MetadataVSayAA0L0_pGSgXEtKcfc)


  ` Creates a new `https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html` from the given trait collection.
  Throws
  Throws a `https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/HomeError.html` if the given collection is missing one or more required traits for the given device type.

  #### Declaration

  Swift

      init(traits: https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/TraitCollection.html, eventController: any https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/EventController.html, metadataBuilder: ([any https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/Trait.html]?) -> https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/DeviceTypeMetadata.html) throws

- `


  ### [debugDescription](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/UnknownDeviceType#/s:13GoogleHomeSDK17UnknownDeviceTypeV16debugDescriptionSSvp)


  ` A textual representation of this instance, suitable for debugging.

  Calling this property directly is discouraged. Instead, convert an
  instance of any type to a string by using the `String(reflecting:)`
  initializer. This initializer works with any type, and uses the custom
  `debugDescription` property for types that conform to
  `CustomDebugStringConvertible`:

      struct Point: CustomDebugStringConvertible {
          let x: Int, y: Int

          var debugDescription: String {
              return "(\(x), \(y))"
          }
      }

      let p = Point(x: 21, y: 30)
      let s = String(reflecting: p)
      print(s)
      // Prints "(21, 30)"

  The conversion of `p` to a string in the assignment to `s` uses the
  `Point` type's `debugDescription` property.

  #### Declaration

  Swift

      var debugDescription: String { get }