Smart HomeをDIYする

Apple HomeKit は対応製品が少なくて高価なのでHomebridgeでがんばります

iPhoneがNFCタグを読んだら実行するオートメーションを設定する

iPhoneNFCタグを読んだ時に、何かのアクションを実行するショートカットを作成しました。これで、スマホNFCタグを読んだら明かりをつける、とか、帰宅して玄関に貼られたタグを読んだら、電気錠を開けて警報器をオフにするなどの自動操作が行えます。

NFCタグ

電磁誘導や電波を受け取って、その電力で稼働してIDを無線で返すタグは、パッシブ型RFIDタグと呼ばれています。ユニクロの服のタグや、図書館の本などに仕組まれてます。NFCタグもRFIDの一種です。SuicaをはじめとするFeliCaNFCと互換です。周波数やプロトコルが標準化されたおかげで、ほとんどのスマホNFCタグを読めます。

AmazonNFCタグを買う

NFCタグは標準化されているので、ネット通販で安価に販売されてます。AliExpressで安く買えますが、Amazonでもそれほど価格は変わりません。それでAmazonで、30枚で930円(1枚あたり31円)で売っていたコイン型のNFCタグを試してみました。

防水型で価格が安くて小型薄型なので、色々なところに気軽に貼れます。サイズは直径25mm、厚さは0.7mmです。

iPhoneで読む

後述するように、このタグはiPhoneで読めました。Amazonのコメントを見ると、感度が悪い、動作しないことがあるなどのコメントもあります。Suicaのようなクレジットカード型に比べて、500円玉より一回り小さいサイズで、アンテナコイルが小さいので、こんなものだと思います。スマホNFCアンテナの位置をしっかり把握して、タグに当てれば確実に動作します。最近のiPhoneの場合、画面上のノッチの裏側くらいをタグに当てると確実です。ノッチの裏、上辺から10mmくらいの位置とタグの中心を重ねると(iPhoneにタグがギリギリ隠れるくらいの位置)、一番感度が高いようです。

スイートスポットが狭いと感じるようでしたら、クレジットカードサイズのNFCタグにすると良いと思います。

カードサイズは1枚100円くらいです。こちらの製品は動作確認していませんが、同じNFCなので問題ないと思います。

「ショートカット」アプリ

iPhoneNFCタグを活用するには、標準のショートカットアプリが便利です。ショートカットは、元々はアプリなどを使用する手順をまとめて、一つのアイコンにして、iPhoneの画面に表示するアプリです。CUIの世界のバッチファイルとかスクリプトのような存在でした。HomeKitのスマートホームのコントロールも提供してます。現在は、色々なイベントをきっかけに動作するオートメーションなど機能が充実してます。

macOS 12.0以降では、Macでも動くようになってます。macOSにはそれまで、スクリプトエディタやAutometorという自動化のためのアプリがありましたが、それにショートカットが加わりました。macOSからショートカットを使う記事を前回紹介しました。今回はiPhoneから使います。

diysmarthome.hatenablog.com

個人用とホーム用のオートメーション

iPhoneNFCタグを読んだことをきっかけに動作するオートメーションを作成するには、ショートカットの画面下にある、「オートメーション」ボタンをタップします。画面には、今まで作成したオートメーションが表示されます。「ホーム」アプリで作ったHomeKitオートメーションも、ここに並んでいたのでちょっと驚きました。ショートカットとホームは連携しているようです。こんな芸当ができるのはOSを作っているAppleGoogleだけですね。

画面右上の+ボタンをクリックすると、新規のオートメーションを作成できます。ここでは、「個人用オートメーション」と「ホームオートメーション」の選択肢が現れます。この2つについて少し説明します。

個人用オートメーションは、作成したiPhoneだけで実行するオートメーションです。オートメーションの手順は、iCloudでバックアップされるものの、おそらくはそのiPhoneにローカルに保存されると思われます。そのiPhoneからのみ実行できるので、実行できる人はiPhoneの持ち主だけです。

ホームオートメーションは、「ホーム」アプリで設定した家ごとに作成します。その家の住人として登録された人全員が利用できます。ホームアプリで作成するオートメーションと同じものです。オートメーションのデータは、おそらくはその家の「ホームサーバ」に保存されます。ホームサーバは、その家に設置されたHomePod, AppleTV, iPadです。ホームサーバを交換したり追加すると自動的に引き継がれるので、おそらくはiCloud上にもバックアップされているはずです。

NFCタグを読んで実行するオートメーションは、個人用オートメーションとして作成します。ホームオートメーションでは作成できません。なのでここは、「個人用オートメーションを作成」をタップします。

LED電球を点けるオートメーションを作る

まずは、NFCタグを読んだらLED電球が点灯するオートメーションを作ってみます。「個人用オートメーションを作成」をタップすると、オートメーションを起動するトリガーを選ぶ画面が表示されます。スクロールしていくと、「NFC 例:"NFCタグをタップした時"」という選択肢があるので、これをタップします。

次にNFCタグをスキャンするボタンが現れるので、これをタップしてスキャンします。

スキャンできるとタグに名前をつけられます。ここではLED Onという名前にしました。

「次へ」をタップすると、アクションをつける画面に移動します。ここで「アクションを追加」をタップします。

Appボタンをタップしてスクロールするとホームが見えるのでこれをタップします。

すると、選択したAppで操作できる項目が現れます。この中から、「"(家の名前)"をコントロール」を選び、この手順の中の「シーンとアクセサリ」の部分をクリックします。これでアクセサリとその状態を選べば、動作の指定が完了します。ここでは、Ledvance RGBという名前のLED電球を1%の明るさで点灯させるという動作を指定しました。

完成すると、作成したオートメーションが表示されます。一番下に「実行の前に尋ねる」というスイッチがあります。これは、NFCタグを読んだ後に、確認の表示とタップ操作を必要とするかどうかの選択です。すぐに実行して欲しかったらこのスイッチをoffにします。確認の後で、offになります。

      

これで、iPhoneNFCタグを読むと、すぐにLED電球が点灯します。

   

タグの読み取りは、iPhoneがロックされていても機能します。ただ、画面が消えている状態では機能しないので、画面をタップして起動させておく必要があります。

NFCタグで玄関の電気錠とセキュリティを解除

玄関の外にNFCタグを貼っておいて、それをスマホで読むと錠が開くと便利かもしれません。そんなオートメーションも作ってみます。帰宅した際に、以前作成した電気錠と、セキュリティシステムを設定します。ついでに照明を点灯させても良いと思います。

 

diysmarthome.hatenablog.com

上のステップと同様な操作を行い、今度は「玄関」という名前のNFCタグを用意します。

このアクションには、

  1. Entranceという名前の電気錠を解除して、
  2. Securityという名前のセキュリティシステムをオフにする、

アクションを以下のように設定します。

これも、「実行の前に尋ねる」をoffに設定してみました。

最初の状態は、施錠されていて、セキュリティシステムが警戒状態です。

ここでタグを読ませると、確認のメッセージが現れました。

「実行の前に尋ねる」をoffにしたのに、今度は確認のメッセージが出ました。おそらくは、ロックとセキュリティシステムは、セキュリティが重要であるので、必ず確認が出る仕様になっているのだと思います。実際に、悪意のある人が玄関のタグを読んで、IDを取得して、同じタグを複製して、持ち主に気づかれずにiPhoneに読ませることが不可能ではないと思います。そんな場面でも、確認が出れば阻止できます。そのような仕様なのかと思いました。

それはさておき、ここでContinueを選択すると、玄関が解錠、セキュリティが解除になるよう動作開始します。

そして、玄関が解錠されて、セキュリティがオフになります。

玄関の電気錠は、オートロック機構により10秒後に施錠に戻ります。セキュリティの方はオフのままです。

まとめ

NFCタグを貼り付けて、これを読むことでHomeKitアクセサリを操作する自動化を行いました。ショートカットは、HomeKitアクセサリだけでなく、あらゆるアプリの制御に使えます。仕事や日常生活の中で色々使えると思います。

頻繁に使う機能だったら、専用の壁スイッチを取り付けた方が、スマホを取り出して当てる必要もなく、素早く操作できて便利です。

diysmarthome.hatenablog.com

diysmarthome.hatenablog.com

NFCタグを使うメリットは、価格が安く堅牢なことかと思います。1枚30円ほどなので、色々な機能のタグを気軽に貼れます。防水タグを使えば、玄関外のように風雨が当たる場所にも気軽に貼り付けられます。そのiPhoneを持っている人だけが使用できるので安全です。