1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M5NanoC6とZigbee2MQTTを使ってHomeKitからIKEA TRÅDFRIを操作できるようにした

Last updated at Posted at 2024-11-23

Introduction

M5NanoC6とZigbee2MQTTとHomeAutomationを使ってHomeKitにIKEA TRÅDFRIを追加してiPhoneから制御できるようにした!!!

動機

  • リモコンのボタン電池が煩わしい
    • CR2032とか買い置きしてないよ!
  • スマホから操作したい
    • リモコン探すのが面倒!
    • "起床時間->照度MAX"みたいなオートメーションを組みたい

Zigbee対応ハブを調べた

現時点で国内販売されているZigbee対応スマートハブ(24/11/23現在)

メーカー 製品 価格
IKEA DIRIGERA 8,900
Philips Hue Bridge 9,680
Amazon Echo (Gen4) 11,980
Amazon eero 6+ 19,980
Amazon Echo Show 8 (Gen3) 22,980
Amazon Echo Hub 25,980
Amazon Echo Studio 29,980
Amazon Echo Show 10 (Gen3) 29,980
Amazon eero Pro 6e 36,980
Amazon Echo Show 15 (Gen2) 47,980
Amazon eero Pro 7 95,980

電球2つを操作するために払う金額としてはちょっと...って感じなので自作します.

用意したもの

価格は記事執筆及び編集時点のものです

Zigbee2MQTT

Zigbee2MQTTとは

Adapterの作成

M5NanoC6にファームウェアを焼いて通信用のAdapterにする

ZBOSSのサポート及びESP32-C6用のFirmwareは実験的です.
また,ZBOSSのフル機能(Touchlink等)は実装されていません.

1. VSCodeにESP-IDF拡張機能をインストール

VSCodeにESP-IDF拡張機能を追加

image.png

2. ESP-IDFをインストール

拡張機能のチュートリアルに従ってToolkitをインストール

image.png

EXPRESSを選択し,Versionを指定. 今回はv5.3.1を使用

image.png

2. RepoをCloneする

適当なフォルダにリポジトリをCloneする. CloneできたらRepoをVSCodeで開く

git clone https://github.com/andryblack/esp-coordinator.git

3. プロジェクトをビルドする

プロジェクトが開けたら,ビルドターゲットをESP32-C6 chip (via builtin USB-JTAG)に変更し,ビルドを実行

image.png
image.png

4. Flashする

M5NanoC6のボタンを押しながらPCに接続
シリアルポートを変更し,Flash Deviceをクリック

Home Assistant

Home Assistantのインストール

今回はProxmox上にHome Assistant OS(HAOS)としてセットアップします.

1. HAOSの仮想ディスクをダウンロード

公式ページからKVM用の仮想ディスクをダウンロード

wget https://github.com/home-assistant/operating-system/releases/download/13.2/haos_ova-13.2.qcow2.xz
unxz haos_ova-13.2.qcow2.xz

2. 仮想マシンを作成 / ディスクのインポート

ProxmoxのWebUIで仮想マシンを作成, 以下のコマンドを実行しディスクをインポートする
完了したらディスクをアタッチ

sudo qm importdisk <vmid> haos_ova-13.2.qcow2 <storage>

3. 起動及び設定

仮想マシンを起動後,表示されたIPにアクセスしアカウントを作成する.

4. USB接続及びパススルー

先ほど作成したAdapterをUSB接続
仮想マシン設定から対応するUSBデバイスを追加

Manufacturer: Espressif
Product: USB JTAG/serial debug unit

Zigbee2MQTTのインストール

今回はHome Automationのアドオンとしてセットアップします.

Dockerインストールの場合,アドオン機能が利用できないため別コンテナを作成する等の手順が必要となります.

1. アドオンストアにリポジトリを追加

設定->アドオンを開き,右下のアドオンストアをクリック
右上のメニューからリポジトリを選択
https://github.com/zigbee2mqtt/hassio-zigbee2mqttと入力し,追加をクリック

2. Zigbee2MQTTとMosquitto brokerをインストール

ストアページからZigbee2MQTTとMosquitto brokerをインストール

Zigbee2MQTTが表示されない場合はページをリロードしてみてください.

拡張機能の設定

1. Mosquitto brokerを起動

Mosquitto brokerのページを開き,起動をクリック

2. Zigbee2MQTTの設定

Zigbee2MQTTのページを開き,上部の設定をクリック
serialの項目に以下を追加し, 拡張機能を起動

port: /dev/ttyACM0
adapter: zboss

シリアルデバイスのパスはインストールによって異なる場合があります.

ペアリング

1. Zigbee2MQTTの設定ページを開く

拡張機能ページを開き,サイドバーに表示のトグルをオン
image.png

左側のサイドバーにエントリが追加される
image.png

2. Joinを許可

Settings->MainからPermit joinのチェックボックスを有効化し,Submitをクリック
image.png

3. 照明をペアリングする

照明のスイッチを6回ほどオンオフし,ペアリングモードにする
Zigbee2MQTT側でデバイスを認識すると通知が表示される

ペアリングが完了するとこんな感じ
image.png

HomeKitに統合

1. Home AssistantにMQTT統合を追加

設定->デバイスとサービスを開く
おそらくHA側で自動認識していると思うので追加をクリック

2. ファイル編集アドオンを追加

設定->アドオン->アドオンストアを開き,File editorをインストール
インストールできたらサイドバーに表示をオン
image.png

3. configuration.yamlを編集

サイドバーからFile editorを選択
左上のファイルアイコンをクリック,configuration.yamlを選択, 以下の設定を追加

homekit:
  - name: HASS Bridge
    port: 21063
    advertise_ip: "<VMのIPアドレス>"

advertise_ipはmDNSで公開するIPを設定しています.
Home Assistantに複数のIPを割り当てているためこの設定を入れていますが,普通の環境であれば不要(なはず)です

image.png

右上の赤いファイルアイコンをクリックし保存
image.png

4. 再起動

開発者ツールを開き,設定の検証->再起動を選択
image.png
image.png

Home Assistantを再起動するを選択
image.png

Bridgeをホームに追加

左下の通知を開くと,QRが表示される(はず)
image.png

iPhoneでホームを開き,アクセサリを追加を選択

カメラが起動するのでQRを読み取る

ブリッジが認識されるのでホームに追加を選択

ブリッジと各電球をどの部屋に追加するか聞かれるので適当な部屋に放り込む

追加するとこんな感じ

項目長押しでいろいろ操作できます.

電球が登録/アクセスできない場合はHomeBridge統合かHAを再起動すると(だいたい)治ります

まとめ

以前まで国内でZigbee対応ドングルを入手するのって結構難しかったんですが,ESP32-C6の登場で状況が変わりつつあるのかな?と思っています.
追加投資1k程で照明をスマート化できたので大満足です.

1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?