プロトコルバージョン変更履歴
このページは Tensor Cloud 蓄電池最適化プロトコルの変更を記録します。ここに記載されたバージョンは AsyncAPI 仕様 の info.version および EMS が各メッセージに含める schema_version フィールドに反映されます。
バージョニングは semver 形式(MAJOR.MINOR.PATCH)に従います。
- MAJOR - トピック構造、ペイロード形状、必須フィールドへの後方非互換変更。既存のインテグレーションがコード変更なしに対応できないもの。
- MINOR - 追加的な変更(新規フィールド、新規条件付きバリデーション、新規挙動)で、保証は強化されるが旧バージョンのクライアントでも読み取り可能。Tensor Cloud は旧マイナーリビジョンで送信されたメッセージとの後方互換性を維持します。
- PATCH - ドキュメントの明確化、例の修正、ペイロードに影響しない変更。PATCH リリースはペイロードに影響しないため、ワイヤ上の
schema_versionは変更されません。MINOR または MAJOR リリースでペイロードが変わるまで、連携は現行の MINOR バージョン(例:2.3.0)を送出し続けます。
2.6.0 - 2026-07-13
DCリンクシステム向けの太陽光DC電圧・電流テレメトリ。 追加的かつ後方互換です。
- 新しい
solarDcTelemetryチャネル(dt/{siteId}/{gatewayId}/solar)を、SolarDcElectricalメッセージおよびsendSolarDcオペレーションとともに追加しました。DCリンクの太陽光発電+蓄電池サイトは、太陽光アレイのDC電圧(V)および電流(A)を、インバータより上流のDCリンクで、アレイ全体を集約した単一の値として公開します。電圧と電流は同一時刻にサンプリングし、一組の測定値として、1分間隔でまとめて送信します。measurement_valueはvoltageとcurrentを含み、それぞれ{value, unit}オブジェクト(unitはVまたはA、値は 0 以上)です。DCリンクのサイトにのみ適用され、ACリンクおよびスタンドアロンのサイトでは送信しません。詳細は連携ガイドの「DC連系テレメトリ」節を参照してください。 - ワイヤ上の
schema_versionが2.6.0に更新されます。バージョニングポリシーに従い、MINOR リリースではワイヤバージョンが更新されるため、連携は今後schema_version: "2.6.0"を送出してください。Tensor Cloud は旧バージョンで送信されたメッセージとの後方互換性を維持します。
2.5.0 - 2026-07-10
不正な形式のテレメトリにも ACK を返せるようになりました。 追加的かつ後方互換です。
TelemetryFeedback.correlation_idからmsg_UUID パターンの制約を撤廃しました。受信したテレメトリを解析できず(MESSAGE_MALFORMED)、そのmessage_idを復元できない場合、Tensor Cloud はcorrelation_idにセンチネル文字列"unknown"を設定します。従来はこのパターン制約のためフィードバックメッセージ自体を構成できず、ACK がまったく送出されないため、インテグレーターはメッセージが拒否されたことを知る手段がありませんでした。message_idが一部復元できる場合は、復元した値を設定します。これはCommandResponse.command_idで既に使用されている"unknown"センチネルと同じ方式です。TelemetryFeedbackに任意のtopicフィールドを追加しました。問題となったメッセージがパブリッシュされたトピックを示します。statusがerrorの場合にのみ含まれ、correlation_idが"unknown"の場合に拒否されたメッセージを特定する唯一の手段となります。status: "ok"の場合にtopicを含めてはならないことは、既にcodeとdetailを制御しているif/then/elseブロックで強制されます。- 日本語版の
TelemetryFeedback定義を修正しました。schema_versionが必須として列挙されているにもかかわらずプロパティが定義されておらず、例が自身のスキーマに対して不正な状態でした。 - ワイヤ上の
schema_versionが2.5.0に更新されます。バージョニングポリシーに従い、MINOR リリースではワイヤバージョンが更新されるため、連携は今後schema_version: "2.5.0"を送出してください。Tensor Cloud は旧バージョンで送信されたメッセージとの後方互換性を維持します。
2.4.0 - 2026-07-06
一次調整力向けの系統周波数テレメトリと、事前審査フラグ。 いずれも追加的かつ後方互換です。
- 新しい
gridFrequencyTelemetryチャネル(dt/{siteId}/{gatewayId}/frequency)を、GridFrequencyメッセージおよびsendGridFrequencyオペレーションとともに追加しました。一次調整力に約定したリソースは、すべての一次調整力約定コマの全期間にわたり、系統周波数を各1秒ウィンドウの平均として1 Hz で公開する必要があります。周波数は系統接続ポイントで実際の AC 電圧波形から測定し、0.0001 Hz 以上の分解能で報告します。これらの測定値は一次調整力アセスメントⅡで用いる1 Hz の供出電力テレメトリと時刻が揃えられます。詳細は連携ガイドの「アセスメントⅡ報告」節を参照してください。 PowerInstantとGridFrequencyに任意のpre_qualificationブール値を追加しました。EMS は、一次調整力の事前審査(プレクオリフィケーション)モードで送信する瞬時電力および系統周波数のテレメトリにtrueを設定します。このモードは Tensor Cloud ではなく EMS 運用者が有効化します。Tensor Cloud はこのフラグを用いて、該当期間を最適化および一次調整力アセスメントⅡの提出対象から除外します。任意かつ後方互換であり、省略した場合は通常運用時の意味のままです。- ワイヤ上の
schema_versionが2.4.0に更新されます。バージョニングポリシーに従い、MINOR リリースではワイヤバージョンが更新されるため、連携は今後schema_version: "2.4.0"を送出してください。Tensor Cloud は旧バージョンで送信されたメッセージとの後方互換性を維持します。
2.3.1 - 2026-06-29
ACK と INTERNAL_ERROR の意味を明確化。 ドキュメントのみの変更で、ペイロードへの影響はありません。
CommandResponse.statusフィールドが、実行結果ではなく受信時点の検証・受理結果を表すことを明確化しました。ACK はコマンドを受信・パースし、コミット(受理)した直後に送出され、実行時には送出されず、実行時にのみ顕在化する失敗は報告できません。INTERNAL_ERRORが、形式は妥当なコマンドが ACK 送出前の受信時処理で受理・コミットできずに失敗した場合(例: 要求されたスケジュール変更のコミットに内部的に失敗した場合)も対象とすることを明確化しました。detailに内容を記載したうえでINTERNAL_ERRORを使用してください。実行時にのみ顕在化する失敗は、ACK ではなくアラート/テレメトリで報告します。- PATCH リリースではワイヤ上の
schema_versionが変更されないことを明記しました(上記のバージョニング注記を参照)。
2.3.0 - 2026-06-16
アセスメントⅡ用テレメトリ:
- 瞬時電力トピック(
dt/{siteId}/{gatewayId}/{metric}/power)が、オフラインの一次調整力アセスメントⅡデータの送信チャネルとして文書化されました。一次調整力を提供するリソースは、すべての一次調整力約定コマについて、meter_export_ac/meter_import_ac(受電点参入)またはbattery_discharge_ac/battery_charge_ac(機器点参入)で1秒解像度の供出電力を公開する必要があります。Tensor CloudはこのデータからTSOのアセスメントⅡ様式(様式35)を作成し、アグリゲーターに代わって提出します。詳細は連携ガイドの「アセスメントⅡ用テレメトリ」を参照してください。 - AsyncAPI仕様の
powerTelemetryチャネルの説明を、このアセスメントⅡ用途を示すように更新しました。 PowerInstant.measurement_valueに2つの任意フィールドを追加しました:aggregation(デフォルトinstant、またはaverage)とaggregation_window(ISO-8601期間、例:PT1S)。aggregationがaverageのときaggregation_windowが条件付き必須になります(JSON Schema のif/thenで強制)。これにより電力サンプルが瞬時点の値か区間平均かを宣言できます。一次調整力アセスメントⅡではaverageをPT1Sで使用します。追加的かつ後方互換: 両フィールドを省略すると従来の瞬時値の意味のままであり、旧バージョンのメッセージも引き続き受け入れられます。
2.2.0 - 2026-05-28
アラート、確認応答、コマンドの強化:
AlertEventとAlertStateのペイロードでschema_versionが必須になりました。以前はフィールドは定義されていましたが、どちらのアラートメッセージのrequiredリストにも含まれていませんでした。Tensor Cloud はschema_versionを省略する旧バージョンで送信されたアラートペイロードも引き続き受け入れます。EMS 実装は今後アラートペイロードにこのフィールドを追加してください。CommandResponse.errorsがスキーマで条件付き必須になりました:status: "error"のとき存在(≥ 1 件)、status: "ok"のとき不在。JSON Schema のif/then/elseで強制されます。以前は散文のみで規定されていました。既に散文ルールに従っていた EMS 実装には送信側の変更は不要です。TelemetryFeedback.codeとTelemetryFeedback.detailがスキーマで条件付き必須になりました:status: "error"のとき両方存在、status: "ok"のとき両方不在。JSON Schema のif/then/elseで強制されます。テスト専用のテレメトリフィードバックチャネルに影響します。Tensor Cloud が送信側であり、EMS 実装は受信のみを行います。BatteryFcrCommand.control.schedule[*].capacity_kwがスキーマで条件付きになりました:control.actionがexecute(デフォルト)のとき必須、cancelのとき禁止。JSON Schema のif/then/elseで強制されます。BatteryPowerCommand.control.scheduleとBatteryFcrCommand.control.scheduleにminItems: 1を宣言しました。空のスケジュールはスキーマ層で拒否されます。- 埋め込みスキーマ例を修正:
CommandResponseの例に必須のschema_versionを追加。一次調整力 キャンセル例のmessage_id値を文書化された^msg_[0-9a-f]{8}-…$パターンに合致する値に修正。 - すべてのメッセージファミリーのトップレベル
additionalPropertiesをtrueに統一しました(BatteryPowerCommandとBatteryFcrCommandを含む)。以前はコマンドが厳密で他のファミリーが寛容という非対称性がありましたが、これを解消してプロトコル全体で前方互換性を統一しました。
2.1.0 - 以前のベースライン
変更履歴ページ以前のベースライン。インテグレーションガイドおよび AsyncAPI 仕様に記載されたテレメトリ、コマンド、アラート、レスポンスの全チャネル一式を含みます。