Zigbee2MQTT (Z2M) で使うZigbee USB アダプタ(トランシーバ)のお勧めはSnoffのZigbee 3.0 USB Dongle Plus ZBDongle-Pです。似た型番の製品にZigbee 3.0 USB Dongle Plus ZBDongle-Eがあります。こちらはZ2Mで動作不安定ですので注意が必要です。
Zigbee利用に必須のUSBアダプタ
Zigbee無線を使ったスマートホームデバイスは、Tuya関連メーカ, IKEA, Hueなどから多数販売されていて、Z2M経由でHomebridge/HomeKitで利用できます。Z2Mのインストール方法はこちらをご覧ください。
Zigbeeを利用するためには、Zigbee無線のトランシーバが必要です。上記の記事でも、お勧め製品を書きました。
Z2Mのページには、Z2Mで安定して使用できるおすすめのZigbeeアダプタが紹介されています。その筆頭がTexas Instruments社のCC2652というチップを使用した製品です。AliExpressでCC2652を使ったUSBアダプタを探すと、いくつかの製品が見つかります。一つは、こちらの製品です。販売ページには、
- CC2652Pと
- CC2652R
の2種類があります。Pの方をずっと使ってますが安定してます。PとRの違いはGPIOの数が違うくらいのようですので、Rでも使えると思います。
この製品も良いのですが、ケースがプラスチックで安っぽいです。一方、こちらのSonoffの製品、Zigbee 3.0 USB Dongle Plus ZBDongle-Pは、厚いアルミ筐体で、造りがしっかりしてます。
以前、ZBDongle-Pと間違えてZBDongle-Eを買ってしまって、動作が不安定だったという失敗談を書きました。
実はもう一回リベンジして、ZBDongle-Pを買って動作確認していましたので、今回はそのレポートです。
SonoffのZBDongle-Pを使う
改めて買い直したSnoffのZigbee 3.0 USB Dongle Plusを、Raspberry Pi, Linux, MacなどのUSBポートに差し込むと、自動的に認識されました。搭載されているUSBシリアル変換チップが、それぞれのOSで標準サポートされているからです。手元のRaspberry Pi 4でlsusbコマンドを発行すると、こんなふうに見えました。
$ lsusb (略) Bus 001 Device 006: ID 10c4:ea60 Silicon Labs CP210x UART Bridge (略)
シリアル変換のチップCP210xが搭載されていてそれが表示されてます。この変換チップが動作しているおかげで、特別にドライバをインストールしなくても、そのまま/dev/tty*に見えました。
$ ls /dev/tty* (略) /dev/ttyUSB0
USB Zigbeeアダプタは、/dev/ttyUSB0もしくは/dev/ttyACM0という名前で現れることが多いです。macOSでもこの名前で現れます。USBトランシーバーを抜き差しすると、消えたり出現したりしますので、その挙動でも名前を確認できます。この名前はZigbee2MQTTの設定で必要なので、メモしておきます。Z2Mの設定を行い、Zigbeeデバイスをペアリングすれば、Z2Mプラグインを入れたHomebridgeから使用できるようになります。
ZBDongle-Pと-Eを比較する
紛らわしかった2種類のアダプタが手元に揃ったので、比較してみます。再度確認しておくと、
- ZBDongle-P(以下、簡単にPモデルと書きます)はZ2Mで安定して使えるお勧め製品ですが、一方、
- ZBDongle-E(同じく以下Eモデル)は不安定なのでZ2Mユーザが買ってはいけない製品です。
まずは外箱です。上がPモデル、下がEモデルです。中央にはどちらもZigbee 3.0 USB Dongle Plusと書いてあり、区別がつきません。Eモデルの方は、右下に小さくZBDongle-Eと書かれてます。
次に本体の比較です。これもPモデルが上、Eモデルが下です。こちらも本体表記は同じものの、サイズが違います。パッケージの製品イラストを見直すと、そちらも実はサイズが違っていました。Eモデルが後から出たバージョンで、小型化された改良版と考えられます。
中の基板も見てみます。これも上がPモデルで、下がEモデルです。Eモデルでは、動作モード切り替えスライドスイッチがなくなり、基板の集積度が上がり、チップも小型化してます。製品としての完成度が、高まっている印象です。
チップ周辺を拡大します。まずはPモデルです。右にある大きなチップがZigbeeチップで、Z2Mで安定して動くと言われているTIのCC2652です。左側がUSBシリアル変換チップで、SILabsのCP2102と書かれています。この番号が上記のlsusbコマンドの結果に現れていました。
一方のEモデルのチップ周辺が下の写真です。これも右側がZigbeeチップで、MG21と書かれてます。左側がUSBシリアル変換チップで、CH9102Fです。MG21は、Silicon Labsの EFR32MG21というチップです。検索すると、Matterにも対応できる最新チップのようです。ただ、Z2Mでは実験的なサポートの扱いで、安定していないようです。
(追記:コメントで情報いただいたように、現在ではMG21も安定して動作する様です。そのうち試したいと思います。詳細はコメント欄をご覧ください。2024/05/26)
製品サイズが一回り小さいEモデルは、Pモデルの後継モデルのようです。製品名が紛らわしいことから、少しずつ新モデルに置き換えていく予定なのではないかと思います。これからもPモデルを供給してくれるのかどうかわかりませんので、必要ならば早めに確保しておくと良いと思います。もっとも、将来MG21もZ2Mで安定してサポートされるようになるかもしれませんし、さらにはMatter over Threadの時代になればMG21の方が有利になるかもしれません。
ZBDongle-Pの買い方
このように、PモデルとEモデルは紛らわしいので、Eモデルを避けて、Pモデルを買うには注意が必要です。
Zigbee 3.0 USB Dongle PlusはAmazonでも売っているようです。販売ページの説明には、Zigbee2MQTTで使えて、TI CC2652PとCP2102Nを使っていると書かれてます。これなら間違いなくPモデルだと思われます。ただ、AliExpressに比べて倍近い価格です。納期も特に早いわけではないです。
AliExpressで探すと、数多くの製品が見つかります。例えばこちらの製品は、送料無料で3,100円です。タイトルにZBDongle-Pと書かれているのでPモデルに間違いないようです。製品説明の写真にも、チップがCC2652Pであることが書かれてます。製品サイズも長さが87mmだと書いてあります。
一方、例えばこちらの製品は、おそらくZ2Mユーザが買ってはいけないEモデルです。Zigbee2MQTTで使えると読める標題が書かれていますが、商品説明にはZBDongle-Eと書いてあります。チップの写真にもMG21の表記があり、製品サイズも75mmと短いです。前述のように、不安定でもある程度動作するので、Z2Mで動作するという表記は間違いではありません。でもこれは避けた方が良いです。
このほか、商品説明に、CC2652とMG21のチップセットが併記されている商品もあります。どちらか在庫がある方が配送されるという意味と思われます。これも避けるべきです。コメント欄に「Dongle-Pを注文したのにDongle-Eが届いた」という書き込みがある製品もあります。名前が紛らわしくて多少混乱しているようです。
まとめ
Z2Mで使うZigbeeトランシーバでおすすめの製品は、SonoffのUSBドングルです。安定して動作しますし、安くて造りがしっかりしています。ただ紛らわしい後継モデルがあるので、購入の際には注意しましょう。
コメント
はじめまして、ネットで検索してたどり着いたHA初心者です。以前は実験的なサポートで安定していないと書かれていたかもしれませんが今はSilicon LabsのZBDongle-Eも公式サポートの推奨アダプターです。情報は日々更新され変化していますので(最終更新日2024/5/17)、公式サイトの表記を今一度良く読んでみてください。
検索するとZBDongle-Pの情報ばかりでZBDongle-Eの情報が少ないので情報共有できたらと思います。私はZigbee2MQTTの導入は結構つまずきまして、公式の情報を元にファームウェアを7.4.1にアップデートしました。
https://www.zigbee2mqtt.io/guide/adapters/emberznet.html
ファームウェアはWindowsパソコンがあればそのままUSBに刺してブラウザから直接焼けました。
https://darkxst.github.io/silabs-firmware-builder/
このフラッシャーだとそのままでは最新版は焼けないので下記サイトのfirmware_buildsよりncp-uart-hw-v7.4.1.0-zbdonglee-115200.gblをダウンロードして焼きました。
https://github.com/darkxst/silabs-firmware-builder
私はZBDongle-Pを持っていないので比較できないのですがZBDongle-EでもZigbee2MQTTを使えており、ZBDongle-Eを買ってしまったユーザーの救済策になればと思い書き込ませていただきました。
情報ありがとうございます。本文に加筆しておきます。