SwitchBotをNFCタグでタッチ操作!TaskerとAPI連携で実現する、コスパ最強のスマートホーム自動化術を実例付きで解説します。
「寝る前に毎回アプリを開いて照明をオフにするのが面倒…」 「外出時にリビングの電気を消し忘れた!」
そんな悩み、NFCタグ1枚で解決できるのです。
この記事では、たった720円のNFCタグとTaskerアプリを使って、SwitchBotデバイスをタッチ操作できる仕組みを構築します。実際に筆者が検証した手順を、コピペで使えるコード付きで徹底解説します。
本記事の手順を実行すると、以下のような自動化が可能になります。
SwitchBot APIを使用するには、専用トークンが必要です。
開発者オプションの表示 | トークンの取得 |
---|---|
![]() | ![]() |
重要: トークンは第三者に絶対に教えないでください。全デバイスを操作できる権限があります。
SwitchBotアプリで作成済みの「シーン」を、API経由で実行します。まず、シーンIDを調べます。
# トークンを環境変数に設定(XXXの部分を自分のトークンに置き換え)
token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# シーン一覧を取得
curl -fSsL \
-X GET \
-H "Content-Type: application/json" \
-H "Authorization: $token" \
"https://api.switch-bot.com/v1.1/scenes" | jq .
{
"statusCode": 100,
"body": [
{
"sceneId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"sceneName": "オフィスでんきOFF"
},
{
"sceneId": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"sceneName": "オフィスでんきON"
},
{
"sceneId": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"sceneName": "オフィス棚"
}
],
"message": "success"
}
ポイント: sceneId
をメモしておいてください。次のステップで使用します。
APIが正しく動作するか、事前に確認します。
# sceneIdを指定してシーン実行(IDは自分のものに置き換え)
curl -fSsL \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: $token" \
"https://api.switch-bot.com/v1.1/scenes/ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ/execute" | jq .
{
"statusCode": 100,
"body": {},
"message": "success"
}
トラブルシューティング:
statusCode: 190
→ トークンが無効です。再取得してくださいstatusCode: 404
→ シーンIDが間違っていますいよいよTaskerアプリでNFCタッチ時の動作を設定します。
req
と入力項目 | 設定値 |
---|---|
方式 | POST |
URL | https://api.switch-bot.com/v1.1/scenes/【sceneId】/execute |
ヘッダー | Authorization: 【取得したトークン】 Content-Type: application/json |
ヘッダー入力例:
Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Content-Type: application/json
nfc
と入力 → NFCタグ を選択設定完了後、実際にNFCタグをスマホにかざしてテストします。
問題 | 原因 | 解決策 |
---|---|---|
タッチしても反応しない | NFCが無効化されている | 設定 → 接続 → NFCをONに |
エラーメッセージが出る | ヘッダー形式が間違っている | : の後にスペースを入れる |
一部デバイスだけ動かない | シーン設定が不完全 | SwitchBotアプリでシーン再設定 |
使用製品: SwitchBot プラグミニ + デスクライト シーン名: “就寝モード” NFCタグ設置場所: ベッドヘッドボード
効果:
使用製品: SwitchBot プラグミニ × 2(デスクライト、棚ライト) シーン名: “オフィス棚” NFCタグ設置場所: デスクマット下
効果:
SwitchBotアプリにはNFCタグ書き込み機能が実装されていますが、筆者が試したところ以下の問題が発生しました。
そのため、Tasker + API連携の方が確実で柔軟性も高いと判断しました。
A: 残念ながら、Taskerアプリが存在しないため実現不可です。iOS版の代替案として「ショートカット」アプリが考えられますが、バックグラウンドでのNFC起動に制限があります。
A: 書き込み回数は約10万回程度。1日10回使用しても約27年持ちます。
A: 公式ドキュメント上、明記されていませんが、再発行するまで有効と思われます。セキュリティ上、定期的な更新を推奨します。
A: Taskerタスク内で複数のHTTPリクエストアクションを連続で設定すれば可能です。
A: スマホの機種にもよりますが、通常1cm以内です。金属面に貼ると読み取り精度が低下します。
本記事では、SwitchBot × NFCタグ × Taskerの組み合わせで、タッチ操作によるスマートホーム自動化を実現しました。
総コスト:約4,500円でここまでできるのは、コスパ最強です。
ぜひあなたも、NFCタグでスマートホーム生活をワンランクアップさせてください!
この記事が役に立った方は、ぜひSNSでシェアしてください! 他のスマートホーム自動化記事も随時更新中です。