pub struct Device {
pub id: String,
pub type: String,
pub traits: Vec<String>,
pub name: Option<DeviceNames>,
pub will_report_state: bool,
pub room_hint: String,
pub structure_hint: String,
pub device_info: Option<DeviceInfo>,
pub attributes: Option<Struct>,
pub custom_data: Option<Struct>,
pub other_device_ids: Vec<AgentOtherDeviceId>,
pub notification_supported_by_agent: bool,
}
Expand description
Third-party device definition.
Fields§
§id: String
Third-party device ID.
type: String
Hardware type of the device. See device types.
traits: Vec<String>
Traits supported by the device. See device traits.
name: Option<DeviceNames>
Names given to this device by your smart home Action.
will_report_state: bool
Indicates whether your smart home Action will report state of this device to Google via [ReportStateAndNotification][google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification].
room_hint: String
Suggested name for the room where this device is installed. Google attempts to use this value during user setup.
structure_hint: String
Suggested name for the structure where this device is installed. Google attempts to use this value during user setup.
device_info: Option<DeviceInfo>
Device manufacturer, model, hardware version, and software version.
attributes: Option<Struct>
Attributes for the traits supported by the device.
custom_data: Option<Struct>
Custom device attributes stored in Home Graph and provided to your smart home Action in each QUERY and EXECUTE intent. Data in this object has a few constraints: No sensitive information, including but not limited to Personally Identifiable Information.
other_device_ids: Vec<AgentOtherDeviceId>
Alternate IDs associated with this device. This is used to identify cloud synced devices enabled for local fulfillment.
notification_supported_by_agent: bool
Indicates whether your smart home Action will report notifications to Google for this device via [ReportStateAndNotification][google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification].
If your smart home Action enables users to control device notifications, you should update this field and call [RequestSyncDevices][google.home.graph.v1.HomeGraphApiService.RequestSyncDevices].
Trait Implementations§
source§impl Message for Device
impl Message for Device
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Device
impl PartialEq for Device
impl StructuralPartialEq for Device
Auto Trait Implementations§
impl Freeze for Device
impl RefUnwindSafe for Device
impl Send for Device
impl Sync for Device
impl Unpin for Device
impl UnwindSafe for Device
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request