OpenWeave is an open-source implementation of the Weave network application layer, the secure, reliable communications backbone for Google Nest products. It is a versatile and lightweight solution for low-powered devices.

At Nest, we believe the core technologies that underpin connected home products need to be open and accessible. Alignment around common fundamentals will help products securely and seamlessly communicate with one another.
OpenWeave's features were driven by requirements Nest identified while building their ecosystem of products. Weave's encryption protocols are designed to fit the processor and memory constraints of today's IoT devices. It has a compact message format and communicates only when it needs to, so sensors can run on batteries for years.

With OpenWeave, you can use the same best-in-class communications technology that the Nest family of products does.
  • Weave security is independent of the underlying network. Every interaction between products, apps, and cloud services is secure. And because Weave has tiered-trust domains, sensitive operations are only accessible by the right devices.
  • Weave products can talk directly to each other without relying on the cloud. Even if the internet goes down, or there is a power outage, Weave products can continue to work together.
  • Weave is as easy as scanning a QR code. It securely adds the new device to the device-to-device network. Then those devices help the new one connect to the internet.
  • Products require bug fixes, security patches, and improvements to keep up with technology, and evolve with the needs of your family. Weave automatically takes care of software updates in the background.

Features

Not only does OpenWeave implement Weave, but it includes a variety of features and tools that make building, deploying, and testing a Home Area Network (HAN) easy.
Happy is a tool for lightweight orchestration of simulated network topologies. Use it to test network protocols and other distributed execution programs on a single Linux development machine without using IoT device hardware.
OpenWeave is supported by a variety of toolchains and targets, such as Linux, Mac, Windows, and embedded platforms. It includes build scripts for Android and iOS, as well as a Device Layer for platform adaptations.
OpenWeave is more than just trait management. It includes multiple protocols such as the Weave Web API for device-to-cloud interactions and Weave Reliable Messaging for device-to-device communications. Profiles such as Echo, Heartbeat, and Time Sync ensure the stability of the Weave fabric.
Use the included suite of unit test scripts to automate testing of Weave functionality in your simulated IoT deployment. Or build your own using the Java, Cocoa, or Python bindings.

News

Feb 18, 2020

Support for Silicon Labs' Wireless Gecko EFR32 family of SoCs has been added to the OpenWeave Device Layer. Both the EFR32MG12 and EFR32MG21 are supported, and we've also added a new sample app for a connected door lock device for both platforms.
Dec 19, 2019

Google has joined Amazon, Apple, and the Zigbee Alliance to form the Connected Home over IP working group. This group plans to develop and promote the adoption of a new, royalty-free connectivity standard to increase compatibility among smart home products, with security as a fundamental design tenet. Google is contributing Weave as part of this effort.
May 17, 2019

We've recently added the Device Layer to OpenWeave, a platform adapation layer that implements the code necessary to integrate OW with multiple platform vendors. And for the new Nordic nRF5 Device Layer, we've added a sample app for a connected door lock device.

Built by Nest, for thoughtful things

Connected home products aren't like mobile phones. Each one takes a different shape to solve a different problem. And when you look inside, you'll find the hardware capabilities of the CPU, RAM, power, and radios vary just as dramatically. To make great products that are as fast and dependable as our traditional wired homes, Nest needed a secure, reliable communications protocol that works with a wide range of hardware.

See Weave in action with the Nest Secure alarm system, a real-world example of what Weave can do.
Nest Guard, the powered keypad at the heart of the Nest Secure alarm system, is always on. Nest Guard lets the service and app know about any sensor changes with Weave over the Wi-Fi network. And if the power goes out, it runs on a backup battery and can still talk to the service using Weave over cellular.
Nest Detect, the tiny, battery-powered sensor of the Nest Secure alarm system, conserves energy by only waking up when there's activity. Using Weave over a Thread network, Nest Detect sensors can talk to Nest Guard when a door or window opens or motion is detected—even when the power is out.
Because they share Weave as their common language, the Nest × Yale lock and the Nest Secure alarm system work better when they're together. When you unlock your front door, the lock automatically tells Nest Secure that it's safe to disarm, so you don't have to. The lock inherits Nest Guard's robustness, staying fully operational even when power or the internet goes down.
Nest Connect serves as a range extender for the Nest Secure alarm system. Using Weave and Thread, it keeps Nest Guard and Nest Detect connected when they're placed far apart, especially in larger homes. It also connects the Nest × Yale Lock to the internet.
OpenThread released by Google is an open-source implementation of the Thread networking protocol. OpenWeave can run on top of OpenThread, taking advantage of Thread's reliable mesh networking and security. OpenWeave + OpenThread is a production-scale IoT solution that's second to none.
All rights reserved. Java is a registered trademark of Oracle and/or its affiliates. Thread is a registered trademark of the Thread Group, Inc.