Xiaomiの扇風機をHomeAssistantに登録後にうまく動かないとのご質問がありましたので手動でYAMLを導入する方法などを紹介します。
例として自分が今持っているXiaomi Smart Standing Fan Proを使ってカスタマイズしていきます。(同じXiaomiの扇風機ですし)
Xiaomi Smart Standing Fan Pro 簡単にレビュー
この扇風機、売りはコンパクトに収納できて、USB-C給電なのでキャンプなどにも持ち歩ける。(電源は別途必要)

2年ほど前に中国行った時に買った扇風機で、収納がすっごくコンパクトになりますが日本では売っていないようです。アリエクはかなり高かった。

コンパクトですが、弱点が下に向かない点、中国みたいにみんなベッドで寝ればいいのですが、日本のように床や畳の上に敷布団を敷いて寝るスタイルだと、扇風機が下を向いてくれません!困った。


なので3Dプリンターでパーツを作って、扇風機を寝かして床近くで寝ている時も人間にあたるようにしました。

パーツがあれば台などの上に扇風機を寝かせて人間に風があたるように調節できる。


Mi Homeアプリでやれば細かい設定もできますが、せっかくなのでHomeAssistantで基本的な操作ができるようにしていきます。
この扇風機Xiaomi Smart Standing Fan Proのやり方を参考に、他のガジェットのダッシュボードカスタマイズもHomeAssistantにガジェット登録後にGEMINIに型番・やりたいことをまとめて聞いてみてくださいね。
token_extractorでTOKEN取得する
あとXiaomi製品をHomeAssistantに導入する場合はTOKENを取得しないといけないので、以下のやり方に沿ってTOKENを取得してくださいね。

デフォルトのコントロールをダッシュボードに追加してみる
ガジェットをHomeAssistantに登録後に設定>デバイスとサービス>Xiaomi Miotなど該当のガジェットを表示させます。↓
この扇風機の場合はコントロールや設定などが表示されますので、それをダッシュボードに追加するだけで終わりますが、

コントロールや設定を「ダッシュボードに追加」を押してとりあえず追加してみます。
これ↓だと風量変えたり自然風・通常風を切り替えたりできなくて不便。

しかしこの部分↑をタップすると以下のようなポップアップが表示されて、操作できるので我慢できれば良いのですが、ちょっとスマートでは無いというよりポップアップ出るのが面倒。

あと首振りがオンにはなりますが、オフにはなりませんでした。
これではちょっと不便なのでカスタマイズしていきます。
ガジェット(例Xiaomi Smart Standing Fan Pro)の操作できる機能を調査
そこでまずはどんな機能がHomeAssistantで使えるかエンティティを見て調査します。
設定>エンティティ(上のタブ)で「p43」などの製品の型番や個別名などで検索すると目的のガジェットが表示されます。
Xiaomi Smart Standing Fan Proは例ではエンティティの一部がxiaomi_p43_7dfcとなっているのでp43で検索しました。
Fan以外は正常動作しているようなので一番下のFanの部分を押して調査します。

以下のように↓ダッシュボードにダイレクトに表示されればこのままでもいいんですけど、ワンクリック必要なんです。

ここで右上の点3つを押して詳細を選択します。

詳細は以下のように表示されました。属性に表示されている部分がカスタマイズできそう。うまくすればスピードとスピードステップ1ずつなので100段階で風量をダッシュボードで調節することができそうです。

プリセットモードのStraight Wind,Natural Windで自然風などのモードも変更できそうで、Speed ListでLakesideやCampingなどの4つのモードにも切り替えできそうですが今回は自然風と標準風だけにしておきます。
HACSでスライダーを追加してくれるSlider-entity-rowを導入する
扇風機のスライダー機能を導入します。このあたりは個々のガジェットによって標準のカードが使えるか違いますので、標準カードで使えなかったりわからなければAIに聞いてくださいね。
まだHACSを導入していない方はこちらを参考にインストールしてください。
今回は扇風機の風量スライダーが標準では無いのでカードでスライダーを使えるようにslider-entity-rowを追加します。(もしかしたら照明の照度を調節するスライダーでも使える?)

ダウンロードしたらリロードします。
以上で導入完了。
ダッシュボードにカードを追加
手動でYAMLカードを追加
続いてYAMLを手打ちで入力していきます。といってもYAMLは自分で書くのが面倒なのでChatGPTやGEMINIさんに聞いてくださいね。
ダッシュボード >カードを追加(右下)で一番下にスクロールして手動を選択します。

下図左のようにYAMLを各エディタが表示されるので、お好みを書き込んでいきます。
今回は風量調節と首振り開始・首振り停止をちゃんと動かしたいので書きました。(というよりGEMINIに聞いて書いてもらった)

あとは首振り左・首振り右(押したときだけ動く)・チャイルドロック・操作音・パネル表示は、最初から使えるのでそのままYAMLをコピペして導入する。
最初はコードエディタが表示されると思いますが、もしビジュアルエディタでしたら左下の「コードエディタを表示」↓を押します。

YAMLを編集して自分の好きなカードにカスタマイズした結果
これは手動でYAMLを編集するモードでダッシュボードに追加します。
ちゃんと風量調節のスライダーが表示されて実際に扇風機も反応して動いてくれました。

ついでに別の機能、チャイルドロック・操作音・パネル表示も追加しておきました。

このYAMLスクリプトは以下のようになります。
type: entities
entities:
- entity: fan.xiaomi_p43_7dfc_fan
name: 扇風機 電源
- type: custom:slider-entity-row
entity: fan.xiaomi_p43_7dfc_fan
name: 風量調節
attribute: percentage
min: 1
max: 100
step: 1
toggle: false
- type: buttons
entities:
- entity: fan.xiaomi_p43_7dfc_fan
icon: mdi:weather-windy
name: 自然風
tap_action:
action: call-service
service: fan.set_preset_mode
target:
entity_id: fan.xiaomi_p43_7dfc_fan
data:
preset_mode: Natural Wind
- entity: fan.xiaomi_p43_7dfc_fan
icon: mdi:fan
name: 通常風
tap_action:
action: call-service
service: fan.set_preset_mode
target:
entity_id: fan.xiaomi_p43_7dfc_fan
data:
preset_mode: Straight Wind
- type: buttons
entities:
- entity: fan.xiaomi_p43_7dfc_fan
icon: mdi:rotate-3d-variant
name: 首振り開始
tap_action:
action: call-service
service: fan.oscillate
target:
entity_id: fan.xiaomi_p43_7dfc_fan
data:
oscillating: true
- entity: fan.xiaomi_p43_7dfc_fan
icon: mdi:close-circle
name: 首振り停止
tap_action:
action: call-service
service: fan.oscillate
target:
entity_id: fan.xiaomi_p43_7dfc_fan
data:
oscillating: false
- type: buttons
entities:
- entity: button.xiaomi_p43_7dfc_turn_left
name: 左
icon: mdi:rotate-left
tap_action:
action: toggle
- entity: button.xiaomi_p43_7dfc_turn_right
name: 右
icon: mdi:rotate-right
tap_action:
action: toggle
- entity: switch.xiaomi_p43_7dfc_physical_control_locked
name: チャイルドロック
- entity: switch.xiaomi_p43_7dfc_alarm
name: 操作音
- entity: light.xiaomi_p43_7dfc_indicator_light
name: パネル表示
ガジェットのエンティティさえ分かればあとは適当にYAMLを書けばいけます。
ビジュアルエディタでできればより簡単ですね。
以上、簡単ですがダッシュボードに手動でYAMLカードを作ってガジェットを思い通りに動かす説明でした。

※画像はAIで生成されたもので実際の商品とは形・色・機能などが違う場合があります。


コメント