プロトコルバージョン変更履歴
このページは Tensor Cloud 蓄電池最適化プロトコルの変更を記録します。ここに記載されたバージョンは AsyncAPI 仕様 の info.version および EMS が各メッセージに含める schema_version フィールドに反映されます。
バージョニングは semver 形式(MAJOR.MINOR.PATCH)に従います。
- MAJOR - トピック構造、ペイロード形状、必須フィールドへの後方非互換変更。既存のインテグレーションがコード変更なしに対応できないもの。
- MINOR - 追加的な変更(新規フィールド、新規条件付きバリデーション、新規挙動)で、保証は強化されるが旧バージョンのクライアントでも読み取り可能。Tensor Cloud は旧マイナーリビジョンで送信されたメッセージとの後方互換性を維持します。
- PATCH - ドキュメントの明確化、例の修正、ペイロードに影響しない変更。
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を追加。FCR キャンセル例のmessage_id値を文書化された^msg_[0-9a-f]{8}-…$パターンに合致する値に修正。 - すべてのメッセージファミリーのトップレベル
additionalPropertiesをtrueに統一しました(BatteryPowerCommandとBatteryFcrCommandを含む)。以前はコマンドが厳密で他のファミリーが寛容という非対称性がありましたが、これを解消してプロトコル全体で前方互換性を統一しました。
2.1.0 - 以前のベースライン
変更履歴ページ以前のベースライン。インテグレーションガイドおよび AsyncAPI 仕様に記載されたテレメトリ、コマンド、アラート、レスポンスの全チャネル一式を含みます。