メインコンテンツへ

プロトコルバージョン変更履歴

このページは Tensor Cloud 蓄電池最適化プロトコルの変更を記録します。ここに記載されたバージョンは AsyncAPI 仕様info.version および EMS が各メッセージに含める schema_version フィールドに反映されます。

バージョニングは semver 形式(MAJOR.MINOR.PATCH)に従います。

  • MAJOR - トピック構造、ペイロード形状、必須フィールドへの後方非互換変更。既存のインテグレーションがコード変更なしに対応できないもの。
  • MINOR - 追加的な変更(新規フィールド、新規条件付きバリデーション、新規挙動)で、保証は強化されるが旧バージョンのクライアントでも読み取り可能。Tensor Cloud は旧マイナーリビジョンで送信されたメッセージとの後方互換性を維持します。
  • PATCH - ドキュメントの明確化、例の修正、ペイロードに影響しない変更。

2.2.0 - 2026-05-28

アラート、確認応答、コマンドの強化:

  • AlertEventAlertState のペイロードで schema_version が必須になりました。以前はフィールドは定義されていましたが、どちらのアラートメッセージの required リストにも含まれていませんでした。Tensor Cloud は schema_version を省略する旧バージョンで送信されたアラートペイロードも引き続き受け入れます。EMS 実装は今後アラートペイロードにこのフィールドを追加してください。
  • CommandResponse.errors がスキーマで条件付き必須になりました: status: "error" のとき存在(≥ 1 件)、status: "ok" のとき不在。JSON Schema の if/then/else で強制されます。以前は散文のみで規定されていました。既に散文ルールに従っていた EMS 実装には送信側の変更は不要です。
  • TelemetryFeedback.codeTelemetryFeedback.detail がスキーマで条件付き必須になりました: status: "error" のとき両方存在、status: "ok" のとき両方不在。JSON Schema の if/then/else で強制されます。テスト専用のテレメトリフィードバックチャネルに影響します。Tensor Cloud が送信側であり、EMS 実装は受信のみを行います。
  • BatteryFcrCommand.control.schedule[*].capacity_kw がスキーマで条件付きになりました: control.actionexecute(デフォルト)のとき必須、cancel のとき禁止。JSON Schema の if/then/else で強制されます。
  • BatteryPowerCommand.control.scheduleBatteryFcrCommand.control.scheduleminItems: 1 を宣言しました。空のスケジュールはスキーマ層で拒否されます。
  • 埋め込みスキーマ例を修正: CommandResponse の例に必須の schema_version を追加。FCR キャンセル例の message_id 値を文書化された ^msg_[0-9a-f]{8}-…$ パターンに合致する値に修正。
  • すべてのメッセージファミリーのトップレベル additionalPropertiestrue に統一しました(BatteryPowerCommandBatteryFcrCommand を含む)。以前はコマンドが厳密で他のファミリーが寛容という非対称性がありましたが、これを解消してプロトコル全体で前方互換性を統一しました。

2.1.0 - 以前のベースライン

変更履歴ページ以前のベースライン。インテグレーションガイドおよび AsyncAPI 仕様に記載されたテレメトリ、コマンド、アラート、レスポンスの全チャネル一式を含みます。