2024년 여름의 시작
여름이 되어 묵혀두었던 샤오미 스마트 선풍기를 꺼냈다.
내가 사용하는 선풍기는 아주 오래전에 구입한 'Smartmi 스탠드 선풍기 3'인데, 이때는 한국에 수입이 되기도 훨씬 전이었고 중국 직구로 구입했었다.
처음에는 mi home 에서 와이파이로 연결하여 잘 사용하다가 어느 순간 한국 지역에서의 사용을 금지시켰다. (왜일까? 무섭..) 다시 중국 서버로 등록하여 잘 사용했지만 어느 순간부터 중국서버 우회도 막히곤 하였다.
근데 앱에서 이거 막는것도 좀 느려서 앱 키자마자 빠르게 조작하면 짧게나마 사용 가능하기도 했다ㅎㅎ
위젯 설정은 또 안막히기도 했고..ㅎ
매년 여름마다 이런저런 우여곡절이 있었는데 올해 다시 등록해 보니 이제 한국에서도 공식 지원을 하는 것 같다. UI도 예뻐지고 사용성도 좋아지고 한국 서비스에도 힘을 쓰고 있는 게 느껴졌다.
근데 번역은 더 이상해졌다? 번역기를 돌렸나보다.
올해 여름맞이 선풍기 삽질로는 집안에 구축한 home assistant에 연동해보고자 한다.
물론 샤오미에서 open api를 제공한다거나, HA를 공식 지원하지 않는다.
믿을 건 구글링과 나보다 먼저 삽질한 분들의 글을 찾아보는 것.. 역시나 구글링은 나를 실망시키지 않았다. chat gpt 분발해라!
지원 모델 확인하기
멋지게도 커스텀 컴포넌트를 만드신 분이 있다. 여기서 지원하는 모델은 아래와 같다.
내가 사용하는 선풍기는 명칭이 'Smartmi Standing Fan 3'이고 모델명은 'zhimi.fan.za5' 이다.
Name | Model | Model no. | Specs |
Pedestal Fan Fan V2 | zhimi.fan.v2 | ||
Pedestal Fan Fan V3 | zhimi.fan.v3 | ||
Pedestal Fan Fan SA1 | zhimi.fan.sa1 | ||
Pedestal Fan Fan ZA1 | zhimi.fan.za1 | ||
Pedestal Fan Fan ZA3 | zhimi.fan.za3 | ||
Pedestal Fan Fan ZA4 | zhimi.fan.za4 | ZLBPLDS04ZM | |
Smartmi Standing Fan 3 | zhimi.fan.za5 | ||
Pedestal Fan Fan 1C | dmaker.fan.1c | ||
Pedestal Fan Fan P5 | dmaker.fan.p5 | ||
Pedestal Fan Fan P8 | dmaker.fan.p8 | ||
Pedestal Fan Fan P9 | dmaker.fan.p9 | ||
Pedestal Fan Fan P10 | dmaker.fan.p10 | ||
Mijia Pedestal Fan | dmaker.fan.p11 | BPLDS03DM |
2800mAh, 24W, <=58dB
|
Smart Standing Fan 2 Pro | dmaker.fan.p33 | BPLDS03DM |
2800mAh, 24W, <=58dB
|
Pedestal Fan Fan P15 | dmaker.fan.p15 | ||
Mi Smart Standing Fan 2 | dmaker.fan.p18 | BPLDS02DM |
AC, 15W, 30.2-55.8bB
|
Rosou SS4 Ventilator | leshow.fan.ss4 | ||
Xiaomi Smart Tower Fan | dmaker.fan.p39 | BPTS01DM | 22W, <=63dB |
지원 모델은 아래 github repository의 README.md에서 가져온 것이다.
custom_components 추가하기
https://github.com/syssi/xiaomi_fan
위의 깃허브의 custom_components/xiaomi_miio_fan 안의 파일들을 home assistant의 custom_components/xiaomi_miio_fan 경로 안에 모두 넣어준다.
참고로 HA에 Code Server를 설치하여 사용하면 편리하다.
선풍기 token과 ip 주소 알아내기
선풍기를 등록하려면 공유기에 연결된 ip 주소와 기기 token을 알아야 한다.
ip는 여러 가지 방법으로 어렵지 않게 알아낼 수 있지만 token은 샤오미 앱에서 제공해주지 않는다.
정확히는 이전 버전 앱에서는 제공해 주었지만 이제는 보여주지 않는다. 그렇다고 찾지 못할 것인가?
아래 github에 xiaomi 계정으로 로그인하여 필요한 정보들을 추출해 내는 파이썬 스크립트가 있다.
https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor
파이썬 코드를 실행하면 본인의 선풍기 정보를 확인할 수 있다. 여기서 서버를 입력하지 않고, 그냥 엔터를 누르면 전부 다 확인할 수 있다.
configuration.yaml에 선풍기 추가
이제 알아낸 정보를 바탕으로 configuration.yaml 에 아래와 같이 fan을 추가한다. 이후 HA를 재부팅해줘야 한다.
개발자 도구에서 fan.{자신의id} 가 나오면 기기 연결 성공이다.
Xiaomi Fan Lovelace Card 플러그인 설치
이제 대시보드에 선풍기를 추가하고 싶어 진다. 이것 역시 능력자분들이 아름다운 선풍기 카드를 만들어둔 게 있다.
hacs에서 Xiaomi Fan Lovelace Card 플러그인을 다운로드할 수 있다. (깃허브 링크)
여기까지 되었으면 HA 재부팅을 한번 더 해준다.
대시보드에 Xiaomi Fan Lovelace Card 추가
플러그인을 설치하며 보았겠지만 이제 아래와 같이 추가할 수 있게 된다.
entity: fan.entity_id
name: Fan Name
type: "custom:fan-xiaomi"
platform: xiaomi_miio_airpurifier
짜잔~ 잘 추가된 것을 볼 수 있다.
아쉽게도 내 선풍기 모델에서는 자연풍과 타이머는 지원이 안 되는 것 같은데, 전원이나 회전은 모두 동작하니 나머진 자동화를 활용하여 사용하면 될 것 같다.
퇴실 자동화에 붙여놓으니까, 몸만 나가면 전등, tv, 플러그들과 함께 이젠 선풍기도 같이 꺼진다!
이렇게 샤오미 선풍기 삽질기 끝!