# HasParts


```
interface HasParts
```

<br />

Known direct subclasses [DeviceType](https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType), [GenericPartsProvider](https://developers.home.google.com/reference/kotlin/com/google/home/GenericPartsProvider)

|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType` | Abstract base class for all generated DeviceType classes. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/GenericPartsProvider` |   |

Known indirect subclasses [AggregatorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/AggregatorDevice), [AirPurifierDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/AirPurifierDevice), [AirQualitySensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/AirQualitySensorDevice), [BasicVideoPlayerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicVideoPlayerDevice), [CastingVideoClientDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoClientDevice), [CastingVideoPlayerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice), [ChimeDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChimeDevice), [ClosureControllerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ClosureControllerDevice), [ClosureDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ClosureDevice), [ClosurePanelDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ClosurePanelDevice), [ColorDimmerSwitchDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ColorDimmerSwitchDevice), [ColorTemperatureLightDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ColorTemperatureLightDevice), [ContactSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ContactSensorDevice), [ContentAppDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ContentAppDevice), [ControlBridgeDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ControlBridgeDevice), [CookSurfaceDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CookSurfaceDevice), [CooktopDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CooktopDevice), [DeviceEnergyManagementDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DeviceEnergyManagementDevice), [DimmableLightDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DimmableLightDevice), [DimmablePlugInUnitDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DimmablePlugInUnitDevice), [DimmerSwitchDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DimmerSwitchDevice), [DishwasherDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DishwasherDevice), [DoorLockControllerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DoorLockControllerDevice), [DoorLockDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DoorLockDevice), [DoorbellDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DoorbellDevice), [ElectricalEnergyTariffDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ElectricalEnergyTariffDevice), [ElectricalMeterDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ElectricalMeterDevice), [ElectricalSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ElectricalSensorDevice), [ElectricalUtilityMeterDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ElectricalUtilityMeterDevice), [EnergyEvseDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/EnergyEvseDevice), [ExtendedColorLightDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ExtendedColorLightDevice), [ExtractorHoodDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ExtractorHoodDevice), [FanDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/FanDevice), [FlowSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/FlowSensorDevice), [GenericDeviceType](https://developers.home.google.com/reference/kotlin/com/google/home/GenericDeviceType), [GenericSwitchDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GenericSwitchDevice), [GoogleAirCoolerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleAirCoolerDevice), [GoogleAudioVideoReceiverDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleAudioVideoReceiverDevice), [GoogleAutoDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleAutoDevice), [GoogleBathtubDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleBathtubDevice), [GoogleBlenderDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleBlenderDevice), [GoogleBoilerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleBoilerDevice), [GoogleBorderRouterDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleBorderRouterDevice), [GoogleCameraDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleCameraDevice), [GoogleChargerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleChargerDevice), [GoogleClosetDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleClosetDevice), [GoogleCoffeeMakerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleCoffeeMakerDevice), [GoogleControlPanelDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleControlPanelDevice), [GoogleDehydratorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleDehydratorDevice), [GoogleDoorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleDoorDevice), [GoogleDoorbellDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleDoorbellDevice), [GoogleDrawerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleDrawerDevice), [GoogleFaucetDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleFaucetDevice), [GoogleFreezerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleFreezerDevice), [GoogleFryerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleFryerDevice), [GoogleGameConsoleDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleGameConsoleDevice), [GoogleGarageDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleGarageDevice), [GoogleGateDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleGateDevice), [GoogleGrillDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleGrillDevice), [GoogleKettleDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleKettleDevice), [GoogleMopDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleMopDevice), [GoogleMowerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleMowerDevice), [GoogleMulticookerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleMulticookerDevice), [GoogleNetworkDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleNetworkDevice), [GooglePergolaDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GooglePergolaDevice), [GooglePetFeederDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GooglePetFeederDevice), [GooglePressureCookerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GooglePressureCookerDevice), [GoogleRouterDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleRouterDevice), [GoogleSecuritySystemDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSecuritySystemDevice), [GoogleSetTopBoxDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSetTopBoxDevice), [GoogleShowerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleShowerDevice), [GoogleSoundbarDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSoundbarDevice), [GoogleSousVideDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSousVideDevice), [GoogleSprinklerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSprinklerDevice), [GoogleStandmixerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleStandmixerDevice), [GoogleStreamingBoxDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleStreamingBoxDevice), [GoogleStreamingSoundbarDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleStreamingSoundbarDevice), [GoogleStreamingStickDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleStreamingStickDevice), [GoogleTVDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleTVDevice), [GoogleWaterPurifierDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleWaterPurifierDevice), [GoogleWaterSoftenerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleWaterSoftenerDevice), [GoogleWindowDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleWindowDevice), [GoogleYogurtmakerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleYogurtmakerDevice), [HeatingCoolingUnitDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/HeatingCoolingUnitDevice), [HumiditySensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/HumiditySensorDevice), [IrrigationSystemDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IrrigationSystemDevice), [LaundryDryerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LaundryDryerDevice), [LaundryWasherDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LaundryWasherDevice), [LightSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LightSensorDevice), [MicrowaveOvenDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/MicrowaveOvenDevice), [ModeSelectDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ModeSelectDevice), [OccupancySensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensorDevice), [OnOffLightDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffLightDevice), [OnOffPluginUnitDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffPluginUnitDevice), [OnOffSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffSensorDevice), OtaProviderDevice, [OtaRequestorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OtaRequestorDevice), [OvenDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OvenDevice), [PowerSourceDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/PowerSourceDevice), [PressureSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/PressureSensorDevice), [PumpControllerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/PumpControllerDevice), [PumpDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/PumpDevice), [RainSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RainSensorDevice), [RefrigeratorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RefrigeratorDevice), [RoboticVacuumCleanerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RoboticVacuumCleanerDevice), [RoomAirConditionerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RoomAirConditionerDevice), [RootNodeDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RootNodeDevice), [SoilSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/SoilSensorDevice), [SpeakerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/SpeakerDevice), [TemperatureControlledCabinetDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/TemperatureControlledCabinetDevice), [TemperatureSensorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/TemperatureSensorDevice), [ThermostatDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatDevice), [UnknownDeviceType](https://developers.home.google.com/reference/kotlin/com/google/home/automation/UnknownDeviceType), [VideoRemoteControlDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/VideoRemoteControlDevice), [WaterFreezeDetectorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WaterFreezeDetectorDevice), [WaterLeakDetectorDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WaterLeakDetectorDevice), [WaterValveDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WaterValveDevice), [WindowCoveringControllerDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WindowCoveringControllerDevice), [WindowCoveringDevice](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WindowCoveringDevice)

|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/AggregatorDevice` | A device that aggregates endpoints as a collection. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/AirPurifierDevice` | A device that is designed to clean the air in a room. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/AirQualitySensorDevice` | A device that is able to monitor and measure various parameters related to ambient air quality in indoor and outdoor environments. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicVideoPlayerDevice` | A device that is able to play media to a physical output or to a display screen which is part of the device. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoClientDevice` | A device that is able to launch content on a remote device, for example, a smart speaker or a content provider's phone app. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CastingVideoPlayerDevice` | A device that is able to play media to a physical output or to a display screen which is part of the device, and is able to launch content. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChimeDevice` | A device that can play from a range of pre-installed sounds and is typically used with a doorbell, audio doorbell, or video doorbell. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ClosureControllerDevice` | A device that is capable of controlling a closure. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ClosureDevice` | A device that seals an opening, such as a window or door. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ClosurePanelDevice` | A device that exists only as a child of a closure. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ColorDimmerSwitchDevice` | A device that is able to control a lighting device by adjusting its color temperature and intensity. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ColorTemperatureLightDevice` | A lighting device that is capable of being switched on or off, the intensity of its light adjusted, and its color temperature adjusted. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ContactSensorDevice` | A device that detects whether an object, such as a door or window, is opened or closed. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ContentAppDevice` | A device that represents an application built by a content provider. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ControlBridgeDevice` | A controller device that when bound to a lighting device is capable of being used to switch the device on or off, adjust the intensity of the light, and adjust the color of the light being emitted. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CookSurfaceDevice` | A device that represents a heating object on a cooking or other similar device. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/CooktopDevice` | A device that represents a cooking surface with one or more heating elements. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DeviceEnergyManagementDevice` |   |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DimmableLightDevice` | A lighting device that is capable of being switched on or off, the intensity of its light adjusted, and being switched by means of a bound occupancy sensor. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DimmablePlugInUnitDevice` | 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. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DimmerSwitchDevice` | A device that is capable of switching a device on or off and controlling the intensity of the light. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DishwasherDevice` | A device that washes dishes, cutlery, and other items associated with food preparation and consumption. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DoorLockControllerDevice` | A device that is capable of controlling a door lock. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DoorLockDevice` | A device used to secure a door, which can be actuated either by means of a manual or a remote method. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/DoorbellDevice` | A switch which when pressed usually causes a chime to activate. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ElectricalEnergyTariffDevice` | A device that defines a tariff for the consumption or production of electrical energy. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ElectricalMeterDevice` | A device that meters the electrical energy being imported and/or exported for billing purposes. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ElectricalSensorDevice` |   |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ElectricalUtilityMeterDevice` | A device that provides utility account information, as well as optional details about tariffs and metering. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/EnergyEvseDevice` | A device that is capable of charging an electric or plug-in hybrid vehicle. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ExtendedColorLightDevice` | A lighting device that is capable of being switched on or off, the intensity of its light adjusted, its color temperature adjusted, and being switched by means of a bound occupancy sensor. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ExtractorHoodDevice` | A device that that is generally installed above a stove or cooktop to reduce odors and smoke by extracting the air. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/FanDevice` | A device that features a fan and supports multiple modes and variable speed. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/FlowSensorDevice` | A device that measures and reports the flow rate of a fluid. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/GenericDeviceType` |   |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GenericSwitchDevice` | A device that is capable of being switched on or off, either by latching (such as a rocker) or by momentary (such as a push button). |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleAirCoolerDevice` | A device that allows temperature cooling and humidity control. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleAudioVideoReceiverDevice` | A device that takes audio input (for example, HDMI, optical, and RCA) and outputs sound to one or more speakers. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleAutoDevice` |   |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleBathtubDevice` | A device that can be filled and drained, possibly to particular levels if the bathtub supports it. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleBlenderDevice` | A kitchen appliance device used to stir, chop, or mix food. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleBoilerDevice` | A device consisting of a closed vessel and heat source, in which steam or other vapor is generated from water to supply heat. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleBorderRouterDevice` |   |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleCameraDevice` | A device that captures still images or video. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleChargerDevice` | A device that charges electrical storage batteries. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleClosetDevice` | A device consisting of a small enclosed area that is used for storing items. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleCoffeeMakerDevice` | A kitchen applicance device that makes coffee. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleControlPanelDevice` | A device that is capable of configuring and controlling other devices. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleDehydratorDevice` | A kitchen appliance device that is used to dehydrate foods such as fruit and vegetables. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleDoorDevice` | A device consisting of a solid, movable barrier that controls access to an entrance, a closet, a cabinet, and so forth. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleDoorbellDevice` | A device actuated by a button outside a door that makes an audible and/or visual signal, used to request the attention of a person who is somewhere on the other side of the door. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleDrawerDevice` | A device consisting of a sliding, lidless, horizontal compartment that may be drawn out from a piece of furniture or a wall in order to gain access to it. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleFaucetDevice` | A device that controls the flow of liquid. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleFreezerDevice` | A temperature-managing device which may be adjusted to various mode settings, and may allow temperature monitoring. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleFryerDevice` | A kitchen appliance device that cooks food by frying it. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleGameConsoleDevice` | A device used to manage and play video games. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleGarageDevice` | A device consisting of a solid, movable barrier that controls access to a garage. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleGateDevice` | A device consisting of a solid, movable barrier that controls access to an outside area through a fence or wall. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleGrillDevice` | A device that is used to cook food on a grate by applying direct heat from below. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleKettleDevice` | A device that boils water for use in hot beverages such as tea. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleMopDevice` | A device that is used to clean floors by dampening and scrubbing them. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleMowerDevice` | A device used to trim a lawn to a uniform height. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleMulticookerDevice` | A device used to cook food using various methods including slow cooking, sauteing, steaming, or pressure cooking, typically while unattended. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleNetworkDevice` | A device representing a group of router nodes or a mesh network controlled as a single entity rather than as individual devices. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GooglePergolaDevice` | A device consisting of an arbor formed of horizontal trelliswork supported on columns or posts that can be opened and closed, potentially in more than one direction. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GooglePetFeederDevice` | A device that automatically dispenses food to house pets such as cats and dogs. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GooglePressureCookerDevice` | A kitchen appliance device that cooks food quickly at a high temperature using steam under pressure. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleRouterDevice` | A network device that controls network traffic between two or more different networks. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSecuritySystemDevice` | A device that monitors one or more sensors in a building and can raise an alert if a sensor detects unexpected activity. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSetTopBoxDevice` | A device connected to a TV that is used to access digital video channels. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleShowerDevice` | A device consisting of an area where water is sprayed on the body for the purpse of washing. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSoundbarDevice` | An all-in-one audio device that is often used in conjunction with a TV and has a bar form factor. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSousVideDevice` | A kitchen appliance device used to cook foods in a vacuum at comparatively low temperatures. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleSprinklerDevice` | A device used to distribute water evenly across an area such as a garden. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleStandmixerDevice` | A kitchen appliance device used to blend dry and liquid ingredients to make batter or dough. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleStreamingBoxDevice` | A device connected to a TV that is used to access digital streaming services for media and music, often used in conjunction with a display such as a TV. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleStreamingSoundbarDevice` | A device consisting of a combination of speaker and streaming stick or box that provides a streaming experience in addition to soundbar capabilities. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleStreamingStickDevice` | A device having a small stick-like form factor, usually powered by a USB or HDMI cable, that is connected to a display such as a TV and is used to access digital streaming services for media and music. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleTVDevice` | A device that combines a tuner, display, and loudspeakers for the purpose of viewing and hearing media. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleWaterPurifierDevice` | A device that filters and purifies water. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleWaterSoftenerDevice` | A device that removes minerals from water. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleWindowDevice` | A transparent device that allows light into a structure. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/google/GoogleYogurtmakerDevice` | A kitchen appliance device that makes yogurt. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/HeatingCoolingUnitDevice` | A device capable of heating or cooling a space in a home. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/HumiditySensorDevice` | A device that reports humidity measurements. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IrrigationSystemDevice` | A device that is used to control a group of irrigation zones to water landscape. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LaundryDryerDevice` | A device capable of drying laundry items. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LaundryWasherDevice` | A device capable of laundering consumer items. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LightSensorDevice` | A measurement and sensing device that is capable of measuring and reporting the intensity of light (illuminance) to which the sensor is being subjected. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/MicrowaveOvenDevice` | A device that uses microwaves to heat food and beverages. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ModeSelectDevice` | A device that can be set to one of several predefined values. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensorDevice` | A measurement and sensing device that is capable of measuring and reporting the occupancy state in a designated area. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffLightDevice` | A lighting device that is capable of being switched on or off. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffPluginUnitDevice` | A device that is capable of being switched on or off by means of a bound controller device such as an On/Off Light Switch or a Dimmer Switch. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffSensorDevice` | A measurement and sensing device that, when bound to a lighting device, is capable of being used to switch the device on or off. |
| `OtaProviderDevice` |   |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OtaRequestorDevice` |   |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OvenDevice` | A device that contains one or more cabinets, and optionally a cooktop, and is capable of heating food. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/PowerSourceDevice` | A device that provides energy to operate or charge other equipment. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/PressureSensorDevice` | A device that measures and reports the pressure of a fluid. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/PumpControllerDevice` | A device that is capable of configuring and controlling a pump. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/PumpDevice` | A device typically used to pump fluids like water that may have variable speed. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RainSensorDevice` | A device that reports the presence of rain. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RefrigeratorDevice` | A device containing one or more cabinets capable of chilling or freezing food. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RoboticVacuumCleanerDevice` | A device that autonomously cleans floors and carpets by vacuuming dirt and debris. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RoomAirConditionerDevice` | A device with the primary function of controlling the air temperature in a single room. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RootNodeDevice` | A utility device type required for all nodes in a fabric whose main function is to describe the node and what endpoints the node supports. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/SoilSensorDevice` | A device that reports measurements of soil values, such as moisture and (optionally) temperature |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/SpeakerDevice` | An audio or video device is capable of having its volume controlled and can be muted or unmuted. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/TemperatureControlledCabinetDevice` | A device that represents a single cabinet for chilling or freezing food in a refrigerator, freezer, wine chiller or other similar device. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/TemperatureSensorDevice` | A device that reports measurements of temperature. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatDevice` | A device that is capable of having either built-in or separate sensors for temperature, humidity or occupancy, and allows the desired temperature to be set. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/automation/UnknownDeviceType` | Represents an unknown DeviceType. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/VideoRemoteControlDevice` | A device that can control a video player, for example, a traditional universal remote control. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WaterFreezeDetectorDevice` | A device that reports the potential of water freezing. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WaterLeakDetectorDevice` | A device that reports the presence of a water leak. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WaterValveDevice` | A device that is capable of configuring and controlling the flow of water. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WindowCoveringControllerDevice` | A device that is capable of controlling an automatic window covering. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/WindowCoveringDevice` | A device that covers a window and is capable of being raised or tilted. |

*** ** * ** ***

Interface for objects that have parts. These objects are typically multi-part devices where each part represents a single part. (e.g. refrigerator with multiple cabinets, multi outlet strip.)

## Summary

| ### Public functions |
|---|---|
| `T` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType> https://developers.home.google.com/reference/kotlin/com/google/home/HasParts#part(com.google.home.DeviceTypeFactory,kotlin.Array)(type: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<T>, vararg tags: https://developers.home.google.com/reference/kotlin/com/google/home/Tag)` Returns the first part that matches the given type and tags. |
| `T?` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType> https://developers.home.google.com/reference/kotlin/com/google/home/HasParts#partOrNull(com.google.home.DeviceTypeFactory,kotlin.Array)(type: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<T>, vararg tags: https://developers.home.google.com/reference/kotlin/com/google/home/Tag)` Returns the first part that matches the given type and tags. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType>` | `https://developers.home.google.com/reference/kotlin/com/google/home/HasParts#parts()` The parts of this object represented as a set of device types. |

## Public functions

### part

```
fun <T : DeviceType> part(type: DeviceTypeFactory<T>, vararg tags: Tag): T
```

Returns the first part that matches the given type and tags. If no part matches, this method will throw a `https://developers.home.google.com/reference/kotlin/com/google/home/HomeException`. If there are multiple parts that match, this method will throw a `https://developers.home.google.com/reference/kotlin/com/google/home/HomeException` with error code `https://developers.home.google.com/reference/kotlin/com/google/home/HomeException.Codes#INVALID_ARGUMENT()`.

### partOrNull

```
fun <T : DeviceType> partOrNull(type: DeviceTypeFactory<T>, vararg tags: Tag): T?
```

Returns the first part that matches the given type and tags. If no part matches, this method will return null.

## Public properties

### parts

```
val parts: Set<DeviceType>
```

The parts of this object represented as a set of device types.