Open Source Software
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.
Specification
| Repository |
Description |
| openadr3-specification |
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).
Clojure
Python
VTN Server
| Repository |
Description |
Package |
| clj-oa3-vtn |
OpenADR 3.1.0 VTN server with BL/VEN two-port architecture, MQTT notifications, pluggable storage |
clj-oa3-vtn on Clojars |
Live Services
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.
Home Assistant Integration
| Repository |
Description |
| openadr3-ven-hass |
OpenADR 3 VEN integration for Home Assistant — real-time pricing and GHG emissions sensors, MQTT push updates, multi-program support. Available via HACS. Announcement. |
GridX Pricing API
Client library for the GridX dynamic pricing API.
Specification
| Repository |
Description |
| gridx-api-specs |
OpenAPI specifications for GridX pricing APIs, derived from public documentation |
Client Library
CEC MIDAS API
Client libraries for the California Energy Commission’s MIDAS (Market Informed Demand Automation Server) API.
Specification
| Repository |
Description |
| midas-api-specs |
Unofficial OpenAPI 3.1 and JSON Schema specifications for the CEC MIDAS API |
Client Libraries
Emissions & Rate Data
Client libraries for grid emissions and utility rate data services.
Supporting Libraries
| Repository |
Language |
Description |
Package |
| clj-mdns |
Clojure |
mDNS/DNS-SD service discovery |
clj-mdns on Clojars |
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.