open-energymesh-offline-fir.../README.md

4.8 KiB

Open-EnergyMesh Offlin e-First MVP

Open-EnergyMesh is a lightweight, offline-first distributed microgrid orchestration platform. This MVP provides a minimal yet functional in-memory data model for energy devices (inverters, storage, meters) and a tiny mesh orchestrator capable of local flow calculation with an optional ADMM-like adapter hook.

Key ideas implemented in this MVP:

  • Offline-first, edge-friendly data model for basic energy devices.
  • Lightweight local optimization hook (ADMM-lite) that can be extended by adapters.
  • Delta-sync support to apply small, deterministic updates to the local state.
  • Simple governance-oriented patterns (scaffolding, not production-grade yet).

What you can run now

  • Tests: npm test
  • Source: src/mesh.js, src/solver_admm.js, test/test.js

Protocol scaffolding (0.2)

  • Added a minimal protocol skeleton for LocalProblem, SharedVariables, and PlanDelta under src/protocol/0_2_schema.js.
  • Introduced a lightweight in-repo Contracts Registry (src/contracts_registry.js) to bootstrap cross-adapter data contracts.
  • Extended the ADMM-lite solver (src/solver_admm.js) with a deterministic baseline adapter-capable solve() path.
  • Two starter adapters (inverter, meter) remain compatible and can interface with the new protocol scaffolding.
  • This scaffolding lays groundwork for offline-first distributed optimization and CatOpt-style interoperability; see test coverage for integration hooks.

How to extend

  • Implement new adapters (e.g., inverter, meter) that plug into EnergyMesh via registerAdmmAdapter.
  • Extend computeFlow with more sophisticated physical models or forecasting inputs.
  • Add delta-sync payloads for additional devices or signals.

Roadmap (high level)

  • Phase 0: finalize 0.2 protocol, add two reference adapters, ADMM-lite core, delta-sync.
  • Phase 1: offline/HIL testing with two adapters; governance ledger scaffolding.
  • Phase 2: CatOpt bridging for cross-domain interoperability; SDK for adapters.
  • Phase 3: governance tooling, conformance tests, and community pilots.

Notes

  • This repository emphasizes minimal, pragmatic changes; the goal is to establish a safe, extensible MVP while keeping the codebase approachable for contributors.

See AGENTS.md for architectural guidance and testing rules.

EnergiBridge interoperability (beta)

  • Added a minimal EnergiBridge scaffold to map Open-EnergyMesh primitives to a canonical, vendor-agnostic contract representation and a Graph-of-Contracts registry.
  • Included toy adapters to bootstrap cross-ecosystem interoperability:
    • adapters/energi_bridge/inverter_bridge_adapter.js
    • adapters/energi_bridge/der_bridge_adapter.js
  • These adapters integrate with the existing MVP via the ADMM-lite path and demonstrate how to plug in device-specific models.
  • This work lays the groundwork for Phase 0 protocol skeleton, registry of adapters, and TLS-based transport in future iterations.

Open-EnergyMesh: Offline-First Distributed Microgrid Orchestration (MVP)

This repository implements a minimal offline-first MVP for Open-EnergyMesh with a pluggable EnergiBridge interoperability layer. It includes toy adapters and a lightweight ADMM-lite path to demonstrate cross-domain signal exchange and delta-sync semantics. The new EnergiBridge scaffold paves the way for vendor-agnostic adapters and a Graph-of-Contracts registry for versioned interoperability.

EnergiBridge Interoperability (MVP Sketch)

  • EnergiBridge: canonical bridge mapping Energy primitives to a CatOpt-like IR (Objects -> LocalProblems, Morphisms -> SharedVariables/DualVariables, PlanDelta -> incremental plans).
  • Lightweight Graph-of-Contracts registry to version adapters and data schemas; per-message metadata supports replay protection and audits.
  • Phase 0 MVP wiring: protocol skeleton with TLS transport and two starter adapters (inverter controller and DER interface) plus a lightweight ADMM-lite local solver; deterministic delta-sync on reconnects.
  • Phase 1: governance ledger scaffold and identity primitives; secure aggregation defaults.
  • Phase 2: cross-domain demo; two toy adapters and a reference EnergiaBridge SDK.
  • Phase 3: hardware-in-the-loop validation and KPI dashboards.

Artifacts added in this patch

  • src/energi_bridge.js: EnergiBridge core MVP scaffold.
  • adapters/energi_bridge/energi_bridge.js: launcher wiring two toy adapters into EnergiBridge.
  • graph_of_contracts_registry.js: simple registry for versioned contracts/schemas.
  • dsl/local_problem_seed.js: tiny DSL seeds for LocalProblem/SharedVariables/PlanDelta.
  • README.md: expanded section describing EnergiBridge interoperability and MVP roadmap.
  • READY_TO_PUBLISH: empty marker file to signal completion when ready.

If you want, I can draft a toy 2-adapter MVP spec (forecast adapter + DER interface) and a minimal EnergiBridge integration outline to seed interoperability.