Metadata Trait
API Service: MetadataApi
MetadataApi describes information about a named device.
| Method | 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. |
Info Service: MetadataInfo
todo: define MetadataInfo
No methods defined for this service.
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 Name | Type | Description |
|---|---|---|
| name | string | The canonical name for this device. |
| traits | repeated TraitMetadata | |
| 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 | repeated Metadata.NIC | Nics describes the devices network interfaces. |
| membership | Metadata.Membership | Membership describes how this device is related to other devices. |
| more | map<string, string> | More contains any non-specified additional metadata that wouldn't fit into the other categories. |
Metadata.Appearance
| Field Name | Type | 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". |
| more | map<string, string> |
Metadata.Location
| Field Name | Type | 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. |
| more | map<string, string> |
Metadata.ID
| Field Name | Type | Description |
|---|---|---|
| serial_number | string | |
| bim | string | |
| bacnet | string | |
| more | map<string, string> |
Metadata.Product
| Field Name | Type | Description |
|---|---|---|
| title | string | |
| manufacturer | string | |
| model | string | |
| hardware_version | string | |
| firmware_version | string | |
| software_version | string | |
| kind | Metadata.Product.Kind | |
| more | map<string, string> |
Metadata.Product.Kind
| Field Name | Type | Description |
|---|---|---|
| title | string | |
| code | string |
Metadata.Revision
| Field Name | Type | Description |
|---|---|---|
| title | string | |
| manufacture_date | google.protobuf.Timestamp | |
| model | string | |
| hardware_version | string | |
| firmware_version | string | |
| software_version | string | |
| batch | string | |
| more | map<string, string> |
Metadata.Installation
| Field Name | Type | Description |
|---|---|---|
| install_time | google.protobuf.Timestamp | |
| replace_time | google.protobuf.Timestamp | |
| installer | string | |
| labelled | bool | |
| label_time | google.protobuf.Timestamp | |
| more | map<string, string> |
Metadata.NIC
| Field Name | Type | 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 | repeated string | The IP of DNS servers, in priority order. |
| assignment | Metadata.NIC.Assignment | |
| more | map<string, string> |
Metadata.NIC.Assignment
| Name | Number | Description |
|---|---|---|
| ASSIGNMENT_UNSPECIFIED | 0 | |
| DHCP | 1 | |
| STATIC | 2 |
Metadata.Membership
| Field Name | Type | 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 | map<string, string> |
TraitMetadata
| Field Name | Type | Description |
|---|---|---|
| name | string | The fully qualified name of the trait. |
| more | map<string, string> |
GetMetadataRequest
| Field Name | Type | 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 |
PullMetadataRequest
| Field Name | Type | 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 Name | Type | Description |
|---|---|---|
| changes | repeated PullMetadataResponse.Change | The list of changes which have occurred |
PullMetadataResponse.Change
| Field Name | Type | 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 |