SonoffのZigbee 3.0 USB Dongle PlusというZigbeeドングルを買いました。CC2652が搭載されていると思ったら、Silicon Labs社のEFR32MG21というSoCが搭載されてました。名前は同じですが両方のモデルが存在するようです。EFR32MG21は、Zigbee2MQTTでは実験的にサポートされているチップです。動くという報告もあるのですが、不安定だったので今後に期待してお蔵入りになりました。
今使っているドングル
AliExpressで売っていたドングルを使ってます。CC2652Rが載っていて、Zigbee2MQTTで動くファームウェアが書き込まれているので、挿せばすぐに動きます。Raspberry Piでも、Intel NUCのUbuntuでもZigbee2MQTTで問題なく安定して動いています。(写真をクリックするとAliExpressのページに飛びます)
予備にもう一個欲しいと思いました。同じのを買うのも面白くないので、あちこちで評判の良いSonoffのドングルを買いました。今使っている上記のものより安くて、ケースもかっこいいです。
動かない
Sonoffのドングルが届いたので、今使っているドングルと差し替えて動作確認を試みました。マウントされる場所が、今までは、/dev/ttyUSB0だったものが、/dev/ttyACM0に変わりました。/opt/zigbee2mqtt/data/configuration.yamlの設定を書き換えて、zigbee2mqttを再起動します。これですんなり動くと思いましたが、動きません。
sudo systemctl status zigbee2mqtt
とすると、Zigbeeのコントローラに問題があって停止したというようなメッセージが表示されました。これはファームウェアを更新しないとダメかなと思いました。でもTexas InstrumentsのSmartRF Flash Programmer 2で更新を試みるも、エラーが出て書き込めません。落ち着いて、基板上のチップを見ると違和感があります。どこにもCC2652の文字がありません。メインチップの写真は以下です。
MG21 A02011 B01YMD 2147というように読めます。この番号で検索したところ、Silicon Labsという会社のZigbee用SoCらしいです。SoCなので、ソフトウェア的にZigbeeの機能を実装しているようです。TIのチップでは無いので、TIのファームウェア書き込みツールが動かなくても当然でした。購入したAliExpressのページでは、CC2652P搭載と書かれてましたので、すっかりそのつもりでいました。
アップデートされてた
Sonoffのサイトで探してみたところ、SONOFF Zigbee 3.0 USB Dongle Plusという製品には、ZBDogle-Pというモデルと、ZBDongle-Eという2つのモデルがあるようです。
ZBDogle-PはCC2652Pを搭載している一方で、ZBDongle-EはEFR32MG21というチップを搭載しているそうです。ZBDongle-Eが後継機のようで、そちらがメインで紹介されてます。Zigbee2MQTTにも対応してますとも書いてあります。パッケージをよく見ると、箱の右下に、ZBDongle-Eと書いてありました。
さらに検索したら、Zigbee2MQTTでの使い方を説明した動画も見つかりました。最近の製品はEバージョンに置き換わっているけど、設定頑張ればZigbee2MQTTでも使えるとの内容でした。
それによると、設定ファイル、/opt/zigbee2mqtt/data/configuration.yamlのシリアルの項目に、
serial: port: /dev/ttyACM0 adapter: ezsp
と書いておけば良いらしいです。Zigbee2MQTTのサイトもちゃんと探したら、ezspオプションのことが書いてありました。
これが対象とするアダプタは、実験的な段階なので、安定性を求めるなら使うなと書いてありました。
動いたけど不安定
ezspを指定して、Zigbee2MQTTを再起動したところ、systemctl statusコマンドで出ていたエラーは消え、無事動いているようでした。ただし、デバイスをペアリングして操作をしようとすると、動くこともありますが、エラーが出る場合もあります。動く時も、すぐには動作しないで、遅延した後、まとめてon/offを繰り返したりします。壁に埋め込んだスイッチなどは、不適切なコマンドを受け取る影響なのか、マニュアル操作すら動作しなくなってしまいました。壁から取り外して、線を外して接続し直すと復活します。
YouTubeの動画の人は、数日間安定して動作していると言ってましたが、あちらはRaspberry Piらしく、こちらの環境はIntel CPUのUbuntuなので、環境が違うせいかもしれません。とても不安定でした。今現在、安定して動いているドングルを、これに交換する必要性は無いので、SonoffのドングルはZigbee2MQTTが完全対応するまでお蔵入りにすることになりました。
まとめ
SonoffのZigbeeドングルは新モデルに更新されて、TIのチップでは無くなったようです。手元の環境ではZigbee2MQTTで安定して使用できませんでした。旧モデルのZBDongle-Pが入手できれば良いですが、その確証がなければ他を探した方が良いかもしれません。
追記:コメントで情報いただいたように、ZBDongle-Eも今はサポートされて安定動作する様です。詳細はコメント欄をご覧ください。2024/05/26
コメント
EFR32MG21自体は技適が取得できてるっぽいですね
https://www.tele.soumu.go.jp/giteki/SearchServlet?pageID=jg01_01&PC=005&TC=N&PK=1&FN=200325N005&SN=%94F%8F%D8&LN=28&R1=*****&R2=*****
そうなのですね、ありがとうございます。(でも動作不安定だからなぁ・・・)
はじめまして、ネットで検索してたどり着いたHA初心者です。検索すると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を買ってしまったユーザー(私を含む)の救済策になればと思い書き込ませていただきました。
情報ありがとうございます。試してみます。