Appearance
traits/metadata.proto
Table of Contents
traits/metadata.proto
GetMetadataRequest
Field | Type | Label | Description |
---|---|---|---|
name | string | Name of the device to fetch the state for | |
read_mask | google.protobuf.FieldMask | Fields to fetch relative to the Metadata type |
Metadata
Metadata holds information about a device. The information properties are grouped based on the aspect of the device they relate to. The metadata object and each group may hold arbitrary data via the more property.
Field | Type | Label | Description |
---|---|---|---|
name | string | The canonical name for this device. | |
traits | TraitMetadata | repeated | |
appearance | Metadata.Appearance | Appearance describes properties of the device related to how it should be displayed on a user interface. | |
location | Metadata.Location | Location describes where the device is physically located. | |
id | Metadata.ID | ID records different IDs for the device across different systems. | |
product | Metadata.Product | Product describes the make and model of the device and who made it. | |
revision | Metadata.Revision | Revision describes this exact version of the device. Properties in Revision take president over fields in product. | |
installation | Metadata.Installation | Installation records information about the devices installation. | |
nics | Metadata.NIC | repeated | Nics describes the devices network interfaces. |
membership | Metadata.Membership | Membership describes how this device is related to other devices. | |
more | Metadata.MoreEntry | repeated | More contains any non-specified additional metadata that wouldn't fit into the other categories. |
Metadata.Appearance
Field | Type | Label | Description |
---|---|---|---|
title | string | Title holds the official name for the device. For example "Reception Printer" or "MR1 AC Unit" | |
description | string | Description holds additional detail about this device. For example "The printer for floor 3". |
other options; add when requested/needed string color; // a representative color string icon; string image; // in different resolutions? | | more | Metadata.Appearance.MoreEntry | repeated | |
Metadata.Appearance.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.ID
Field | Type | Label | Description |
---|---|---|---|
serial_number | string | ||
bim | string | ||
bacnet | string | ||
more | Metadata.ID.MoreEntry | repeated |
Metadata.ID.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.Installation
Field | Type | Label | Description |
---|---|---|---|
install_time | google.protobuf.Timestamp | ||
replace_time | google.protobuf.Timestamp | ||
installer | string | ||
labelled | bool | ||
label_time | google.protobuf.Timestamp | ||
more | Metadata.Installation.MoreEntry | repeated |
Metadata.Installation.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.Location
Field | Type | Label | Description |
---|---|---|---|
title | string | Title holds the official name for the location. For example "Meeting Room 1" | |
description | string | Description holds additional detail about the location. For example "North-east project room". | |
architecture_reference | string | Architectural reference holds the reference for the location in architectural drawings. | |
floor | string | The common name for the floor the device is located on. | |
zone | string | A user defined zone withing the building where the device is located. Different buildings organise their spaces differently into groups or zones, for example some buildings group by compass points: North and South, some by quarters. |
other options, add when requested/needed string room; string site; string country; // country name/code? string alignment; // left, centre, right, top, bottom-left, etc | | more | Metadata.Location.MoreEntry | repeated | |
Metadata.Location.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.Membership
Field | Type | Label | Description |
---|---|---|---|
group | string | Group holds a group name shared between this device and others. This can be useful for displaying this device on interfaces. | |
subsystem | string | Subsystem records which larger system this device is part of. For example "BMS" or "Lighting" | |
more | Metadata.Membership.MoreEntry | repeated |
Metadata.Membership.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.NIC
Field | Type | Label | Description |
---|---|---|---|
display_name | string | The name of this NIC, if there is one. | |
mac_address | string | The MAC address of this NIC. May take any of the common MAC formatting options, case insensitive 001B638445E6, 00:1b:63:84:45:e6, or 00-1B-63-84-45-E6. Non-hexadecimal digits should be ignored, and it should not be longer than 17 characters long - 12 digits in pairs + 5 separator chars. | |
ip | string | The V4 or V6 IP address of the NIC. | |
network | string | The network (subnet) the NIC is on. In the form <ip>/<bits> , the CIDR notation defined in RFC 4632 and RFC 4291. Masked bits may be masked but are not required to be. | |
gateway | string | The IP of the gateway. | |
dns | string | repeated | The IP of DNS servers, in priority order. |
assignment | Metadata.NIC.Assignment | ||
more | Metadata.NIC.MoreEntry | repeated |
Metadata.NIC.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.Product
Field | Type | Label | Description |
---|---|---|---|
title | string | ||
manufacturer | string | ||
model | string | ||
hardware_version | string | ||
firmware_version | string | ||
software_version | string | ||
kind | Metadata.Product.Kind | ||
more | Metadata.Product.MoreEntry | repeated |
Metadata.Product.Kind
Field | Type | Label | Description |
---|---|---|---|
title | string | ||
code | string |
Metadata.Product.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.Revision
Field | Type | Label | Description |
---|---|---|---|
title | string | ||
manufacture_date | google.protobuf.Timestamp | ||
model | string | ||
hardware_version | string | ||
firmware_version | string | ||
software_version | string | ||
batch | string | ||
more | Metadata.Revision.MoreEntry | repeated |
Metadata.Revision.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
PullMetadataRequest
Field | Type | Label | Description |
---|---|---|---|
name | string | Name of the device to fetch the state for | |
read_mask | google.protobuf.FieldMask | Fields to fetch relative to the Metadata type | |
updates_only | bool | When true the device will only send changes to the resource value. The default behaviour is to send the current value immediately followed by any updates as they happen. |
PullMetadataResponse
Field | Type | Label | Description |
---|---|---|---|
changes | PullMetadataResponse.Change | repeated | The list of changes which have occurred |
PullMetadataResponse.Change
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the device that emitted this change | |
metadata | Metadata | The new updated value. | |
change_time | google.protobuf.Timestamp | When the change occurred |
TraitMetadata
Field | Type | Label | Description |
---|---|---|---|
name | string | The fully qualified name of the trait. | |
more | TraitMetadata.MoreEntry | repeated |
TraitMetadata.MoreEntry
Field | Type | Label | Description |
---|---|---|---|
key | string | ||
value | string |
Metadata.NIC.Assignment
Name | Number | Description |
---|---|---|
ASSIGNMENT_UNSPECIFIED | 0 | |
DHCP | 1 | |
STATIC | 2 |
MetadataApi
MetadataApi describes information about a named device.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetMetadata | GetMetadataRequest | Metadata | GetMetadata returns information associated with the given name. |
PullMetadata | PullMetadataRequest | PullMetadataResponse stream | PullMetadata subscribes to changes in the information associated with the named device. |
MetadataInfo
todo: define MetadataInfo
Method Name | Request Type | Response Type | Description |
---|