SwitchBotをNFCタグで操作する方法【完全ガイド】

SwitchBotをNFCタグでタッチ操作!TaskerとAPI連携で実現する、コスパ最強のスマートホーム自動化術を実例付きで解説します。

map[class:w-full h-auto rounded-2xl page:/opt/buildhome/repo/content/blog/switchbot-nfc-automation/index.md src:img.webp]

はじめに:スマホをかざすだけでSwitchBotを操作したくありませんか?

「寝る前に毎回アプリを開いて照明をオフにするのが面倒…」 「外出時にリビングの電気を消し忘れた!」

そんな悩み、NFCタグ1枚で解決できるのです。

NFCタグとスマートライト

この記事では、たった720円のNFCタグとTaskerアプリを使って、SwitchBotデバイスをタッチ操作できる仕組みを構築します。実際に筆者が検証した手順を、コピペで使えるコード付きで徹底解説します。

なぜNFCタグ × SwitchBotなのか?

メリット

  • 即座に操作完了: アプリ起動不要、タッチするだけ
  • 低コスト: NFCタグは1枚24円(30枚セットで720円)
  • オフライン動作可能: スマホとNFCタグさえあればOK
  • 自由なカスタマイズ: 複数のシーン実行も可能

デメリット

  • 初期設定が必要: API設定とTasker設定が必要(本記事で完全解説)
  • Android限定: iOS版Taskerはありません

実現できること

本記事の手順を実行すると、以下のような自動化が可能になります。

NFCタッチで照明ON

  • ベッドサイドにNFCタグを貼り付け → タッチで全照明OFF
  • 玄関にNFCタグ設置 → 外出時にタッチで「外出モード」シーン実行
  • デスク横にNFCタグ → タッチでデスクライト&エアコンON

準備するもの

必要なデバイス

  1. NFCタグ(NTAG215推奨)
  2. SwitchBotデバイス
  3. Androidスマートフォン(NFC対応機種)
  4. Taskerアプリ(Google Playストアから無料ダウンロード)

環境構築に必要なスキル

  • curlコマンドの基本的な理解(コピペでOK)
  • Taskerアプリの基本操作(画面キャプチャ付きで解説)

手順1: SwitchBot APIトークンの取得

SwitchBot APIを使用するには、専用トークンが必要です。

取得手順

  1. SwitchBotアプリを開く
  2. プロフィール設定基本データ を選択
  3. 開発者オプション をタップ
    • 表示されない場合: アプリバージョン番号を10回連打すると出現
  4. トークン をタップしてコピー
開発者オプションの表示トークンの取得
開発者オプショントークン取得

重要: トークンは第三者に絶対に教えないでください。全デバイスを操作できる権限があります。

手順2: 実行したいシーンIDを取得

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 をメモしておいてください。次のステップで使用します。

手順3: コマンドラインでシーン実行をテスト

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が間違っています

手順4: Taskerアプリで新規タスクを作成

いよいよTaskerアプリでNFCタッチ時の動作を設定します。

4-1: HTTPリクエストタスクを作成

  1. Taskerアプリを開く
  2. タスクタブ → +ボタン → 任意の名前(例: “オフィスライトOFF”)を入力
  3. +ボタン → 検索窓に req と入力
  4. HTTPリクエスト または HTTP Request を選択
  5. 以下のパラメータを設定:
項目設定値
方式POST
URLhttps://api.switch-bot.com/v1.1/scenes/【sceneId】/execute
ヘッダーAuthorization: 【取得したトークン】Content-Type: application/json

ヘッダー入力例:

Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Content-Type: application/json
  1. 右上の3点メニュータスクに名前を付ける で保存

4-2: NFCタグとタスクを紐付ける

  1. プロファイルタブ → +ボタンイベント を選択
  2. 検索窓に nfc と入力 → NFCタグ を選択
  3. ID横の検索マーク(🔍) をタップ → NFCタグ読み込みモードに
  4. NFCタグをスマホにかざす → IDが自動入力される
    • 「IDしか使えないかも」というワーニングは無視してOK
  5. 戻るボタン → タスク選択画面で先ほど作成したタスクを選択

TaskerでNFCプロファイル設定

手順5: 動作テストと調整

設定完了後、実際にNFCタグをスマホにかざしてテストします。

テスト方法

  1. Taskerアプリを閉じる(バックグラウンド実行でOK)
  2. NFCタグをスマホにかざす
  3. SwitchBotデバイスが動作するか確認

よくあるトラブルと解決策

問題原因解決策
タッチしても反応しないNFCが無効化されている設定 → 接続 → NFCをONに
エラーメッセージが出るヘッダー形式が間違っている: の後にスペースを入れる
一部デバイスだけ動かないシーン設定が不完全SwitchBotアプリでシーン再設定

実践例:筆者の自動化事例

ケース1: ベッドサイド照明制御

使用製品: SwitchBot プラグミニ + デスクライト シーン名: “就寝モード” NFCタグ設置場所: ベッドヘッドボード

効果:

  • ベッドに入る際にタッチ → リビング&寝室照明OFF、間接照明のみON
  • 朝起きた時にタッチ → 全照明ON

ケース2: デスク作業モード

使用製品: SwitchBot プラグミニ × 2(デスクライト、棚ライト) シーン名: “オフィス棚” NFCタグ設置場所: デスクマット下

効果:

  • 作業開始時にタッチ → デスク周辺の照明を一括ON
  • 作業終了時に別タグでOFF

なぜSwitchBotアプリのNFC書き込み機能を使わなかったのか?

SwitchBotアプリにはNFCタグ書き込み機能が実装されていますが、筆者が試したところ以下の問題が発生しました。

  • メモリ不足エラー: 書き込み途中で失敗(NFCタグの容量不足?)
  • 読み取り精度の低さ: タッチしても反応しないケースが多発

そのため、Tasker + API連携の方が確実で柔軟性も高いと判断しました。

FAQ:よくある質問

Q1: iPhoneでも使えますか?

A: 残念ながら、Taskerアプリが存在しないため実現不可です。iOS版の代替案として「ショートカット」アプリが考えられますが、バックグラウンドでのNFC起動に制限があります。

Q2: NFCタグの寿命は?

A: 書き込み回数は約10万回程度。1日10回使用しても約27年持ちます。

Q3: トークンの有効期限は?

A: 公式ドキュメント上、明記されていませんが、再発行するまで有効と思われます。セキュリティ上、定期的な更新を推奨します。

Q4: 複数のシーンを1つのNFCタグで実行できますか?

A: Taskerタスク内で複数のHTTPリクエストアクションを連続で設定すれば可能です。

Q5: NFCタグの読み取り距離は?

A: スマホの機種にもよりますが、通常1cm以内です。金属面に貼ると読み取り精度が低下します。

まとめ:スマートホーム自動化の新たな一歩

本記事では、SwitchBot × NFCタグ × Taskerの組み合わせで、タッチ操作によるスマートホーム自動化を実現しました。

この記事で学んだこと

  • SwitchBot APIトークンの取得方法
  • curlコマンドでのシーン実行テスト
  • TaskerアプリでのNFCトリガー設定
  • 実践的な自動化事例

次のステップ

  • 複数のSwitchBotデバイスを連携させた複雑なシーン作成
  • 時間帯によって動作を変える条件分岐の追加
  • Google HomeやAlexaとの併用

総コスト:約4,500円でここまでできるのは、コスパ最強です。

ぜひあなたも、NFCタグでスマートホーム生活をワンランクアップさせてください!

使用した製品リンク


この記事が役に立った方は、ぜひSNSでシェアしてください! 他のスマートホーム自動化記事も随時更新中です。