You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Grid Coordination develops and publishes open-source libraries that make it practical to build applications using the standards we advocate. All software is MIT licensed and available on GitHub.
OpenADR 3 Libraries
Implementations of the OpenADR 3 protocol in Clojure and Python. Each language has a pure API library and a higher-level client framework.
OpenAPI specifications for the OpenADR 3 protocol (versions 3.0.0 through 3.1.1)
Each language has a two-layer stack: a pure API library (spec-driven HTTP client with full CRUD, two-layer data models, extensible payload coercion) and a client framework (lifecycle management, VEN/BL client roles, MQTT and webhook notification channels, mDNS/DNS-SD service discovery).
The price server is a live deployment of clj-oa3-vtn, composed with a price-fetching layer that serves hourly California marginal electricity prices from the CAISO Day-Ahead Market via GridX.
No authentication required. 492 programs covering PG&E and SCE tariffs across 105 distribution circuits and substations. Tutorials available for Python, Clojure, and Rust clients.
OpenADR 3 VEN integration for Home Assistant — real-time pricing and GHG emissions sensors, MQTT push updates, multi-program support. Available via HACS. Announcement.
Documentation and analysis of the CAISO Flex Alert API, with an enhancement proposal to support machine-to-machine signalling
Architecture
The libraries are designed in layers:
Specifications (OpenAPI YAML)
|
Pure API libraries (clj-oa3, python-oa3)
|
Client frameworks (clj-oa3-client, python-oa3-client)
|
VTN server (clj-oa3-vtn)
|
Applications & live services (price server, your code here)
The pure API libraries provide spec-driven HTTP access and data coercion. The client frameworks add lifecycle management, notification channels, and service discovery. The VTN server provides a composable OpenADR 3.1.0 server that can be embedded into larger systems. Applications compose these layers to build grid-coordinated energy management systems.
Both the Clojure and Python implementations follow the same architecture and provide semantically equivalent functionality, so teams can choose the language that fits their stack.