| # Glossary |
| |
| ## A |
| |
| #### account |
| An account created at [home.nest.com](https://home.nest.com) that grants the |
| account owner (user) control of the Nest device via web/mobile applications. |
| |
| #### address |
| Each node in a Weave fabric has an IPv6 unique local address (ULA). |
| |
| #### application layer |
| Weave profiles and associated gRPC APIs that provide the shared protocols used |
| to communicate between devices and service hosts. |
| |
| #### application layer protocols |
| Weave protocols that focus on process-to-process communication across an IP |
| network and provide a communication interface and end-user services. |
| |
| #### application level security |
| Weave devices may be included in one or more security domains, which are secured |
| with domain keys. The keys include a rolling epoch key and are managed by an |
| authorization service. See [authorization service](#authorization-service). |
| |
| #### authorization service |
| Service that authenticates devices and clients of the Weave system, and provides |
| to devices and clients authorized application keys and rolling epoch keys used |
| to implement application level security. See [application level |
| security](#application-level-security). |
| |
| ## B |
| |
| #### BLE |
| A wireless radio protocol supported by Weave. |
| |
| #### border router |
| A device in the home area network (HAN) that routes Weave messages between |
| Thread and Wi-Fi networks, and establishes a tunnel between the HAN and the Nest |
| Service. |
| |
| ## C |
| |
| #### CASE |
| The Certificate-assisted Session Establishment (CASE) protocol is the primary |
| Weave secure session establishment protocol using Weave certificates. This can |
| be a hardware certificate or an application level security certificate provided |
| by the authorization service. See [Weave certificate](#weave-certificate). |
| |
| #### controller |
| Controllers are services that implement advanced functionality. Examples include |
| the Lighting group controller, HVAC zone controller, and Occupancy arbiter |
| controller. |
| |
| #### command |
| An application-specific request that cannot be accomplished by standard |
| [requests](#request). Sometimes called a _custom command_. |
| |
| ## D |
| |
| #### device ID |
| Type of node ID. Each device has a 64-bit globally unique ID assigned at |
| manufacturing time. It is tied to the device certificate for authenticating the |
| device's identity. Used as a node ID for devices. See [node ID](#node-id). |
| |
| ## E |
| |
| #### event |
| A unidirectional assertion of truth about a trait at a specific time, with no |
| expected response. For example, a passcode entered to unlock a deadbolt |
| generates an event. The most common events are property changes expressed with |
| the special-purpose _notify_ [request](#request). |
| |
| ## F |
| |
| #### fabric key |
| A key unique to each Weave fabric generated by the first device creating the |
| fabric, and used to pair subsequent devices to the fabric. |
| |
| #### fabric ID |
| A unique 64-bit value that globally identifies the Weave fabric. Randomly |
| generated when a Nest device is introduced to a structure for the first time. |
| |
| #### fabric provisioning |
| Pairs devices to the local Weave fabric by providing the fabric ID and fabric |
| key necessary to communicate with other devices and services. |
| |
| #### factory provisioning |
| A manufacturing process that preconfigures devices with Weave profiles and a |
| hardware certificate. |
| |
| #### front-end module (FEM) |
| An integrated circuit (IC) that includes all the components necessary to process |
| an incoming radio frequency (RF) signal into an intermediary frequency (IF) or |
| into a digital form. |
| |
| ## H |
| |
| #### hardware certificate |
| A Weave certificate that is factory-provisioned at manufacturing time onto a |
| device. This certificate is used to authenticate the device when pairing the |
| device to the Weave fabric, and to the Nest Service. |
| |
| #### home area network (HAN) |
| A networked set of devices in the home that can be part of a Weave fabric, and |
| which provides secure wireless communications. |
| |
| ## I |
| |
| #### in-field provisioning |
| Supplies deployed devices the information they need to be full participants in a |
| Weave fabric. |
| |
| #### interface |
| A set of traits that describe a higher-level functionality. For example, the |
| functionality for a colored light contains the traits OnOff, Level, and Color, |
| all of which work together to implement the ColorLight interface. Defined in the |
| Weave [schema](#schema). |
| |
| ## L |
| |
| #### leaving a fabric |
| Breaking the relationship between a member node and the rest of the nodes in a |
| Weave fabric, transforming the node to an independent node. If a node leaves a |
| Weave fabric consisting of only two nodes, the fabric ceases to exist. |
| |
| ## M |
| |
| #### messages |
| Formatted data passed between nodes in the same network to effect change or |
| communicate information. |
| |
| #### metadata |
| Information placed on various schema components to formally constrain or further |
| describe that component, for example, marking a trait property as "read-only." |
| |
| #### mutual subscription |
| When resources subscribe to each other, and each act as both publisher and |
| subscriber for a trait. |
| |
| ## N |
| |
| #### NCP |
| Network coprocessor. An NCP implementation places the Thread stack on one |
| integrated circuit, while the Weave and application software reside on a second |
| chip. Compare to [SoC](#soc). |
| |
| #### Nest API |
| A real-time data API offering subscription-based access to data shared by Nest |
| devices. With the Nest API, you can build products that access Nest device data |
| to read or write shared data values. |
| |
| #### Nest Service |
| A cloud-based infrastructure that connects HAN devices into a data model, |
| provides remote access, and implements intelligent controllers to create a |
| comprehensive ecosystem. |
| |
| #### network provisioning |
| The act of establishing connectivity between a device and the local Wi-Fi or |
| Thread network. It can involve supplying a network ID and routing information or |
| network access credentials, such as the Wi-Fi pre-shared key. |
| |
| #### node |
| A Weave device or service host that is capable of participating in a Weave |
| fabric. Every node in the fabric has a unique IPv6 address. See [service |
| host](#service-host) and [Weave fabric](#weave-fabric). |
| |
| #### node-acquired address |
| IPv4 or IPv6 address assigned to a device by the end user's network |
| infrastructure, such as via DHCP. |
| |
| #### node ID |
| A unique 64-bit value that globally identifies a node in the Weave fabric. |
| |
| ## O |
| |
| #### one-way subscription |
| A request from a subscriber to a publisher for one or more trait instances. |
| |
| #### OTA |
| Over-the-air firmware updates. |
| |
| ## P |
| |
| #### pairing |
| The process of joining a device to a home network, Weave fabric, and Nest |
| Service user account. |
| |
| #### pairing code |
| Character code used to pair the device with the Weave fabric. This is encoded in |
| the Weave Device Descriptor and printed alongside the QR code to enable pairing. |
| See [Weave Device Descriptor](#weave-device-descriptor). |
| |
| #### PASE |
| Password-authenticated session establishment, a protocol for mutual |
| authentication, used to establish the initial secure session between two Weave |
| devices using the pairing code. |
| |
| #### property |
| Properties are characteristics of a trait that represent the state of a |
| resource. For example, the brightness of a light or whether someone is home. |
| Comprises type, name, tag, and metadata, such as default value and constraints. |
| Defined in the Weave [schema](#schema). |
| |
| #### protocol |
| Defines the packet structure of the data transmitted, as well as the control |
| commands that manage a session. |
| |
| #### publisher |
| A protocol role used in Weave Data Management. A publisher produces and serves |
| versioned instances of one or more schemas to one or more subscribers, and sends |
| notifications on a change to the schema. See [Weave Data |
| Management](#weave-data-management). |
| |
| ## R |
| |
| #### real-time trait management |
| A function of Weave Data Management in which all the state requests and events |
| for traits are managed in a publish-subscribe model. |
| |
| #### request |
| A Weave message type. Requests are requests for action on a trait with an |
| expected response. Requests may have parameters and a response with a status and |
| parameters. Properties are viewed and monitored with the standard _view_ |
| request, property changes are effected with the standard _update_ request, and a |
| publisher informs a subscriber on a change to a trait with the standard _notify_ |
| request. |
| |
| Application-specific requests beyond _view_, _update_, and _notify_ are handled |
| by [commands](#command). |
| |
| #### resource configuration |
| Configuration of how the traits of a particular resource definition are |
| implemented between a device and controllers. Defined in the Weave |
| [schema](#schema). |
| |
| #### resource handler |
| A resource proxy created in the Nest Service for every device in the HAN, to |
| enable remote access to the device. |
| |
| #### resource ID |
| Globally unique resource identifier. For devices, this is the device ID. Other |
| non-device resources are assigned by the Nest Service when they are created. |
| |
| #### resource proxy |
| Replicated handler of a resource's traits used for locality of data or to handle |
| sleepy endpoints. A proxy manages properties and queues resource requests and |
| commands. |
| |
| #### resource |
| A logical or physical thing, such as a device, structure, or user. It comprises |
| a set of trait and interface instances that describe its capabilities and |
| behaviors. Defined in the Weave [schema](#schema). |
| |
| #### RTOS |
| Real-time operating system used on constrained microcontrollers. Weave uses |
| [FreeRTOS](https://www.freertos.org/). |
| |
| ## S |
| |
| #### schema |
| A formal description of standard and vendor-specific traits and interfaces. |
| |
| #### service directory |
| A directory service available on a Weave fabric. |
| |
| #### service endpoint |
| A Nest Service endpoint implementing a specific Weave profile protocol addressed |
| by a single service endpoint ID in the Weave fabric. |
| |
| #### service endpoint ID |
| A type of node ID. Each service endpoint defined in the Nest Service is |
| identified by a service endpoint ID. The IDs are unique, assigned by Nest, and |
| will never change. |
| |
| #### service host |
| The entity (device, service, or app) responsible for a specific trait. |
| Responsibilities include managing state, responding to requests and commands, |
| and triggering events. |
| |
| #### service provisioning |
| Associates a Weave device with the Nest Service and a user account. |
| |
| #### SoC |
| System on a chip. In SoC implementations, the Thread, Weave, and application |
| software all reside on a single integrated circuit. Compare to [NCP](#ncp). |
| |
| #### state |
| The set of property values associated with a resource and trait at a particular |
| time. The state of a resource is composed of the states of its traits. See |
| [resource](#resource), [trait](#trait), and [state](#state). |
| |
| #### state event |
| A standard subset of events used for notification of a state change on a |
| resource or trait. |
| |
| #### subscriber |
| A protocol role used in Weave Data Management. A subscriber views and consumes |
| versioned instances of one or more externally-published schemas. It can change |
| the versioned instance of a published schema, or issue an application-specific |
| command. See [Weave Data Management](#weave-data-management). |
| |
| ## T |
| |
| #### TAKE |
| Token-authenticated key exchange, an authentication protocol for BLE user tokens |
| used by key fobs or mobile devices. |
| |
| #### TLV |
| Type-length-value encoding used for compact binary data serialization. |
| |
| #### trait |
| Reusable unit of functionality composed of properties, events, requests, and |
| metadata. Defined in the Weave [schema](#schema). |
| |
| #### tunnel |
| A secure route established by a border router for transferring Weave IPv6 UDP |
| messages between the HAN and the Nest Service. |
| |
| ## U |
| |
| #### user |
| A person who owns a Nest device, has a Nest account, has installed a Nest device |
| in a structure, and has connected their device with the Nest Service. |
| |
| ## V |
| |
| #### Vendor ID |
| Unique 16-bit identifier for the company of origin used for namespacing |
| vendor-specific trait and resource type definitions. |
| |
| #### vendor registry |
| A logical service infrastructure component that contains the mapping of Vendor |
| IDs to vendors and allows Weave to read existing vendor information and create |
| new vendors. |
| |
| #### vendor trait extension |
| A vendor-specific extension to a standard trait which can add properties, |
| property value constraints, custom commands, command arguments, and events. Only |
| available within the vendor's namespace. See [trait](#trait). |
| |
| |
| ## W |
| |
| #### Weave |
| Network and application protocol designed to support connected products. It |
| provides a secure, robust communications platform for connected devices and is |
| already running in Nest products around the world. |
| |
| #### Weave certificate |
| A data-reduced and Weave TLV-encoded X.509-style elliptic curve cryptography |
| (ECC) certificate used to establish secure sessions between Weave nodes. |
| |
| #### Weave Data Language |
| A descriptor language that defines the Weave schema, including resource, |
| interface, trait, and service definitions. |
| |
| #### Weave Data Management |
| An application protocol used for [real-time trait |
| management](#real-time-trait-management). Weave Data Management provides compact |
| operations for all request message types, providing asynchronous notifications |
| of property state changes. |
| |
| #### Weave Device Descriptor |
| Data encoded into a QR code printed on a device providing information required |
| to pair the device to the network. Includes the pairing code and the product |
| type and version. See [pairing code](#pairing-code). |
| |
| #### Weave fabric |
| A network consisting of all connected home devices, the Nest Service, and mobile |
| devices. The fabric enables connected devices to securely cooperate in providing |
| services to the user, their family, and guests. |
| |
| #### Weave profile |
| The set of tags and messages defining application layer protocols on Weave, such |
| as Weave Data Management for managing trait data, or Time Services for |
| synchronizing time. |
| |
| #### Weave Reliable Messaging protocol |
| A lightweight messaging protocol for Weave to send messages reliably between two |
| devices in a Weave fabric. |
| |
| #### Weave SDK |
| Nest's RTOS and Linux implementation of the Weave communications stack, network |
| management, and common Weave profiles, which you use to build device code. |