もうMatter(スマートホーム共通規格)いらないんじゃないかというほど、ほとんどのIoTガジェットがHACSを通じてHome assistantに登録できた。
実際にウチにあるいくつかのガジェットはHome assistantで直(ジカ=Xiaomi Miio)では登録できなかったのをHACSで登録できた例を紹介します。
- HACSのカスタムコンポーネントでIoT機器をHAに登録 (現在このページにいます)
- カスタムコンポーネント・カスタムカード失敗例
特にXiaomiの製品は世界中の人が使っているのか?ほとんどのガジェットをHome Assistantに追加できた。
(このページはXiaomi製品でWifi接続のガジェットで、Zigbee通信のガジェットは別のページで紹介します。)
以下の続きです。
HACS導入
Home Assistant Community Store (HACS)は、Home Assistantのサードパーティストアで、さまざまなカスタムコンポーネント、テーマ、プラグインを簡単にインストールできるようにするツール。
メーカー専用のIoT機器でハックされたガジェットをHACSで簡単に導入できるようになる。
HACSインストール
シングルボードコンピュータKhadas VIM1SでのDocker内のHome assistantにHACSをインストールしてみます。
$ sudo docker exec -it 1bde9cd526e6 /bin/bash
[sudo] password for khadas:
homeassistant:/config# wget -q -O - https://install.hacs.xyz | bash -
INFO: Trying to find the correct directory...
INFO: Found Home Assistant configuration directory at '/config'
INFO: Changing to the custom_components directory...
INFO: Downloading HACS
Connecting to github.com (20.27.177.113:443)
Connecting to github.com (20.27.177.113:443)
Connecting to objects.githubusercontent.com (185.199.110.133:443)
saving to 'hacs.zip'
hacs.zip 100% |********************************| 15.0M 0:00:00 ETA
'hacs.zip' saved
INFO: Creating HACS directory...
INFO: Unpacking HACS...
INFO: Verifying versions
INFO: Current version is 2024.1.6, minimum version is 2023.6.0
INFO: Removing HACS zip file...
INFO: Installation complete.
INFO: Remember to restart Home Assistant before you configure it
開発者ツールで「設定の確認」を押してエラーがなければ再起動する。
設定 >デバイスとサービス の右下「+統合を追加」でHACSと検索すると出てきます。
いろいろと聞かれるので全部チェックして送信ボタンを押す。
ログインすると↓このような画面になるので「Authorize HACS」を押す、その後にコードを聞かれるので上記のコードをコピーして貼り付ければ完了。
設定が終わると左メニューにHACSが追加される。
以上でHACS導入完了。
Xiaomi Philips LightsをHACSで使えるようにする
まずは簡単なところから、Mi home用のPhilips ZhiRui E27が2つあったのでまずはMi Homeに登録して、その後、Home assistantのHACSから登録してみる。
Mi HomeにPhilips ZhiRui E27を追加
しばらくXiaomi電球を使ってなかったので、Mi Homeアプリで電球を追加します。
Mi Homeアプリの右上「+」を押すとPhilips ZhiRui E27が2つ追加できるようになっているので追加する。
カスタムコンポーネントsyssi/philipslight導入
こちら↓のインテグレーションを使わせていただきます。
HACSのページで「syssi/philipslight」と検索するとXiaomi Philips Lights Integrationが表示されるのでクリック。
右下のダウンロードボタンを押す。
HACSにXiaomi Philips Lihgts Integrationが追加された。
TOKENとModel取得
TOKENとMODEL・IPアドレスが必要なので、Xiaomi-cloud-tokens-extractorを使ってMi Homeのクラウドにログインして情報を取得する。
bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)をラズパイなどのLinuxで実行する。
$ bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)
Mi HomeのID・Passでログイン、国はCN
省略
NAME: E27
ID: 71306994
MAC: 78:11:DC:51:D1:25
IP: 192.168.31.181
TOKEN: 0ad89203d40af46185a2919e902abb6e
MODEL: philips.light.bulb
NAME: E27
ID: 65755405
MAC: 78:11:DC:0E:08:88
IP: 192.168.31.182
TOKEN: ce78c3f10ae0384fe895df96f0753255
MODEL: philips.light.bulb
configuration.yamlの設定
light:
- platform: xiaomi_miio_philipslight
name: E27 LED Lamp1
host: 192.168.31.181
token: 0ad89203d40af46185a2919e902abb6e
model: philips.light.bulb
- platform: xiaomi_miio_philipslight
name: E27 LED Lamp2
host: 192.168.31.182
token: ce78c3f10ae0384fe895df96f0753255
model: philips.light.bulb
設定したら左メニューの開発者ツール >設定の確認を押すと↓以下のように警告がでるが、かわまず再起動する。
オーバービューに追加
オーバービュー(右メニュー) > ダッシュボードを編集(右上点々) > +カードを追加(右下)からグリッド(照明でもOK)を選んでLEDランプを2個追加します。
エンティティで選ぶだけで簡単に登録できる。
完成↓完璧です。
Xiaomi電源プラグ(chuangmi.plug.212a01)
Home Assistant 設定 > デバイスとサービス >統合のXiaomi Miioから登録できなかったWifi接続のXiaomi電源プラグ(chuangmi.plug.212a01)が2つあるのでHACS経由でha0y/xiaomi_miot_rawを使って登録してみます。
カスタムコンポーネント al-one/hass-xiaomi-miot導入
HACSの検索窓に「al-one/hass-xiaomi-miot」を入力するとXiaomi Miot Autoが出てくるので、クリック後に右下のDownloadを押す。
TOKEN・Model・IPアドレス取得
いつものようにXiaomi-cloud-tokens-extractorを使ってMi HomeのID・Passでログインすると自分の使っているXiaomi製品が表示される。
$ bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)
Mi HomeのID・Passでログイン、国はCN
省略
NAME: 掃除機 電源プラグ
ID: 494403791
MAC: 7C:C2:94:18:49:15
IP: 192.168.31.133
TOKEN: eef44a456a2f7b9264f7215949294945
MODEL: chuangmi.plug.212a01
NAME: 植物ホット 電源プラグ
ID: 494432603
MAC: 7C:C2:94:18:B9:A1
IP: 192.168.31.134
TOKEN: 060f2d5e890df7a2584d5ed9d0622974
MODEL: chuangmi.plug.212a01
Xiaomi電源プラグの登録
設定 > デバイスとサービス > 統合の右下にある「+統合を追加」ボタンを押す。
次の画面でIP/Tokenを入力して登録するようにする。(登録小米番号にするといちいちMi Cloudに接続する必要があり面倒なので予めIP・TOKENを取得しておいたほうが早い。)
IPアドレス・Token・名前を入力して送信ボタンを押す。
Xiaomi Miot Autoに2つのXiaomi電源プラグを登録できた。
オーバービューに追加
オーバービュー(右メニュー) > ダッシュボードを編集(右上点々) > +カードを追加(右下)からグリッドカードを選んだ。
あとは、エンティティで電源を探して選ぶだけ。
このようになった↓エンティティの表示になっているが、名前も変えることができる。
名前をつけて文字を短くした。↓
左側2つがHACS:al-one/hass-xiaomi-miotを使ってWifi接続のXiaomi電源プラグ、右側の植物ライトの電源プラグはZigbeeでXiaomi Miio経由で登録できた。
二酸化炭素モニター:Qingping Air Monitor
こちらもHACSのカスタムコンポーネントal-one/hass-xiaomi-miotで登録できました。
hass-xiaomi-miotの導入方法は上の電源プラグで説明しましたが、HACSの検索窓に「al-one/hass-xiaomi-miot」と入力したら出てきますのでクリックして右下のDownloadで導入してください。
レビューはこちら↓で書きました。
IPアドレス・TOKEN取得
Xiaomi-cloud-tokens-extractorで取得
$ bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)
Mi HomeのID・Passでログイン、国はCN
省略
NAME: 空気質検知器
ID: 150144741
MAC: 7C:49:EB:FA:DD:42
IP: 192.168.31.146
TOKEN: 595a354b70356839523869417144364b
MODEL: cgllc.airmonitor.s1
Xiaomiサーキュレーターの登録
設定 > デバイスとサービス > 統合のXiaomi Miot Autoをクリック。
以下の画面になったら「エントリーの追加」ボタンを押す。
先ほど取得したIPアドレス・TOKENと名前を入力して送信ボタンを押すと登録完了。
登録後、エンティティ(ガジェットの機能)を見ると5つのエンティティが使える。
このうちPM2.5はファンが回って五月蝿いのでQingping Air Monitorの設定でストップしてあるので、99,999.0という数字になっている。これは使わない。
(日本の自分が住んでいる田舎は空気がきれいなのでPM2.5はあまり使う機会がなさそう。韓国・中国の都会は空気が悪いので空気清浄機+PM2.5測定器必須)
オーバービューに追加
オーバービュー(右メニュー) > ダッシュボードを編集(右上点々) > +カードを追加(右下)から「一覧」を選んで5項目追加する。
PM2.5を減らして4項目にして、以下↓のような表示にした。
Xiaomi サーキュレーター(zhimi.fan.fa1)
XiaomiサーキュレーターもHACSで登録できるようなのでやってみる。Xiaomiサーキュレーターは以下でレビューしてあります。
Mi homeのサーキュレーター画面
オン・オフ以外にも左右最大12度、上下最大90度の首振りができてかなり優秀なサーキュレーター
TOKEN・Model・IPアドレス取得
Xiaomi-cloud-tokens-extractorで取得
$ bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)
Mi HomeのID・Passでログイン、国はCN
省略
NAME: サーキュレーター
ID: 410799334
MAC: 58:B6:23:8E:F5:DB
IP: 192.168.31.144
TOKEN: a61829f15e4e5c1c46f9824f41fd1ba0
MODEL: zhimi.fan.fa1
Xiaomiサーキュレーターの登録
Xiaomi電源プラグと同様に、設定 > デバイスとサービス > 統合の右下にある「+統合を追加」ボタンを押す。
送信ボタンを押して登録する。
続いて下項目のXiaomi Fan Card導入でオーバービューで操作できるようにしていく。
Xiaomi 扇風機(Xiaomi Smart Fan V2=dmaker.fan.p11)
Xiaomiの扇風機を以下のカスタムコンポーネントを使ってHACSからHome Assistantに登録していきます。
Xiaomi Smart Fan V2はこちら↓で紹介してあります。
カスタムコンポーネント xiaomi_fan導入
左メニューのHACSで「syssi/xiaomi_fan」と検索して出てきたXiaomi Mi Smart Pedestal Fan Integrationを選んで、右下に表示されるDownloadを押す。
TOKEN・Model・IPアドレス取得
Xiaomi-cloud-tokens-extractorで取得
$ bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)
Mi HomeのID・Passでログイン、国はCN
省略
NAME: 扇風機
ID: 243112654
MAC: 64:90:C1:AA:C9:4E
IP: 192.168.31.184
TOKEN: 72d5835cad5ca7759330e985d0db8f1c
MODEL: dmaker.fan.p11
configuration.yamlの設定
configuration.yamlに以下のように入力する。
fan:
- platform: xiaomi_miio_fan
name: Xiaomi Smart Fan
host: 192.168.31.184
token: 72d5835cad5ca7759330e985d0db8f1c
設定完了したら開発者ツール > YAML >設定の確認でうまくいっていたら再起動する。
エンティティ
設定 > デバイスとサービス のエンティティで以下が表示された。
開発者ツール > 状態で見ると状態属性がたくさん表示された!これは完璧に操作できそうで期待できる。
オーバービューの設定
エンティティカードでxiaomi_smart_fan_v2を追加すると以下の赤枠のようになって、クリックすると操作画面が表示された。
オン・オフ・風の強さは上下スライド・首振り・風の強さプリセット・方向は正・逆、全て反応した。
この↑カードでも良いが、下項目のXiaomi Fan Card導入でオーバービューで詳細に操作できるようにしていく。
Xiaomi扇風機 USB-C接続(dmaker.fan.p5c)
2台目のXiaomi扇風機もHome Assistantに登録していきます。
Mijia Smart DC Standing Fan 1X 紹介
右奥がMijia Smart DC Standing Fan 1X、手前は上下左右首振りするXiaomiサーキュレーター。
左奥がXiaomi Smart Fan V2でACアダプターですがバッテリー内蔵+磁石でくっつく充電+高さ2段変更可能なベストな扇風機。
(けどもう売ってない。底のベース部分と棒部分のプラが折れやすく廃盤で、プラパーツは13ドルくらいする)
対して、Mijia Smart DC Standing Fan 1Xの最大の特徴はUSB-C給電で動いてポータブル電源でも動くのが良いところ。バッテリー内蔵じゃないのであまり壊れる心配もない。↓
ただ、弱点は高さが変えられない。中国の家庭はベッドやイスの生活なので床に座るということがあまり無いせいかもしれません。
日本だとなにかと畳や床に座ることが多いのでこちらは↓やはりリビングフロア専用になります。
専用のUSB-Cアダプターも付いている。5V/2.4A出るモバイルバッテリーでもファンが動作するのでコードレスで使えるのが良いところ。
カスタムコンポーネント 導入
上項目のXiaomi電源プラグ(chuangmi.plug.212a01)でHACSから追加したカスタムコンポーネント al-one/hass-xiaomi-miotをMijia Smart DC Standing Fan 1Xでも使える。
TOKEN・Model・IPアドレス取得
Xiaomi-cloud-tokens-extractorで取得
$ bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)
Mi HomeのID・Passでログイン、国はCN
省略
NAME: Mijia Smart DC Standing Fan 1X
ID: 548829160
MAC: 68:AB:BC:48:57:68
IP: 192.168.31.140
TOKEN: d7856816e8a3934f38d839813075e17b
MODEL: dmaker.fan.p5c
XiaomiフロアファンMijia Smart DC Standing Fan 1Xの登録
設定 > デバイスとサービス > 統合の右下にある「+統合を追加」ボタンを押す。
IPアドレス・Token・名前を入力して送信ボタンを押す。
hass-xiaomi-miotから登録できたのが4つになった。
続いて下項目のXiaomi Fan Card導入でオーバービューで見れるようにしていく。
Xiaomi扇風機用カード:Xiaomi Fan Card導入
Xiaomi扇風機用のHome Assistantでオーバービューからカードを追加する時に使える専用カードがHACS経由でダウンロード・設置できるので試してみる。
結果的に2つのXiaomi扇風機とXiaomiサーキュレーターの合計3つともカードが使えた。
(2つXiaomi扇風機用のカードがあったが、1つは失敗で2ページ目にご覧ください、以下のlovelace-fan-xiaomi Xiaomiは成功した。)
ikaruswill/lovelace-fan-xiaomi Xiaomi扇風機カード
Xiaomi扇風機でカードを使えるので試してみる。こちらは一部成功
HACSで「ikaruswill/lovelace-fan-xiaomi Xiaomi」と検索すると出てくるので、クリックして右下のDownload を押すと導入完了。
以下、2つのXiaomi扇風機とXiaomiサーキュレーターはこのlovelace-fan-xiaomi Xiaomiファンカードを使った。
Xiaomi サーキュレーター(zhimi.fan.fa1)
オーバービュー(右メニュー) > ダッシュボードを編集(右上点々) > +カードを追加(右下)から一番下の「手動」を選んで以下をコピペした。
entity: fan.zhimi_fa1_f5db_fan
name: Xiaomi Circulating Fan
type: custom:fan-xiaomi
platform: xiaomi_miio_fan
サーキュレーターはシンプルな表示になった。
上の文字部分をクリックするとナチュラル/スタンダード・方向・首振りなどの詳細設定が表示される。
扇風機にはなく、サーキュレーターにある上下首振りは表示されなかった。
Xiaomi 扇風機(Xiaomi Smart Fan V2=dmaker.fan.p11)
HACSカスタムコンポーネントsyssi/xiaomi_fanでHome Assistantに登録できたXiaomi扇風機にファンカードでオーバービューに表示していく。
こちらもオーバービュー(右メニュー) > ダッシュボードを編集(右上点々) > +カードを追加(右下)から一番下の「手動」を選んで以下をコピペした。
entity: fan.xiaomi_smart_fan_v2
name: Xiaomi Smart Fan V2
type: custom:fan-xiaomi
platform: xiaomi_miio_fan
こっちはうまくいった。
ビジュアルエディタを表示すると↓このようにリストから選ぶだけでも設定できる。
全て操作できる!ただSleep modeがうまくいかないみたいかな?
Xiaomiフロアファン (Mijia Smart DC Standing Fan 1X=dmaker.fan.p5c)
こちらはHACSのカスタムコンポーネントal-one/hass-xiaomi-miotを使ってHome Assistantに登録できました。
こちらもオーバービュー(右メニュー) > ダッシュボードを編集(右上点々) > +カードを追加(右下)から一番下の「手動」を選んで以下をコピペした。
entity: fan.dmaker_p5c_5768_fan
name: Mijia Smart DC Standing Fan 1X
type: custom:fan-xiaomi
platform: xiaomi_miio_fan
エンティティに少し入力すると↓コードエディタを表示で選択するだけで設定もできる。
Mijia Smart DC Standing Fan 1XはNatural/Standardの切り替えができないのが残念だけど概ね満足。
エンティティカードでも状態は見れる
上記のカスタムカードlovelace-fan-xiaomi Xiaomiが必要無い場合は見た目がシンプルなエンティティカードでもオン・オフや状態の確認ができる。
XiaomiルーターAX3600
なんと、Xiaomiルーターまでカスタムコンポーネントがあるので導入してみます。
(ただ、ルーターを登録してもあまり操作する機会がないので意味ないのかもしれません。)
カスタムコンポーネントdmamontov/hass-miwifi導入
MiWiFiを押して右下に表示されるDownloadを押して導入完了。
開発者ツールから再起動する。
MiWiFi追加
今回はTOKENは必要なく、WebページのMiWiFiにログインするIPアドレス(デフォルトで192.168.31.1)とパスワードが必要。
WifiルーターにWifi接続されているガジェットが全て表示される。
37デバイス・61エンティティとWifiから切断させたり通信速度を表示させたりできそう。
他のテーマなどをインストールすれば↓このようなテーブルが表示できるらしいけど、今は使わないのでまた今度の機会にします。
LED電球 Cozy
Aliexpressで百円ショップセールで1ドルちょいのLED電球を買ったのでHome Assistantに登録してみました。
メーカーがよくわからないLED電球でしたがCozyのもののよう。
アプリでペアリング
やはり最初はアプリでユーザー登録とペアリングしないといけない。
HACSでダウンロード
HACSで「cozylife/hass_cozylife_local_pull」と検索すると出てくるのでクリックして右下のDownload ボタンを押す。
configuration.yaml
configuration.yamlに以下を一番下に追加してHome Assistantを再起動する。
hass_cozylife_local_pull:
するとエンティティに「light.cozylife_smart_bulb_light」が出てくるので、オーバービューに追加する。
Tuya USBアダプター
こちらはHACSではなく設定 >デバイスとサービス > +統合を追加(右下)からTuyaを追加するのですが、ついでなのでここに書いておきます。
アプリ登録
まずはTuya Smartアプリをインストールしてユーザー登録後にUSBアダプターのボタンを長押しして点滅したら、アプリでデバイスの追加でUSBアダプターを追加する。
Home Assistant側の操作
次の画面でQRコードが表示されるのでTuya Smartアプリでスキャンする。
エンティティにUSB Smart Adapterが追加される
設定 >デバイスとサービス >エンティティの画面でTuyaと検索すると出てくる。
スイッチをオーバービューに追加する。
Xiaomi加湿器
日本のアマゾンで3400円(セール中のみ)で売ってるMi Smart Antibacterial Humidifierを買ってHome Assistantに登録してみました。
Mi Homeを日本にしないと登録できない
ご注意いただきたいのはMi HomeをCN(中国)で使用している方は、そのままでは登録できません。Xiaomiタブレットなどでセカンドスペースか、他のスマホなどでもう一つMi Homeアカウント(XiaomiのMi Cloudアカウント)を作って国を日本にしてMi Smart Antibacterial Humidifierを登録する必要があります。
最初は不具合あるのか?と思って返品してしまいました。
再度同じ状態になったので、今度はMi Homeアカウントをもう一つ取得して国を日本で登録したら普通にできました。
Mi Smart Antibacterial Humidifier開封
これが3400円で買えるとは思えないクォリティでスマホで操作もできちゃうんだから素敵すぎです。
TOKEN・IPアドレス取得
Xiaomi-cloud-tokens-extractorで取得
$ bash <(curl -L https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/run.sh)
Mi HomeのID・Passでログイン、日本の場合はSG(シンガポールを選択)
---------
NAME: Mi Smart Antibacterial Humidifier
ID: 456050155
MAC: B4:60:ED:62:ED:FF
IP: 192.168.31.149
TOKEN: b8c18a700157a73523d3963f2c1fdca9
MODEL: deerma.humidifier.jsq5
---------
Xiaomiサーキュレーターの登録
設定 >デバイスとサービス >Xiaomi Miot Autoでエントリーの追加を押して「Add device using host/token (局域网集成)」を選び次へ、
IPとTOKENを入力して送信すると登録完了。
オーバービューに追加
Mi Smart Antibacterial Humidifierの部分の1デバイスを押して、コントロールかセンサーのダッシューに追加を押す。
センサーのほうをダッシュボードに追加すると↓こんな感じの表示になりました。
ピッというアラームをオフにしたり内部のLEDライトをオン・オフもできて、最高加湿の設定もできてMi Homeなくても完璧に操作できる。
Mi Smart Antibacterial Humidifierの注意点はMi HomeをCN(中国)にしている方は、もう一つMi Homeのアカウントを取得する必要があるということにご注意ください。
ウチにあるIoT機器はほとんどHome Assistantで扱えるようになったHACSはすごい♪世界中のすごい人たちがハックしてガジェットを便利に使えるようにしてくれている、感謝ですm(_ _)m
残念なのはロボット掃除機Honiture Q6 ProがHome Assistantで使えないところ。1・2年したらHome Assistantで使えるロボット掃除機に買い替えてみます。
操作は専用アプリ(Mi Home)のほうが使い勝手は良いので、操作は専用アプリで、全てのIoT機器の状態を見る用途でHome Assistantを使っていこうと思います。
続いてHome AssistantでZigbee Home Automationを導入してまだHAに登録できていないIoT機器を追加していきます。
コメント
homeassistantの導入を考えているので参考になりました。
日本語での情報は少ないので助かります。
それにしてもxiaomi機器が多いですね笑
コメントありがとうございます。
日本でHomeAssistantやってる方ほんと少ないですね。
自分はなんだかんだでXiaomiが一番好きです♪