|View source on GitHub|
An account created at home.nest.com 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).
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.
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.
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.
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.
A key unique to each Weave fabric generated by the first device creating the fabric, and used to pair subsequent devices to the fabric.
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.
Pairs devices to the local Weave fabric by providing the fabric ID and fabric key necessary to communicate with other devices and services.
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.
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.
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."
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.
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.
A cloud-based infrastructure that connects HAN devices into a data model, provides remote access, and implements intelligent controllers to create a comprehensive ecosystem.
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.
IPv4 or IPv6 address assigned to a device by the end user's network infrastructure, such as via DHCP.
A unique 64-bit value that globally identifies a node in the Weave fabric.
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.
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.
Configuration of how the traits of a particular resource definition are implemented between a device and controllers. Defined in the Weave schema.
A resource proxy created in the Nest Service for every device in the HAN, to enable remote access to the device.
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.
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.
A directory service available on a Weave fabric.
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.
The entity (device, service, or app) responsible for a specific trait. Responsibilities include managing state, responding to requests and commands, and triggering events.
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.
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.
Unique 16-bit identifier for the company of origin used for namespacing vendor-specific trait and resource type definitions.
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.
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.
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.
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.
Nest's RTOS and Linux implementation of the Weave communications stack, network management, and common Weave profiles, which you use to build device code.