Experiment record

SwitchBot Plug Mini (JP):OpenAPIの電力データを実測で解釈する

SwitchBot Plug Mini (JP) のOpenAPIフィールド、更新周期、`weight` の実質的な意味を短時間の実測から検証した。

結論

SwitchBot Plug Mini (JP) を冷蔵庫・冷凍庫負荷に接続し、SwitchBot OpenAPI v1.1 から状態値を取得して挙動を確認した。

今回の実測から、各フィールドは実用上次のように解釈するのが最も整合的だった。

voltage          -> 電圧 [V]
electricCurrent  -> 電流 [mA]
weight           -> 瞬時有効電力 [W] と推定
electricityOfDay -> 当日の通電時間 [min]

特に weight は数秒単位で値が変化し、日積算量とは考えにくい挙動だった。また weight / (voltage × current) を計算すると交流負荷として物理的に妥当な力率相当値が得られた。このため、weight を瞬時有効電力として扱う解釈が最も妥当と判断した。

実験条件

デバイス状態取得APIから、powervoltageweightelectricityOfDayelectricCurrent などを確認した。

5秒周期ロギング

最初の測定では、約12分32秒にわたり151点を取得した。取得周期は約5秒。

観測範囲の一例:

特に重要だったのは electricityOfDay の挙動で、ほぼ60秒ごとに1ずつ増加した。

この結果は、electricityOfDay が当日の通電時間または使用時間を分単位で表すという解釈と一致する。

1秒周期ロギング

次に、約3分43秒にわたり223点を1秒周期で取得した。

API自体は1秒ごとに問い合わせできたが、毎秒新しい測定値が返るわけではなかった。

観測された更新挙動:

したがって、1秒ポーリングでは同じ値が複数回連続して返ることが多い。長時間ロギング用途では、API応答タイミング自体を研究するのでなければ、2〜3秒程度の周期の方が効率的と考えられる。

weight の意味

公式API説明の weight は、日単位の消費量を示すようにも読める一方で単位が W とされており、物理量として解釈しにくい。

日積算のエネルギー量であれば、通常は Wh や kWh といったエネルギー単位になる。

今回の実測では、weight は例えば次のように短時間で変化した。

11.0 W -> 126.5 W -> 82.9 W -> 94.1 W

この挙動は日積算値では説明しにくく、瞬時電力として解釈すると自然である。

力率相当値による検証

weight が有効電力として振る舞うかを確認するため、次の値を計算した。

PF_like = weight[W] / (voltage[V] * current[A])

1秒周期ログ223点に対する統計:

負荷状態ごとの傾向も分かれた。

一例:

V = 103.4 V
I = 1.291 A
weight = 87.9 W

皮相電力 ~= 103.4 * 1.291 = 133.5 VA
PF_like ~= 87.9 / 133.5 = 0.658

冷蔵庫・冷凍庫のようにモーターや電力変換回路を含む交流負荷として、この値は十分あり得る範囲である。

この結果は weight が有効電力 [W] であるという解釈を強く支持する。

重要な制限

ここで計算した PF_like は、校正済み電力計で測定した厳密な力率ではない。

API上の voltageelectricCurrentweight が完全に同一時刻の同期測定値である保証はなく、丸め誤差や内部更新タイミングの差も存在し得る。

実際、わずかに1.0を超える値も観測されたため、これらは真の力率ではなく「力率相当値」として扱うべきである。

今回明確になったこと

  1. Plug Mini (JP) から OpenAPI v1.1 経由で電圧・電流・電力関連値を取得できる。
  2. voltage は V 単位の電圧と解釈できる。
  3. electricCurrent は mA 単位の電流と解釈すると実測と整合する。
  4. electricityOfDay は当日の通電時間 [min] と解釈でき、約60秒ごとに1増加する。
  5. weight は今回観測したAPI挙動では日積算量ではない。
  6. weight は瞬時有効電力 [W] と解釈するのが最も整合的である。
  7. weightelectricCurrent は主に2〜3秒程度の周期で更新される。
  8. 1秒ポーリングでは同じ測定値が繰り返し返ることが多い。

未確定事項

再現性について

公開記事では、認証情報、正確な deviceId、家庭内の生ログを意図的に公開していない。

同様の実験は、正規に認証された SwitchBot Plug Mini (JP)、OpenAPI v1.1 の device status endpoint、および timestamp・voltage・current・weightelectricityOfDay を一定周期でCSV保存するロガーがあれば再現できる。