Zigbeeを使った安価な磁気接触センサ(開閉センサー)を使いました。送料込みで648円です。Zigbee2MQTTで問題なく認識され、HomeKitから使用することができました。単4電池を2本使用するので、ボタン電池を使用する製品に比べると少し大きいです。しかし安価ですし、電池も容易・安価に入手できるので、サイズが許容される場面では良い製品です。
色々使える接触センサ
リードスイッチセンサーは、磁石ユニットの近接を検知するセンサで、主にドアや窓に取り付けて防犯目的で使用されます。納戸や家具のドアに付けて中の照明を点灯させたり、玄関ドアに取り付けて電気錠でオートロックさせることもできます。このほか、近接状態を検出できる場面で色々と使用できます。例えば、エアコンの吹き出し口フラップに取り付ければ、エアコンの動作状態を検出することもできます。
さらには、センサ部分を加工すれば、安価な無線スイッチとして使えます。ここにプッシュスイッチを取り付ければ、無線呼び鈴やドアベルなどになります。また、JEM-A端子とか、雨量計などの1ビット状態を無線伝達するユニットとしても使えます。今回紹介するようなZigbee製品を流用すると、ESP32でDIYするより安価で省電力な無線スイッチが作れます。
HomeKitで使える磁気接触センサ
今まで何種類かの接触センサを試してきました。今回の製品(リストの最後)を加えると、以下です(価格はAliExpressでの送料込み現在価格)。
- TuyaのWiFiセンサ(単4電池x2、当時363円、現在は677円)
- TuyaのZigbeeセンサ(ボタン電池、1,028円)
- AqaraのZigbeeセンサ(ボタン電池、1,771円)
- TuyaのZigbeeセンサ(単4電池x2、648円)
このうち、1番と2番については以下の記事をご覧ください。
それぞれの製品の特徴をまとめた内容が以下です。
- TuyaのWiFiセンサ(単4電池x2、当時363円、現在は677円)時期によっては非常に安価ですが、応答が遅い(20秒程度)。TuyaがクラウドAPIを有料化したのでHomeKitからは事実上使用不可能になりました。Home AssistantのローカルTuyaを使えば使用可能なのかもしれません。
- TuyaのZigbeeセンサ(ボタン電池、1,028円)Zigbee2MQTT/HomebridgeでHomeKitから使用可能。CR2032電池使用で小型。
- AqaraのZigbeeセンサ(ボタン電池、1,771円)Zigbee2MQTT/HomebridgeでHomeKitから使用可能。CR1632電池使用で非常に小型。温度センサ内蔵でこれもHomeKitから使用可能。
- TuyaのZigbeeセンサ(単4電池x2、648円)Zigbee2MQTT/HomebridgeでHomeKitから使用可能。この記事で紹介します。
AqaraはXiaomi製品なので高級志向です。高機能なだけでなく、箱のパッケージにもアップル製品の雰囲気があります。2, 3, 4の製品は応答速度も良く安定して使用できるので、どれを選んでも良いです。予算とサイズで選んで良いと思います。
単4電池Zigbeeセンサ
今回使用した磁気接触センサは、こちらの製品です。
単4電池を2本使う製品です。ボタン電池を使うセンサに比べるとサイズが大きいですが、安価です。電池の入手が楽ですし、電池容量は大きいので交換の手間が少ないです。上記のサイトには、
- スタンバイ電流10μA
- 動作時電流15mA
との記載があります。パナソニックの電池情報のグラフを単純に外挿してみたら、単4アルカリ電池を10μAで使用する場合、20万時間の電池寿命になりました。23年くらいです。
上記のCR2032を使ったセンサの商品紹介では、1日5回検出される場合で電池寿命が3年と書いてあります。CR2032と単4電池は5倍くらい容量が違うので15年持続する計算になります。電池交換のことは忘れても良いくらいです。
開封して分解
箱から出すとこんな感じです。単4電池2本用を使うので、多少大きいです。ドアや窓なら、見た目を気にしなければ問題ない大きさです。写真に見える点のような穴は、LEDの部分です。ここには写っていないヘリの部分に、リセットボタンの穴があり、そちらにはRESETと書いてあります。
本体裏蓋をスライドさせると電池ボックスが現れます。
中央にネジが見えます。これを外して、軽い噛み合わせを外すと、中が見えます。
左にあるのがワンチップコンピュータです。ZTUという文字が見えます。以前ご紹介したTuyaのZigbeeセンサにも付いていたZigbeeチップです。
磁気スイッチ
磁石が当たる部分には、小さな3ピンの部品がはんだ付けされています。表面には、2373S 2220と書いてあります。検索しても探せませんでしたが、村田製作所などが作っている磁気スイッチというチップにそっくりです。以下はPDF仕様書ページへのリンクです。
3本のピンは、それぞれVcc, GND, OUT(出力の1または0)とのことです。実際に回路を追ってみたところ、Vccは電池の+側に、GNDは電池の-側に接続されていました。3Vで動いているようです。
OUTピンは、Zigbeeチップのピンに接続されていました。
このセンサは、磁気抵抗という現象を使って動作しているようです。磁場が加わると抵抗値が変化するセンサを使ったブリッジ抵抗回路を作り、その差異を増幅して出力としているようです。
磁気スイッチの代わりに押しボタンスイッチなどを取り付けたい場合は、この部品を取り外して、改造することになりそうです。ちょっと大変かもしれません。こちらのボタン電池バージョンは、単純なリードスイッチを使用していましたので、そちらの方が改造が楽かと思います。
Z2M経由でHomeKitで使う
次にZigbee2MQTT (Z2M) にペアリングしてHomeKitで使えるようにします。このためには、Zigbee2MQTTサーバが稼働していて、MQTTブローカー (Mosquitto) が動き、Homebridgeが動いていて、さらにHomebridgeにZigbee2MQTTを使用するプラグインが入っている必要があります。これらをRaspbetty Piで動かしてます。
これらの設定に関しては、以下をご覧ください。
まずは、Zigbee2MQTTのwebインタフェースからペアリングします。ペアリングモードがoffに設定してある場合は、webインタフェース右上のPermit join (All)のメニューをクリックしてペアリングを許可します。すると5分間、ペアリングが可能になります。
この状態で接触センサーの横にあるリセットボタンを5秒程度長押しします。するとLEDが点滅してペアリングモードに入ります。ペアリングが終了すると、以下のようにセンサを確認できました。TS0203というセンサとして認識されているようです。写真が違いますが、おそらくは同じZTUチップを使用したセンサだと思われます。
動作も以下のように確認できます。
Homebridgeには、Zigbee2MQTT用のプラグインが動作しています。なので、iPhoneやMacのホーム.appにもすぐにセンサとして現れました。
応答も早いです。LED電球をon/offするオートメーションを作成してみましたが、0.2秒くらいで応答します。
まとめ
Tuyaの安価なZigbee接触センサをHomeKitで使いました。送料込み648円は、HomeKitで使える接触センサとして最安と思います。DIYしてもこの価格では作れないです。動作は安定していて、応答も早いです。単4電池搭載でメンテナンスが楽ですが、ボタン電池の製品より大きいです。今回使用した限りではサイズは気になりませんでしたので、もう少し買い足しても良いと思いました。
コメント