一昨日から朝になるとSwitchbotの情報が取れなくなっている。
Requests reached the daily limit
確認すると、アクセス数の上限制限になっているようで、以下のような結果が返ってきている。さて、アクセス回数どうやって減らすかな。
{ "statusCode": 190, "body": {}, "message": "Requests reached the daily limit" }
Gemini に聞いてみたら、munin には graph_period というのがあるらしいな。Gemini の回答は、graph_period の後に 秒数を指定すればいいような説明をしてくれるが、実際に graph_period で検索しても “graph_period second” とか “graph_period minute” 都下の説明しかでてこない。
munin fetch は最終値取得ではない
そのほかの原因としては、munin を動かすだけでなく、異常検知の nagios や homebridge 経由で温湿度などを google home などでも参照できるようにしているのが原因と疑う。nagios で munin で取得した値を参照するためには、munin に fetch コマンドを発行していたけど、fetch で最終値を読み取るのではなく、fetch により munin のプラグインを起動しているらしい(大きな勘違い)ので、request回数を減らすのには意味がなかったのに気づく。
しかたがないので、munin のプラグインで最終値をファイルに保存する処理を加え、nagios のプラグインでは、保存した値を読み出すように機能を変更した。
この勘違いのおかげで homebridge & google-home の温湿度参照で munin のプラグインを何度も起動することになっていたのが敗因だな。