15
10

More than 1 year has passed since last update.

Power Automate と SwitchBot の連携で家の家電とスイッチ操作を爆速にしてみた

Last updated at Posted at 2021-12-20

この記事は #RPAコミュニティアドベントカレンダー2021 by #RPALT の12月20日分の記事として執筆しています。

はじめに

みなさんこんにちは。ソントレーゾの藤野です。
現在は、市民開発者として Power Platform を活用した業務アプリケーションの開発の仕事をしています。
Power Platform に出会ってもうすぐ2年になります。

こちらの記事で年末のひとり自由研究の成果を発表したいと思います!

今回の自動化のテーマ

ズバリ 家の家電とスイッチ操作を楽にする です!
寒いのが苦手、超ズボラな私はとにかくこまめに動くのがイヤ!
この後ろ向きな気持ちをエネルギーにして前向きに作りたいと思います。

今までいつもこんな事を思っていました。

「朝起きて家中の暖房器具のスイッチを押して回るのがめんどくさい」
「子供を保育園に送迎しているタイミングで家の暖房器具のスイッチをいれておき、帰宅直後にちょうどいい暖かさの部屋で仕事をスタートしたい。」
「電気代節約のために楽してこまめに家電のオンオフをしたい」

そして、私には息子が2人いるのですが、なんでこーも家中のスイッチを入れっぱなしにするのか :sweat_smile:
「キッチンの電気消しといてー」
「トイレの電気消しといてー」
は多分トータル1,000回は言ってると思います。(本当に)

そんな時、偶然このYoutubeを見ました。

へえ!NFCタグっていうのがあるのか!

Amazonでよく見るSwitchBot でスマートホーム化したら楽だなー。
SwitchBot(スイッチボット)| Japan公式サイト

SwitchBotのスマホアプリやiphoneのショートカットアプリ、IFFFTアプリでやればいいのか。

と同時にふと「これ Power Platform 使えばできるかも?」と思いました。

で、さっそくググりました。
最初は Power Apps + NFCタグで。
すると、NFCタグを読み込みする関数があるんですね!知りませんでした。
Power Apps の ReadNFC 関数

ピッ!ってタグを読み込んで一発で操作できたら楽だなーと。
(NFCタグはまた研究します)

次に、Power Platform + SwitchBot で色々ググりました。
Webの大海原に広がるあれやこれやの情報を探しているうちにたどり着いたのは
弊社 ソントレーゾ CTOのスライドでした。

Power Automate を使ってローコードで電子機器を操作しよう!

はい、灯台下暗しです。とても近いところにありました!

・SwitchBotはAPIが提供されていること
・カスタムコネクタを作成してPower Platform で活用できること

がわかりました。
大ヒントです。早速やってみました。

準備編

AmazonブラックフライデーセールでSwitchBot製品を購入

SqitchBot購入製品.jpg
待ってたよ、このセール。ポチッとお得に買いました。
NFCタグも買ってみました。今後のために。
NFCタグはもっと安いタグがたくさんあります。

iPhone に SwitchBot アプリを入れる

IMG_7886.PNG

アカウント登録

最初にアカウント登録を行います。

開発者登録をしてトークンを取得

IMG_7882.PNG

1.アプリバージョンを10回程タップ

2.開発者向けオプションが表示されるのでタップして、トークンを取得します。

IMG_7884.PNG
取得したトークンは後にカスタムコネクタ作成、Power Platform の接続設定で使います。

各製品のセットアップ

購入したSwitchBot各製品の初期設定を行います。

APIドキュメントを熟読

OpenWonderLabs/SwitchBotAPI: SwitchBot API Documents
ガン見しました。

英語うおおおー!となったら翻訳ツールに突っ込めば大丈夫という勝手な安心感。
DeepL
いつもこのツールを使っています。

Postmanを使ってAPIをテスト

Postman.png
Postman

今回は4つのアクションを作りました。

1.デバイスIDの取得(IDわからないと作れないから)
2.SwitchBotの操作(床暖房をオンにする)
3.Plugをオンにする(パネルヒーターをオンにする)
4.プラグをオフにする(パネルヒーターをオフにする)
です。

Postman設定内容の概要

・デバイスIDの取得で各製品のデバイスIDを確認する

・アクションを作成する際にGETなのかPOSTなのか、、、 確認

・ホストドメインの確認

・ヘッダーに入れる情報
パラメータの設定.jpg
Authorizationの値は、SwitchBotアプリで取得したトークンの値を入れます。

・Bodyの記述をJSON形式で書く
Bodyの記述.png

APIのドキュメントを見ながら設定していきます。

PostmanからJSONファイルを書き出す

カスタムコネクタ作成用にPostmanで作成したコレクションをエクスポートします。
Postmanエクスポート.png

カスタムコネクタを作成

カスタムコネクタ初期画面.png

PostmanからエクスポートしたJSONファイルをインポート

カスタムコネクタインポート.png

インポートしただけでは設定は完了しませんでした。

カスタムコネクタパラメータ設定.jpg
↑の赤枠で囲った部分など、各種ヘッダーやパラメータの値が入っていない場合は入力をして設定を行います。

テスト

接続の作成

接続一覧.png

接続の作成.png
APIキーの値は、SwitchBotアプリで取得したトークンの値を入れます。

Power Automate のフロー作成

ここまで来ればほぼ完成です。

今回は2本フローを作成しました。

1.ボタントリガー→床暖房オン(SwitchBot)→パネルヒーターオン(Plug)
フロー朝.png

2.ボタントリガー→パネルヒーターオフ(Plug)
フロープラグオフ.png

ボタンをトリガーにして、カスタムから先程作成したカスタムコネクタのアクションを選択します。

完成

さっそくうまくいくか試してみます。
1.ボタントリガー→床暖房オン(SwitchBot)→パネルヒーターオン(Plug)


やってみたらボタンが落下したので、子供に持ってもらいました:sweat_smile:

動画は2つに分けて撮影しましたが、実際にはこの2つの操作は一度に実行され、大体5秒程で完了しました。

2.ボタントリガー→パネルヒーターオフ(Plug)

できました!感動!
作成したカスタムコネクターとPower Automate のフローを使って実際に家にある物を操作している、という事が不思議でした。

感想

APIの仕様確認とカスタムコネクタの作成に時間がかかりましたが、スマートホーム化に向けて夢が広がります。
次は、廊下の電気のオンオフ、照明のオンオフ、ハブを使ってリモコン操作を試してみようと思います。

SwitchBotはスマホアプリが提供されていますが、Power Platform を活用すれば業務で使えるソリューション開発の可能性が増えると感じました。

購入したNFCタグを使って日常生活や業務で使えるアプリを何か作ってみたいという来年に向けての目標もできたので引き続き研究したいと思います!

15
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
10