nl::Weave::Profiles::DeviceDescription

This namespace includes all interfaces within Weave for the Weave Device Description profile.

Summary

Enumerations

@155 enum
@156 enum
Message Types for the Device Description Profile.
@157{
  kTag_WeaveDeviceDescriptor = 1,
  kTag_VendorId = 0,
  kTag_ProductId = 1,
  kTag_ProductRevision = 2,
  kTag_ManufacturingDate = 3,
  kTag_SerialNumber = 4,
  kTag_Primary802154MACAddress = 5,
  kTag_PrimaryWiFiMACAddress = 6,
  kTag_RendezvousWiFiESSID = 7,
  kTag_PairingCode = 8,
  kTag_SoftwareVersion = 9,
  kTag_DeviceId = 10,
  kTag_FabricId = 11,
  kTag_PairingCompatibilityVersionMajor = 12,
  kTag_PairingCompatibilityVersionMinor = 13,
  kTag_DeviceFeature_HomeAlarmLinkCapable = 100,
  kTag_DeviceFeature_LinePowered = 101
}
enum
Data Element Tags for the Device Description Profile.
TargetDeviceModes{
  kTargetDeviceMode_Any = 0x00000000,
  kTargetDeviceMode_UserSelectedMode = 0x00000001
}
enum
Bit field (32-bits max) identifying which devices should respond to a LocateRequest Message based on their current mode.
TargetFabricIds{
  kTargetFabricId_NotInFabric = kFabricIdNotSpecified,
  kTargetFabricId_AnyFabric = kReservedFabricIdStart,
  kTargetFabricId_Any = kMaxFabricId
}
enum
Special target fabric IDs.

Functions

MatchTargetFabricId(uint64_t fabricId, uint64_t targetFabricId)
NL_DLL_EXPORT bool
Compare two fabric IDs to determine if they match (considering wildcard values).

Classes

nl::Weave::Profiles::DeviceDescription::DeviceDescriptionClient

Client object for issuing Device Description requests.

nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer

Server object for responding to Device Description requests.

nl::Weave::Profiles::DeviceDescription::IdentifyDeviceCriteria

Represents criteria use to select devices in the IdentifyDevice protocol.

nl::Weave::Profiles::DeviceDescription::IdentifyRequestMessage

Parsed form of an IdentifyRequest Message.

nl::Weave::Profiles::DeviceDescription::IdentifyResponseMessage

Parsed form of an IdentifyResponse Message.

nl::Weave::Profiles::DeviceDescription::TextDescriptorReader
nl::Weave::Profiles::DeviceDescription::TextDescriptorWriter
nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor

Contains descriptive information about a Weave device.

Enumerations

@155

 @155

@156

 @156

Message Types for the Device Description Profile.

@157

 @157

Data Element Tags for the Device Description Profile.

Properties
kTag_DeviceFeature_HomeAlarmLinkCapable

[ boolean ] Indicates a Nest Protect that supports connection to a home alarm panel.

Feature Tag

kTag_DeviceFeature_LinePowered

[ boolean ] Indicates a device that requires line power.

Feature Tag

kTag_DeviceId

[ uint, 2^64 max ] Weave device ID.

Context-specific Tag

kTag_FabricId

[ uint, 2^64 max ] ID of Weave fabric to which the device belongs.

Context-specific Tag

kTag_ManufacturingDate

[ uint, range 1-65535 ] Calendar date of manufacture in encoded form.

Context-specific Tag

kTag_PairingCode

[ UTF-8 string, len 1-16 ] The pairing code for the device.

Context-specific Tag

kTag_PairingCompatibilityVersionMajor

[ uint, range 1-65535 ] Pairing software compatibility major version.

Context-specific Tag

kTag_PairingCompatibilityVersionMinor

[ uint, range 1-65535 ] Pairing software compatibility minor version.

Context-specific Tag

kTag_Primary802154MACAddress

[ byte string, len = 8 ] MAC address for device's primary 802.15.4 interface.

Context-specific Tag

kTag_PrimaryWiFiMACAddress

[ byte string, len = 6 ] MAC address for device's primary WiFi interface.

Context-specific Tag

kTag_ProductId

[ uint, range 1-65535 ] Code identifying product.

Context-specific Tag

kTag_ProductRevision

[ uint, range 1-65535 ] Code identifying product revision.

Context-specific Tag

kTag_RendezvousWiFiESSID

[ UTF-8 string, len 1-32 ] ESSID for device's WiFi rendezvous network.

Context-specific Tag

kTag_SerialNumber

[ UTF-8 string, len 1-32 ] Device serial number.

Context-specific Tag

kTag_SoftwareVersion

[ UTF-8 string, len 1-32 ] Version of software on the device.

Context-specific Tag

kTag_VendorId

[ uint, range 1-65535 ] Code identifying product vendor.

Context-specific Tag

kTag_WeaveDeviceDescriptor

Structure containing information describing a Weave device.

Top-level Tag

TargetDeviceModes

 TargetDeviceModes

Bit field (32-bits max) identifying which devices should respond to a LocateRequest Message based on their current mode.

Note that the modes defined here are intended to be general such that they can be applied to a variety of device types.

Properties
kTargetDeviceMode_Any

Locate all devices regardless of mode.

kTargetDeviceMode_UserSelectedMode

Locate all devices in 'user-selected' mode that is, where the device has been directly identified by a user by pressing a button (or equivalent).

TargetFabricIds

 TargetFabricIds

Special target fabric IDs.

Properties
kTargetFabricId_Any

Specifies that all devices should respond regardless of fabric membership.

kTargetFabricId_AnyFabric

Specifies that only devices that __are_ a member of a fabric should respond.

kTargetFabricId_NotInFabric

Specifies that only devices that are not a member of a fabric should respond.

Functions

MatchTargetFabricId

NL_DLL_EXPORT bool MatchTargetFabricId(
  uint64_t fabricId,
  uint64_t targetFabricId
)

Compare two fabric IDs to determine if they match (considering wildcard values).

Details
Parameters
[in] fabricId
The fabric ID to test.
[in] targetFabricId
The fabric ID to test against.
Return Values
TRUE
If the fabric ids match.
FALSE
If the fabric ids do not match.