switchbotハブなしでswitchbotをAlexaや他サービスハブから操作する備忘録
長年のnature remoユーザーが、引っ越しによって物理ボタンを制御する必要が出てきた…けどswitchbotハブへとの併用はいやじゃ!と悩んだ結果家にあるものでなんとかAlexaやremoなどweb経由でswitchbot操作ができるようにしてみたメモ。
使ってるもの
・Alexaやnature remoなど、ifttt対応してるあらゆる自分が使いたいトリガー
・switchbotの物理ボタン押すやつ
・android端末 ※bluetooth繋がるなら仮想でも可だけどこんな回りくどいやり方は不要なはず
・ifttt
・macrodroid
トリガー→実行の流れ
Alexa定型アクションやnature remoからのトリガー→IFTTT→webhook→microdroidでswitchbotアプリUI操作→switchbot端末
手順 お尻から作っていく
①macrodroidでマクロを作る
トリガー:接続→webhook(識別子は適当に。 urlをiftttで使うからどこかにコピーしておく。)
アクション
起動時に、前回起動時の画面状態が残ってると再現できないので必ず強制再起動させる。
switchbotのアプリをandroid上で起動させて、UI操作で座標指定クリック後、戻るボタンで実行前画面へ戻す。
実質UI依存のRPAなので待機時間をしっかり設定しよう。
(さもなくば画面表示が切り替わる前にクリックされて悲しいことになる。端末依存のため秒数は各自調整必要。)
条件:何かあれば設定すればよいがなければ不要
②ifttt作る
無料版しかつかってないけど、5設定(アプレット)以上は設定できないみたいなのでswitchbotが大量にある人は有料版を買いましょう。
作成する→
if this:使いたいトリガーを選択
then that:webhookを検索、選択
macrodroidのurlを入力し、methodはget、残りは空欄
最後終了するを押すと作成完了。
③対応するトリガー設定
Alexaの呼びかけ設定や各種スマートデバイスのトリガーを作る。
※トリガーをifttt経由して飛ばすので、ifttt対応サービスに限る
我が家はAlexa+remoハブの各種センサー。
Alexa経由する場合は定型アクション作成を忘れないこと
その他→定型アクション→
実行条件:呼びかけるセリフ設定
アクション:iftttでさっき作った対応アプレットを選択
実行 もしかしてiPhoneユーザーは使えない?
ifttt→macrodroidで無限の可能性が広がりますね。
実行がうまく行かないときは
・Alexaの定型アクションでiftttのアプレット選択忘れてる
・macrodroidがうまく組めてない
複数アクション組み合わせて複雑なロボットにするときは、待機時間や強制アプリ再起動を駆使して常に状況再現に失敗しないように。
macrodroid内の各マクロ編集画面右上ハンバーガーメニューより、アクションを試すが使えるのでデバッグを頑張る。
macrodroidでandroid経由して操作できるものは何でも操作できるので、機種変前の古いandroid端末を固定機として置いててもいいし、手持ち端末のWidget等から操作したいなら普段遣いの端末でも画面が一瞬切り替わることが気にならないなら十分実用範囲。
調べてないけどiPhoneにmacrodroidの代替アプリってあるんだろうか…