    struct DimmablePlugInUnitDeviceType

Generated struct for the Dimmable Plug-In Unit Device Type.

A device that is capable of being switched on or off and have its level adjusted by means of a
bound controller device such as a Dimmer Switch or a Color Dimmer Switch.
- `


  ### [isUtilityType](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Structs/DimmablePlugInUnitDeviceType#/s:15GoogleHomeTypes28DimmablePlugInUnitDeviceTypeV09isUtilityI0SbvpZ)


  ` 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/GoogleHomeTypes/Structs/DimmablePlugInUnitDeviceType#/s:15GoogleHomeTypes28DimmablePlugInUnitDeviceTypeV8metadata0aB3SDK0hI8MetadataVvp)


  ` Additional information about this device type.

  #### Declaration

  Swift

      let metadata: DeviceTypeMetadata

- `


  ### [traits](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Structs/DimmablePlugInUnitDeviceType#/s:15GoogleHomeTypes28DimmablePlugInUnitDeviceTypeV6traits0aB3SDK15TraitCollectionCvp)


  ` The traits that make up this device type.

  Use this to access traits that are not directly exposed as properties on the `DeviceType`,
  like custom traits and traits belonging to utility types.

  #### Declaration

  Swift

      let traits: TraitCollection

- `


  ### [events](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Structs/DimmablePlugInUnitDeviceType#/s:15GoogleHomeTypes28DimmablePlugInUnitDeviceTypeV6events0aB3SDK15EventController_pvp)


  ` Entrypoint to subscribe to events on this DeviceType.

  #### Declaration

  Swift

      let events: any EventController

- `


  ### [init(traits:eventController:metadataBuilder:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Structs/DimmablePlugInUnitDeviceType#/s:15GoogleHomeTypes28DimmablePlugInUnitDeviceTypeV6traits15eventController15metadataBuilderAC0aB3SDK15TraitCollectionC_AG05EventL0_pAG0hI8MetadataVSayAG0P0_pGSgXEtKcfc)


  ` Creates a new `DeviceType` from the given trait collection.
  Throws
  Throws a `HomeError` if the given collection is missing one or more required traits for the given device type.

  #### Declaration

  Swift

      init(traits: TraitCollection, eventController: any EventController, metadataBuilder: ([any Trait]?) -> DeviceTypeMetadata) throws

- `


  ### [debugDescription](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Structs/DimmablePlugInUnitDeviceType#/s:15GoogleHomeTypes28DimmablePlugInUnitDeviceTypeV16debugDescriptionSSvp)


  ` 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 }

- `


  ### [DimmablePlugInUnitMatterTraits](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Structs/DimmablePlugInUnitDeviceType/DimmablePlugInUnitMatterTraits.html)


  ` Trait Container for DimmablePlugInUnitDeviceType Matter Traits.

  #### Declaration

  Swift

      struct DimmablePlugInUnitMatterTraits