Is that one server or two?

That question reaches Codibly in many forms, always with the same shape. A US aggregator, virtual power plant (VPP) platform, or device maker wants to join utility demand response (DR) programs and control its own fleet of distributed energy resources (DER). In most US deployments today, one protocol faces the programs: an OpenADR VTN (Virtual Top Node) issues events. The other faces the hardware: an IEEE 2030.5 server publishes controls to inverters and gateways. Both are servers. Both can dispatch flexibility. The team wants to know whether it has to build, test, and certify two of them.

It depends on what your system issues and to whom. The choice also decides who holds the middle of the chain between your devices and your revenue.

Key takeaways

  • In most US deployments, an OpenADR VTN serves a program and an IEEE 2030.5 server manages equipment. Their roles meet on dispatch, and in both cases enrollment and settlement sit in the platform behind the server.
  • Many teams need only one of the two today, and some need neither yet.
  • Running both costs more after launch than during the build: two version tracks, two test harnesses, two certification calendars, and program onboarding that repeats.
  • Whoever owns the orchestration layer behind the servers keeps control of enrollment and dispatch, the margin on spare capacity, and the customer relationship during an event.

One server or two? The question US aggregators actually ask

The question usually arrives as a cost question. Every device family, utility program, and protocol version has arrived as its own project, so a second server looks like a second bill. Integration cost is the first number anyone sees. The bigger decision sits behind it.

DER orchestration runs on three links: integrate, orchestrate, monetize. Integration connects devices and programs. Orchestration decides who is enrolled, which assets respond to which event, and by how much. Monetization turns that response into revenue. Most companies own the first link partly, rent the second, and hand the third away. Few of them chose that arrangement. The integration work looked so expensive that owning the rest never reached the agenda, and aggregation became somebody else’s business by default.

The protocol servers sit where the first link meets the second: the point where your system starts issuing instructions instead of receiving them. Choose the server that matches what you issue, put it under an orchestration layer you control, and three things come back: direct control of enrollment and dispatch, the margin on spare capacity during a DR event, and the relationship with your own customer while that event runs. (The platform categories one layer up are compared in DERMS vs VPP vs ADMS.)

What an OpenADR VTN owns in a DR program

In OpenADR (Open Automated Demand Response) 2.0b, the VTN issues events and Virtual End Nodes (VENs) receive and respond to them. A utility or program administrator runs a VTN to operate a DR program. Utilities that run several programs now also ask for demand response orchestration across utility programs, so they can see what every aggregator delivers in one place. An aggregator runs a VEN to take part, and can run a VTN of its own to pass events down to its sites.

The VTN faces the program. It holds the event: start time, duration, signal (a price, a level, or a shed instruction), and targets. It sends that event to a fleet of VENs through oadrDistributeEvent, tracks opt-ins and opt-outs, and collects the reports that show whether the fleet responded. Here is the event, here is who took part, here is what happened. For a program operator, that is the whole transaction.

An OpenADR event states what the program wants for a window of time. The VEN, whether it runs in a device, a gateway, or the platform behind them, turns “shed to level 2 from 4 p.m.” into inverter, battery, or thermostat behavior. OpenADR 2.0b reports confirm that a site responded. The device-level settings and status that interconnection rules ask for are usually handled by a separate interface.

The commercial layer is yours as well. The customer’s contract, the applicable baseline, and the split of the incentive all live in your platform, and that is where the margin sits. Codibly’s OpenADR VEN and VTN accelerators follow the same split: the protocol edge comes packaged, and the logic that decides who responds stays in the client’s own code.

What an IEEE 2030.5 server owns under CSIP

IEEE 2030.5 grew out of Smart Energy Profile 2.0, a standard for utility communication with customer energy devices, and in California it became the smart inverter communication path under Rule 21 through the Common Smart Inverter Profile (CSIP). The profile and its certification path are covered in the complete guide to CSIP.

The 2030.5 server owns the control and telemetry boundary with devices. It publishes DERProgram resources, each with a primacy value that sets its priority, and the DERControl entries inside them: active power limits, power factor settings, connect and disconnect instructions, and scheduled operating modes. Clients apply those controls and post back their status, settings, and measurements. In practice, that is what a CSIP server connection is: a certificate-secured link over which the server tells equipment how to behave and then checks that it did.

In production, most traffic flows between a utility’s server and an aggregator’s client, and most inverters comply through a gateway rather than natively, as Codibly’s analysis of where IEEE 2030.5 actually lives sets out. You need a 2030.5 server when your system issues controls to 2030.5 clients, whether as a utility, a DERMS vendor, or a platform that wants one standard interface to many device makers instead of one proprietary API per brand.

IEEE 2030.5 has had demand response and load control functions since its origins, but CSIP was profiled around interconnection. So in a typical CSIP deployment, the record of who enrolled in which program, what a customer was promised, and how event performance becomes payment sits in the system behind the server. The same is true behind a VTN. Codibly builds both ends of the protocol, the client side and the server side, starting from its IEEE 2030.5 accelerator, because the end you need depends on whether you receive controls or issue them.

OpenADR VTN and IEEE 2030.5 server: where their roles meet

In a typical US deployment, the two servers play different roles. They meet on dispatch: each can ask a fleet to reduce or shift output for a defined window. Beyond that, each covers its own ground, and both leave the same gap.

Dimension OpenADR VTN IEEE 2030.5 server Overlap?
Who issues from it Utility or program administrator; an aggregator passing events to its sites Utility or DERMS head end; a platform standardizing its device side Partial. An aggregator can sit in either seat
Who it talks to VENs at sites, gateways, and aggregator platforms 2030.5 clients in inverters, gateways, and aggregator systems Partial. Both can reach gateways and aggregator platforms
What an instruction says What the program wants in a window: a price, a level, or a shed signal (oadrDistributeEvent) How a device should operate: limits, power factor, connect state, modes (DERProgram, DERControl) Yes, for “reduce output between these times”
What comes back Opt-in or opt-out, and reports that evidence a response Event responses, plus device status, settings, and measurements Yes. Both confirm how a fleet responded to an event
What drives adoption Utility DR program design Interconnection rules such as California Rule 21, through CSIP No
Security Certificate-based TLS under the OpenADR arrangements Certificate-based TLS under the 2030.5 and CSIP arrangements Same pattern, separate trust chains to manage
Conformance body OpenADR Alliance certification SunSpec Alliance CSIP certification, tested by Authorized Test Laboratories No
Program enrollment, baselines, settlement Outside the protocol (device registration is inside) Outside the protocol (device registration is inside) The shared gap. Both need your platform
How the two server roles compare in typical US deployments

Two cells in the “Overlap?” column carry the decision. The partial overlap on dispatch is why teams suspect they are building the same thing twice. The shared gap shows why they are not: the enrollment registry, the dispatch logic, and settlement sit behind both servers as one system, whichever protocol carries the instruction. That shared core is the middle link.

VTN only, 2030.5 server only, both, or neither yet

The question of which server to build usually resolves once a team states what it issues and to whom. Four situations cover most cases.

VTN only

Your revenue comes from DR programs, and you pass events down to sites that run VENs or sit behind gateways you integrate another way. A commercial and industrial aggregator is the classic case, as is a program administrator running an OpenADR program. A VTN plus an orchestration layer covers it. A 2030.5 server comes in if the fleet later includes equipment managed under interconnection rules.

2030.5 server only

Your obligations come from interconnection rather than programs. You manage smart inverters under CSIP, and your devices or their gateways speak 2030.5. A DERMS vendor serving a utility’s interconnection function fits here, as does a platform standardizing its device side. OpenADR comes in when a program on your roadmap uses it.

Both

You issue program events and you control 2030.5 equipment. Typically, a platform enrolls residential solar and storage in utility DR programs while operating the same inverters under interconnection rules. Both servers are justified. Build them as two protocol edges on one orchestration core, the design that scalable VPP software stacks tend to share, and read the next section before scoping.

Neither yet

If your system receives instructions rather than issuing them, you need a client: a VEN for OpenADR, a 2030.5 client for CSIP. Many device makers start here. The same holds for a fleet too small to justify its own enrollment, dispatch, and settlement logic, or a team with no engineering capacity to maintain a server after launch. There, a licensed platform does the orchestration work well until the fleet or the program list grows.

The hidden cost of running both servers

The build is the part everyone scopes. Virtual Top Node development and a 2030.5 server each have a defined surface, and pre-built accelerators shorten both. The costs that surprise teams arrive after launch, in four places.

Version drift. Both standards keep developing, each on its own schedule and under its own alliance, which is how living standards work. Utilities adopt new versions and add program-specific requirements on their own timelines. Two servers means two roadmaps to track and a per-program decision about which version you support.

Test harness. Each server needs something to talk to before a real device connects: simulated VENs for the VTN and simulated 2030.5 clients for the server, kept current as both specifications change and run on every release. Teams budget for the servers and forget the harness. Then regression testing turns out to be manual.

Certification cycles. A certificate covers one product at one version. The Codibly OpenADR VTN 2.0b certificate names Firmware 1.0, and a later build must be re-evaluated and re-certified before the certificate covers it. Two servers means two recertification calendars, triggered by your own releases as much as by the standards bodies.

Program onboarding. Every utility program brings its own enrollment rules, security certificates, event parameters, and acceptance testing, and so does every utility implementing CSIP. Onboarding repeats per program and per protocol. The demand response program integration work is often larger than the server.

The remedy is to share everything that can be shared. One enrollment registry, one dispatch engine, and one settlement record, with the VTN and the 2030.5 server as separate protocol edges on top. Most version changes then stay in one edge. A new program adds configuration rather than a new system.

How certification works on each side

Both alliances run rigorous conformance programs. For a buyer choosing an implementation partner, the useful question is what each program means for their own product.

On the OpenADR side, the product itself is certified. Codibly OpenADR VTN 2.0b (Firmware 1.0) is OpenADR 2.0b certified by the OpenADR Alliance (1 September 2026, VTN Test Plan 1.1.7), and it is listed in the OpenADR Alliance product register. The certificate names the product because the VTN is Codibly’s own product. A client that licenses it starts from server code that has already passed the Alliance’s test plan. The certificate covers that product at that version. A client that ships it under its own brand, or changes it, needs its own OpenADR Alliance listing. An unchanged rebrand can be certified by similarity without re-testing. A modified version is reviewed and may need a re-test. The OpenADR VEN accelerator remains pre-certified.

On the IEEE 2030.5 side, Codibly works as both builder and test lab. Codibly builds both the client side and the server side of IEEE 2030.5, and in client work the product that goes on the register belongs to the client: its inverter, gateway, or platform, under its own name. Codibly’s job is to get it there. Codibly is a SunSpec Alliance Authorized Test Laboratory, so it can run IEEE 2030.5 and CSIP conformance testing directly instead of routing a client to a separate lab. That is an accreditation of Codibly as a testing laboratory. It does not certify any product, Codibly’s IEEE 2030.5 accelerator included.

Codibly OpenADR VTN 2.0b is itself a certified product. Codibly’s IEEE 2030.5 work helps a client’s own product reach SunSpec certification, with the build and the conformance testing done by one team. In both cases the source code ends up with the client, under a one-time license with no lock-in.

An architecture review before the build

The server question usually comes up before any code exists, which is the cheapest point to answer it. The answer rests on three facts: what you issue, to whom, and which programs are on your roadmap.

Codibly runs a DER Orchestration Architecture Review for this stage. One session maps your chain across integrate, orchestrate, and monetize, marks which servers your situation calls for, and shows where an orchestration core under them would sit. If the right answer is a VEN and a licensed platform for now, the review says so. For teams that decide to own the middle link, optimizer and aggregator integration is where the work begins: Codibly’s accelerators at the protocol edges, and your own logic in the middle, where enrollment, dispatch, and the margin on each DR event stay yours.