SwitchBotボットでHub miniを用いたインターネット経由での接続をすると161エラーが出て動かないときの対処方法

部屋の照明のスイッチにSwitchBotボットを付けて間接的にIoT照明化している。

SwitchBotボットは単体でもスマホBluetoothで接続でき、スケジュール実行もできる。

Hub miniを使うとこれを経由してインターネット接続が可能になり、どこからでもスマホアプリやAPIで動かせるようになる。

しかし去年末あたりからうまく動いていなかった。

自分は平日(月~金)だけ朝8時に自動で照明が付くようにスケジュールを登録していた。

これがうまく動作していない様子だった。

去年の12月の頭に電池が切れて動かなくなっていたので交換したばかりだったため、バッテリーが少ないという問題ではなかった。

アプリで実際に動作を検証してみるとタイムアウトによるエラーが起きていることがわかった。

接続エラー161というやつだ。

f:id:New_File_20:20220110215203p:plain
接続エラー(161)が今回のスコープ

しかしこれはスマホとSwitchBotボットを直接Bluetoothで接続すると発生しない(ログの11:15のアプリ操作ってやつがそれ)

なのでこの事象は「Hub miniを用いたインターネット経由での接続」が問題となっていそうだった。

しかしHub miniはエアコンや加湿器などにも接続していてそれらは全く問題なく動いていたのでSwitchBotボットのほうに問題があると考えて初期化したり接続し直したりを試したが解決しなかった。

結論から言うと、Hub miniのほうのWi-Fi接続をやり直すと解決した。

これ見て試した。(Twitter最強すぎる…)

結構マジで謎な事象なのだが、公式のサポートやよくある質問などには記載がなかったのでこれはぜひ書いといて欲しい。

ルーター再起動はIPアドレスが変わってしまうと仕事の都合が悪いのであまりやりたくなかったが、Hub mini側を再接続したらできたのが不幸中の幸いである。

他にも購入直後はApple Watchの公式アプリからだとSwitchBotボットがうまく見つけられず接続できなかったり(Hub miniを買ってSiriのショートカットで動かせば問題ない)といろいろボットには問題が多そうな印象を感じる。

とはいえ製品シリーズの看板名にもなっているくらいのプロダクトなので頑張ってほしい。