Mill Lane, Halnaker view southwestwards
© Copyright Rob Farrow and licensed for reuse under this Creative Commons Licence.

 

前回、前々回と、ChatGPT Advanced Data Analysis機能を使ってアクセスログ解析がどこまでできるのかを試しました。

 

本日は、久々に本業に戻ってスマートグリッド関係の話題をお伝えします。

思い起こせば。。。

当ブログでOpenADRを初めて取り上げたのは2010年12月10日の「デマンドレスポンス-その5」でした。早いもので12年9カ月以上前になります。

当時はデマンドレスポンスという言葉さえまだ市民権が得られていなくて、OpenADRに関しても日本語の情報は何もありませんでした。

今はOpenADRアライアンスの会員資格に個人会員はありませんでしたが、当時はあったので、多分日本で初めてOpenADRアライアンスに個人会員として入り、入手した情報を、このブログで紹介してきました。

ブログでは、現在のOpenADRアライアンスが策定したOpenADR2.0に繋がる、カリフォルニア州でのOpenADR1.0の経緯や国際標準策定機関OASISのEI(Energy Interoperation)1.0内のOpenADRプロファイルなども取り上げてきたのですが、それがインプレス社の編集部の方の目に留まり、

インプレス社より発刊させていただきました。

また、同社の定期購読紙「SmartGridニューズレター」の著者として、

  • 2012年11月の創刊号に「デマンドレスポンスとは?その進化・発展とOpenADR標準」、
  • 2013年9月(2013 Vol.2 No.9)に、PG&Eでの取材をもとに「PG&Eの自動デマンドレスポンス・インセンティブプログラムが間もなくスタート!」、
  • 2014年1月(2014 vol.3 No.1)にホーム・ビル制御の国際標準団体であるKNX協会会長へのインタビュー記事「国際標準であるKNXがいよいよ日本市場進出へ」、
  • 2020年2月(2020 9 No.2)の「再エネ主力電化時代!知っておくべき基礎用語」では「(1)VPP、マイクログリッドとDER」

の記事を掲載していただくとともに、後年は同紙の編集員会の末席にも加えていただきました。

 

ところで、本家のOpenADRに関していうと、OpenADR2.0b以降、新たな仕様に関する発表はなかったのですが、2023年4月、約10年ぶりにOpenADR3.0の仕様がOpenADRアライアンスから発表されたことを最近知りました。

そこで、今回は、OpenADRアライアンスのホームページからダウンロードしたOpenADR3.0の資料を基にして、ChatGPTに、OpenADR3.0について紹介してもらおうと思います。

※ 少し変なところもありますが、ChatGPTの出力のママにしています。文字色が緑の部分のみ、補足説明として付け加えました。

 

では、始めます。

 


Introducing OpenADR3.0

OpenADRは20年前にアイディアとして登場し、2.0bは約10年前に最終承認を受けました。それ以来、多くの変化がありました。OpenADR2.0bは多くのユーティリティ、ベンダー、集約者、建物の所有者などによって使用されていますが、2.0bの設計と実装の方法のため、実際の複雑さがあり、IT技術の主流ではなくなっています。OpenADR3.0は、これらの障壁を解消し、新しいデプロイメントを容易にするために設計されています。

技術的な核心として、OpenADR3.0は現代のウェブサービスのデザインを使用して新たに定義されたOpenADR2.0bの代替手段です。RESTは、リソースの現在または未来の状態を描写するメッセージを意味します。

OpenADR3.0は、次のドキュメントと機械可読のデータコンテンツによって定義されています:

  • OpenADR3.0 OpenAPI (SwaggerDoc) Specification

  ソフトウェアツールで直接使用できるようYAMLフォーマットで作成されたOpenADR3.0の内容と構造の実際の仕様

  • OpenADR3.0 Definition

  人間が読むためのOpenADR3.0の仕様書

  • OpenADR3.0 Security

  OpenADR3.0でサイバーセキュリティのために使用する原則とメカニズムについて説明

  • OpenADR3.0 Enumerations

  OpenADR3.0で通信されるデータに標準的な意味をもたらすテキスト文字列

  • OpenADR3.0 User Guide

  相互運用可能な実装を促進するための、OpenADR3.0の使い方の詳細説明

  • OpenADR3.0 Reference Implementation

  OpenADR3.0 VTNの実装コード例

OpenADR3.0は、YAMLを中心にいくつかの技術を活用して開発とデプロイメントを合理化および標準化しています。YAMLはREST APIを定義するための事実上のフォーマットです。

OpenADR3.0と2.0bの比較では、3.0は2.0bのコアコンセプトとメカニズムを維持していますが、JSONを使用してXMLの代わりにし、RESTの設計原則を使用しています。セキュリティモデルも簡略化および更新されています。

OpenADR3.0は、シンプルさをさまざまな方法で達成しています。JSONの使用、REST原則の使用、シンプルなニーズを持つアプリケーションの構築、データ階層の平坦化、使用されていない機能の削除などが挙げられます。

最後に、OpenADR3.0は自己完結型であり、EMIXやEnergy Interopなどの外部標準のコンテンツと理解に依存していません。

※ EMIXは、国際標準策定機関のOASISが制定したエネルギー市場の情報交換標準(Energy Market Information eXchange)

 

OpenADR3.0 Definitions Rev 3.0.0

 

OpenADR3.0の定義の要約

導入:

  • OpenADR3.0は、OpenADRプロトコルの第三の主要な反復を説明しています。
  • OpenADR2.0bの機能的にほぼ同等ですが、2.0bのSOAPのようなウェブサービスデザインから逸脱し、RESTfulウェブサービスのベストプラクティスに従います。
  • 新しい実装者の参入障壁を下げることがこのバージョンの主な目的です。

用語と定義:

  • OpenADR3.0は、EventやReportなどの2.0bからの多くの用語を直接採用しています。
  • 新しいまたは変更された用語には、Program、ProgramName、Program Description、Tariff、Virtual Top Node (VTN)、Virtual End Node (VEN)、Business Logic (BL)、Customer Logic (CL)などがあります。

概要:

  • システムアーキテクチャ:
  • RESTシステムは、HTTP APIのセットを公開するリソースサーバーとAPIの複数のクライアントで構成されています。
  • OpenADR3.0 VTNはリソースサーバーであり、OpenADR2.0b VTNのように、ユーティリティや他のエンティティのビジネスロジックがVENとの間でイベントを送受信し、レポートを受信するメカニズムを提供します。
  • ローカルシナリオ: OpenADRの一般的な将来の使用法は、建物の中央デバイスがOpenADRイベントをVENとして受信し、これらをローカルの柔軟な負荷や他のデバイスに再放送することです。

VEN登録:

OpenADRは、Business LogicエンティティとVEN/Customer Logicが「プログラム」や「料金」の詳細に合意するためのバンド外プロセスに依存しています。

情報モデル:

  • 情報モデルは、エンティティと関係の概念的な表現であり、人間のコミュニケーションを容易にするためのものです。
  • マシンが使用するためには、データモデルに変換される必要があります。
  • [OADR-3.0-Specification]は、プロトコルの詳細な説明を提供する機械可読のYAMLファイルです。

この要約は、OpenADR3.0の定義の主要な部分をカバーしています。

 

OpenADR3.0 User Guide Rev 3.0.0

導入:

このドキュメントは、OpenADR3.0の一般的なユーザーシナリオを説明しており、プログラム、イベント、レポート、エンドポイントの使用例を提供しています。これらの例は規範的ではなく、APIの使用方法を示すためのものです。

デザイン原則:

  • OpenADR3.0は、以下の目標と原則を念頭に設計されました。
  • 新規参入者の参入障壁を下げる。
  • より多くのプログラマがREST APIとの作業に慣れているため、RESTを使用する。
  • シンプルな実装。
  • OpenADR2.0bとの共存。

ユーザーストーリー:

ユーザーストーリーは、”アクターとして、私は[何を]、[そのために]”の形式の一文です。

主なアクターには、ビジネスロジック(BL)、BLエンティティ、カスタマー、カスタマーロジック(CL)、リソースなどがあります。

シナリオ:

以下は、一般的なインタラクションを示すシナリオのセットです。

  • 高レベルのワークフロー: VENクライアントは通常、VTN APIにアクセスするためのセキュリティ資格情報を必要とします。したがって、BLエンティティがVTNへのAPIアクセスとDRプログラムへの参加のためのVENのオンボーディングプロセスを提供することが前提とされています。
  • 登録シナリオ: OpenADR3.0は、VENがVTNとのインタラクションの前にセキュリティ資格情報を提供し、VENをエネルギープロバイダーのプログラムセットにオンボードするための登録プロセスが行われたことを前提としています。
  • サブスクリプションシナリオ: PUSHモデルをサポートするために、APIはクライアントが興味を持つ操作とリソースに関する「サブスクリプション」を登録するメカニズムを提供しています。
  • プログラムシナリオ: プログラムは、エネルギープロバイダーのデマンドレスポンスの提供です。0では、料金は単にプログラムの一種です。
  • イベントシナリオ: OpenADRフレームワークは、さまざまなデマンドレスポンスシナリオをサポートしています。
  • レポートシナリオ: OpenADR3.0は、最も広く使用されているタイプのレポートをサポートするメカニズムを定義しています。

この要約は、OpenADR3.0 ユーザガイドの主要な部分をカバーしています。詳細や他のセクションに関する情報が必要な場合は、お知らせください。

 


 

以上、OpenADR3.0の最新情報をChatGPTに要約してもらいました。

 

その昔、OpenADRアライアンスでは、OpenADR2.0cとして、電力会社が周波数調整のために調整電源との間の制御信号に置き換わるものまで仕様の拡張を検討していましたが、「現在の規定範囲で十分実用的である」という電力会社の意見があり、仕様検討が中断した経緯があります。

※表面上はOpenADR標準のことを持ち上げていますが、これには、電力会社が、調整電源の制御方式にまでOpenADRアライアンス標準に従いたくないという思惑もあったと思われます。OpenADRアライアンスでは、高速DRにどこまで適用できるか確認するため、結構早い時期にPG&EとOpenADRによる周波数調整の通信制御の実験を行っていたようですが。

出典:BEMSのスマートグリッド対応機能

 

したがって、OpenADRの仕様に関して、新たな分散電源の使われ方や、新たな市場メカニズム等が現れない限り、次はないだろうと思っていました。

そこで、今回OpenADR2.0cではなく、OpenADR3.0と一気にバージョンがあがったのは、どんな変化があったのか非常に気になったのですが、ChatGPTが要約してくれた「OpenADR3.0の定義」の「導入」(通常、章のタイトルとしては「はじめに」とするべきですね)で説明されているはずですが、この要約だけではちょっとわかりにくいので、OpenADR3.0の定義およびユーザガイドに目を通したところ、ユーザガイドの説明が分かりやすかったので、その部分だけ、内容を全訳すると、以下の通りです。

4 設計原則

OpenADR3.0は、以下の目標と原則を念頭に置いて設計された。

4.1 事業目標

● 新規参入の障壁を低くする

RESTは、OpenADR2.0bで具現化されたSOAPのようなインタフェースよりも、今日のウェブサービスにとってより一般的なアプローチである。したがって、より多くのプログラマがREST APIを扱うためのより多くのツールに精通している。OpenADRは、シンプルなREST定義を代替とすることで、より多くのエンティティによってより迅速に採用されると予想される。

● よりシンプルな実装

RESTインタフェースは、SOAP同等物よりも冗長性が低いため、ネットワーク使用率、メモリフットプリント、メッセージレイテンシーを削減できる。REST/JSONは、SOAP同等物よりも開発とデバッグが容易である。これは、ソフトウェア全体のフットプリントが控えめな柔軟なロードにとって特に重要である。

● OpenADR2.0bとの共存

OpenADRのRESTフォーマットは2.0bとは大きく異なり、フォーマットには互換性がない。新規参入者が REST フォーマットを開発し、3.0のVTNとVENの人口が増加することが想定される。既存の2.0b VENは、新しい3.0 VTNと相互運用するために3.0のサポートを追加する可能性があり、既存の2.0b VTNはRESTのサポートを追加することで、2.0bと3.0 VENの両方をサポートする可能性がある。フォーマット間のリアルタイム・トランスレータが開発されることも考えられる。

4.2 設計目標

● 2.0bとの機能的同等性

OpenADR3.0は、2.0bでサポートされ、現在使用されているユースケースを、すべてではないが、ほとんどをサポートする。OpenADR3.0では、現在使用されていない、あるいは使用される可能性のないいくつかのユースケースのサポートを取りやめた。

● 前方互換性

APIは、既存のクライアントとの互換性を壊すことなく、新しい機能を追加することができる、すなわち、VTNはVENから独立して進化することができる。

● プッシュ

純粋なREST実装では、クライアントからのHTTPリクエストにのみ依存し、クライアントがAPIをポーリングする必要があるため、PUSHモデルをサポートしない。しかし、低レイテンシのアプリケーションでクライアントにイベントを配信するため、OpenADR3.0はWebhooksに基づいたPUSHモデルを定義している。

● ベストプラクティス

多くのソースがRESTのベストプラクティスを公開している。権威あるガイドはないが、[REST_Best_Practice]は良い出発点である。

 

これによると、OpenADR3.0というのは、機能的にはOpeADR2.0bとほぼ同等ですが、いくつかのユースケースはサポートされなくなった。基本は、OpenADR2.0a/2.0bの仕様策定時のSOAPのようなWebアプリケーション作成スタイルから、今風のREST/JSONスタイルに変更し、それに伴って、プロトコルの詳細もXMLファイルではなく、YAMLファイルで規定して、今風のWebサービス開発スタイルに合わせた-ということのようです。

今回は、OpenADRアライアンスが4月に発表していたOpenADR3.0について、その概要をお伝えしました。

なお、「OpenADR3.0 Definitions Rev 3.0.0」と「OpenADR3.0 User Guide Rev 3.0.0」は、ここからダウンロードリクエストを出すと、ダウンロード情報を記載したメールが届きます。

※上記のリンクをクリックすると「Thank you for your interest in the OpenADR 2.0 Profile Specification」と書かれたページが表示されますが、そのページからOpenADRアライアンスへのログインを行うと、「 You will be able to download the finished OpenADR 2.0a Profile Specification and 2.0b Profile Specification, as well as the new OpenADR 3.0 Specification.」と書かれたページに切り替わり、そこで、氏名、会社名とともにメールアドレスを入力すると、そのメールアドレスにOpenADR3.0関連資料のダウンロード情報を記載したメールが届きます。

 

本日は以上です。

 

終わり