View source on GitHub



An account created at that grants the account owner (user) control of the Nest device via web/mobile applications.


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

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.



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.



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.


Controllers are services that implement advanced functionality. Examples include the Lighting group controller, HVAC zone controller, and Occupancy arbiter controller.


An application-specific request that cannot be accomplished by standard requests. Sometimes called a custom command.


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.



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.


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.


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.


in-field provisioning

Supplies deployed devices the information they need to be full participants in a Weave fabric.


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.


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.



Formatted data passed between nodes in the same network to effect change or communicate information.


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.



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.

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.


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 and 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.


one-way subscription

A request from a subscriber to a publisher for one or more trait instances.


Over-the-air firmware updates.



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.


Password-authenticated session establishment, a protocol for mutual authentication, used to establish the initial secure session between two Weave devices using the pairing code.


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.


Defines the packet structure of the data transmitted, as well as the control commands that manage a session.


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.


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.


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.

resource configuration

Configuration of how the traits of a particular resource definition are implemented between a device and controllers. Defined in the Weave 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.


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.


Real-time operating system used on constrained microcontrollers. Weave uses FreeRTOS.



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.


System on a chip. In SoC implementations, the Thread, Weave, and application software all reside on a single integrated circuit. Compare to NCP.


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, trait, and state.

state event

A standard subset of events used for notification of a state change on a resource or trait.


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.



Token-authenticated key exchange, an authentication protocol for BLE user tokens used by key fobs or mobile devices.


Type-length-value encoding used for compact binary data serialization.


Reusable unit of functionality composed of properties, events, requests, and metadata. Defined in the Weave schema.


A secure route established by a border router for transferring Weave IPv6 UDP messages between the HAN and the Nest Service.



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.


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.



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. 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.

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.