Trên ảnh là máy lọc không khí Xiaomi Air Purifier 2S dành cho căn phòng nhỏ như phòng ngủ. Có giá khoảng 2.8 triệu giao tận nhà, máy lọc này tuy hoạt động êm ái nhưng cũng rất hiệu quả ở chức năng chính là làm sạch không khí. Xiaomi Air Purifier 2S đi kèm cảm biến laser đo chính xác nồng độ bụi mịn đến 0.3μm và cảm biến nhiệt độ/độ ẩm không khí. Tất cả thông tin được hiển thị trên màn hình OLED cực đẹp hoặc ứng dụng Mi Home trên điện thoại, bao gồm nồng độ bụi mịn (PM 2.5) AQI, thông số không khí trong phòng và các chế độ hoạt động của máy.
Tích hợp các máy lọc không khí của Xiaomi vào Home Assistant sẽ giúp bạn tận dụng được tất cả cảm biến có trên máy cũng như điều khiển được tương tự như sử dụng ứng dụng Mi Home. Bạn cũng có thể lên lịch và tự động hoá trên Hass mà không bị gò bó như dịch vụ của Xiaomi. Liên kết vào Hass cũng không làm ảnh hưởng đến kết nối và tính năng điều khiển qua cloud của Xiaomi.
Với một số gia đình đang sử dụng song song nhiều thiết bị Xiaomi cả bản nội địa và quốc tế thì liên kết vào Hass cũng giúp xử lý sự bất tiện khi phải chuyển qua lại giữa các tài khoản mỗi lần muốn điều khiển hay thiết lập thiết bị.

Thông số kĩ thuật
- Kích thước: 240 x 240 x 520mm
- Cân nặng: 4.5kg
- Đường kính bộ lọc: 200mm
- Chiều cao bộ lọc: 293mm
- Nguồn điện: AC100V – 220V
- Tần số định mức: 50/60 Hz
- Công suất định mức: 29W
- Công suất nghỉ: 2W
- Hiệu suất làm sạch: 310m3/h
- Diện tích làm sạch: 21 – 37m2
- Cảm biến: laser
Máy lọc này được tích hợp vào Home Assistant thông qua giao thức miIO, hoạt động trong mạng nội bộ (LAN), không phụ thuộc vào Internet hay dịch vụ Cloud của Xiaomi. Tuy nhiên, bạn sẽ cần mã truy cập – access token của thiết bị để kết nối được vào Home Assistant.
Cách lấy mã được hướng dẫn ở Bước 1 của bài này.
Danh sách các thiết bị hỗ trợ miIO của Xiaomi bao gồm:
- Air Purifiers (1, 2, 3 và Pro)
- Mi Humidifier
- Mi Smart Socket Plug và Power Strips
- Mi Robot Vacuum (V1 và V2)
- Mi Smart Home Gateway (Aqara) và các thiết bị công tắc, cảm biến v.v.. đi kèm
- Philips Light Bulb và Eyecare Lamp
- Đèn Yeelights (White Bulb, Color Bulb, Desk Lamp và Strip)
Lấy access token
Mỗi thiết bị hỗ trợ miIO sẽ có một mã khác nhau. Mã này chỉ có khi đã kết nối thiết bị thành công vào dịch vụ cloud của Xiaomi sử dụng ứng dụng Mi Home của Xiaomi trên iOS/Android.
Bạn có thể lấy mã này:
- Ngay trên ứng dụng Mi Home nếu thiết bị là Gateway/Hub hoặc liên kết qua Gateway bằng cách chọn Gateway trong app, chọn About (giới thiệu). Tiếp theo, ấn vào mục Version – phiên bản để kích hoạt chế độ Nhà phát triển, bên dưới mục Hub Info bạn sẽ tìm thấy token.
Cách này có thể không áp dụng được khi có nhiều thiết bị. - Thiết bị iOS như iPhone, iPad bằng cách kết nối thiết bị vào ứng dụng Mi Home rồi tạo bản backup không mã hoá cho toàn bộ thiết bị trên máy tính. Sau đó dùng một ứng dụng để đọc bản backup này và lấy token.
Chỉ sử dụng cách này khi bắt buộc. Cách làm cụ thể ở mục Tham khảo cuối bài viết.
- Sử dụng ứng dụng Mi Home trên thiết bị Android như điện thoại, TV Box hoặc giả lập như Bluestack.
BẢO MẬT
Bản backup của thiết bị iOS sẽ bao gồm toàn bộ thông tin có trên điện thoại bao gồm cả thông tin các nhân. Không nên tạo các bản backup không mã hoá.
Trong bài viết này ta sẽ sử dụng cách lấy token từ ứng dụng Mi Home trên Android. Phiên bản Mi Home 5.4.49 được biết là phiên bản chính thức duy nhất có thể giúp ta lấy token. Để thực hiện, trước hết bạn cần tải về và cài đặt ứng dụng Mi Home 5.4.49 trên thiết bị của mình. Tải về:
Sau khi cài đặt, mở ứng dụng Mi Home rồi đăng nhập bằng tài khoản của bạn hoặc tạo một tài khoản mới. Tiếp theo, trên cùng ứng dụng Mi Home, thêm thiết bị của bạn vào tài khoản. Nếu bạn đã thêm và kết nối thiết bị thành công trước đây rồi thì không cần thêm nữa.
Chờ khoảng 1 phút cho ứng dụng Mi Home tải thành công tất cả thiết bị đang có trong tài khoản. Nếu do khác vùng, thiết bị không hiển thị trong bảng điều khiển (nhưng vẫn phải thêm thành công vào tài khoản Xiaomi) cũng không sao cả.
Sau khi ứng dụng Mi Home tải danh sách thành công, sử dụng ứng dụng quản lý File trên thiết bị Android, vào mục Bộ nhớ trong và tìm thư mục Smarthome như ảnh.

Bên trong thư mục SmartHome, bạn mở tiếp thư mục logs rồi thư mục plug_DeviceManager. Nếu bạn mới cài ứng dụng Mi Home, sẽ chỉ có 1 tập tin có phần mở rộng txt bên trong. Mở tập tin này và cuộn dần xuống dưới (hoặc tìm kiếm từ token) cho đến khi tìm thấy tên thiết bị tương ứng như trong ảnh dưới, ngay bên trên nó sẽ là token. Nếu có nhiều file bên trong thư mục plug_DeviceManager, bạn có thể phải tìm dần từ file mới nhất để lấy được token.
Bạn lưu lại chuỗi kí tự trong mục token và model để sử dụng ở bước sau. Giờ bạn có thể xoá ứng dụng Mi Home 5.4.49 này đi để cài lại phiên bản mới nhất (tốt nhất là từ Play Store của Google).
Lưu ý bảo mật
Các file trên chứa nhiều thông tin bảo mật quan trọng, bạn cần lưu giữ cẩn thận hoặc xoá đi sau khi đã lấy được token.
Cấu hình thiết bị Xiaomi Air Purifier trong Home Assistant
Cấu hình
Bạn sử dụng cấu hình mẫu bên dưới và hai thông tin token, model đã lấy ở trên để thêm vào file cấu hình chính /config/configuration.yaml của Hass.
fan: - platform: xiaomi_miio name: Bedroom Air Purifier host: 192.168.1.21 token: a928129konnected model: zhimi.airpurifier.mc1
Trong đó,
host:
địa chỉ IP của thiết bị. Bạn có thể thấy nó trong trang quản lý thiết bị của Router hoặc trong file lấy token.
Nếu Router của bạn đổi IP của thiết bị mỗi lần kết nối, hãy cố định IP của máy lọc không khí.model:
không bắt buộc nhưng nếu bạn thường ngắt điện máy khi không hoạt động thì nên khai báo tuỳ chọn này.
Sau khi khai báo, bạn khởi động lại Home Assistant để cấu hình có hiệu lực. Sau khi khởi động lại, máy lọc không khí Xiaomi sẽ xuất hiện bên trong Home Assistant dưới entity_id dạng fan.name
với trạng thái và các thông số như ảnh dưới.
Các dịch vụ
Bảng bên dưới là một số dịch vụ chủ yếu trong Home Assistant liên quan đến máy lọc không khí Xiaomi. Các dịch vụ này có chung data là entity_id: fan.ten_may_loc
. Không phải mọi phiên bản – model máy lọc không khí Xiaomi đều hỗ trợ tất cả dịch vụ, sẽ có 1 hoặc 2 dịch vụ dưới đây không có tác dụng với một mẫu nhất định.
Riêng mẫu Xiaomi Air Purifier 2S như trong ảnh đầu bài hỗ trợ tất cả dịch vụ bên dưới.
DỊCH VỤ | CÔNG DỤNG |
---|---|
FAN.SET_SPEED XIAOMI_MIIO.FAN_SET_FAN_LEVEL | Cài đặt tốc độ quạt của máy lọc |
XIAOMI_MIIO.FAN_SET_CHILD_LOCK_ON | Kích hoạt chế độ khoá trẻ em |
XIAOMI_MIIO.FAN_SET_CHILD_LOCK_OFF | Vô hiệu hoá chế độ khoá trẻ em |
XIAOMI_MIIO.FAN_SET_FAVORITE_LEVEL | Cài đặt tốc độ quạt trong chế độ favorite – ưa thích |
XIAOMI_MIIO.FAN_SET_BUZZER_ON | Cho phép thông báo bằng loa đi kèm |
XIAOMI_MIIO.FAN_SET_BUZZER_OFF | Vô hiệu hoá loa đi kèm |
Bảng I.1 (list of services) |
Giao diện Lovelace điều khiển máy lọc không khí Xiaomi
Với entity của máy lọc không khí như trên, bạn có thể đưa nó vào giao diện Lovelace dưới một entity card hoặc gộp chung vào các card khác như thông thường. Lúc này bạn có thể bật, tắt và chuyển chế độ hoạt động cũng như xem các thông số tương tự như ảnh trên.
Nếu bạn có ít thiết bị (1-2 cái) và muốn điều khiển cũng như xem các thông số trực quan hơn, bạn có thể làm theo 1 trong 2 cách bên dưới.
Giao diện máy lọc không khí trực quan
Với cách này thì ta sẽ sử dụng custom card Air Purifier để điều khiển máy lọc không khí trên giao diện Lovelace của Home Assistant.


Bạn có thể cài đặt card này sử dụng HACS (Home Assistant Community Store) bằng cách vào HACS, chọn Frontend, chọn thêm mới rồi tìm Air Purifier và cài đặt.
Hoặc bạn cũng có thể tải và thêm vào Hass trực tiếp từ github của tác giả fineemb.
Về custom component và custom card
Là các component hay Lovelace card/module được phát triển bởi cộng đồng nhưng không/chưa được thông qua chính thức bởi nhóm phát triển Home Assistant. Việc cập nhật hay hỗ trợ hoàn toàn phụ thuộc vào tác giả và cộng đồng người dùng.
Bạn cũng sẽ phải tự chịu trách nhiệm và tự quản lý các custom component/custom card này.
Chúng tôi khuyến nghị bạn chỉ cài đặt những component hay card thực sự cần thiết để tránh lỗi, giảm nguy cơ bảo mật và đảm bảo hiệu suất máy chủ Hass. Trên một số thiết bị hay trình duyệt, các custom card có thể gây lỗi hoặc làm chậm đáng kể hiệu suất tải giao diện.
Hãy thận trọng khi cài đặt một custom mới trên máy chủ Hass chính của bạn vì có thể gây ra lỗi nghiêm trọng làm gián đoạn hoạt động bình thường của máy chủ và các thiết bị khác.
Sau khi cài đặt, bạn vào giao diện Lovelace, chọn Cấu hình giao diện rồi thêm một card loại Custom: Air purifier.
Mặc định card dành cho máy lọc có 3 chế độ hoạt động auto, silent và strong. Nếu máy của bạn khác, chọn Sửa mã nguồn – Raw editor của card và sửa lại danh sách trong tuỳ chọn modes:
cho phù hợp. Để xem các chế độ mà máy lọc không khí của bạn hỗ trợ, vào mục Developer Tools – Công cụ nhà phát triển, tìm máy lọc không khí của bạn và xem attributes speed_list của nó.
Đưa tất cả thông số và nút điều khiển ra Lovelace


Khác với cách trên, ở đây ta sẽ đưa toàn bộ thông số và các chức năng điều khiển của máy lọc không khí này ra ngoài giao diện để dễ điều khiển.
Để tạo giao diện trên, trước tiên ta sẽ cần tạo ra các sensor từ giá trị attributes của entity fan.bedroom_air_purifier
(đây là tên ví dụ, tuy nhiên bạn cần nhớ rõ tên này để thuận tiện theo dõi các nội dung bên dưới).
Ta cũng cần tạo ra các input.number & input.select để điều chỉnh tốc độ quạt cũng như chế độ hoạt động. Cũng cần các switch để gọi các dịch vụ tương ứng đã được liệt kê trong bảng I.1.
Cuối cùng là các automation để điều khiển thiết bị, phục vụ cho các thao tác chọn tốc độ quạt và chế độ hoạt động.
Ở đây chúng tôi đã tạo sẵn tất cả các thành phần trên trong một file có tên xiaomi_bedroom_airpurifier.yaml
mà bạn có thể copy nội dung hoặc tải về theo liên kết bên dưới.
xiaomi_bedroom_airpurifier.zip
hoặc tải về từ github của konnectED.
© Bản quyền / Credit
Code nguyên gốc trước khi sửa chữa bởi chúng tôi được chia sẻ bởi thành viên MickL từ cộng đồng Home Assistant.
Sử dụng file đã tải về
Trong file tải về, bạn sẽ thấy có cấu hình riêng rẽ cho mỗi thành phần như sensor, switch v.v.. Trước tiên bạn cần thay đổi toàn bộ cụm kí tự bedroom_air_purifier
bằng tên entity tương ứng với máy lọc không khí của mình trong Home Assistant. Ví dụ nếu bạn cấu hình máy lọc không khí của mình có entity_id là fan.phong_ngu_loc_khong_khi
thì bạn phải thay toàn bộ cụm bedroom_air_purifier bằng phong_ngu_loc_khong_khi. Lưu ý không có dấu cách – space hay bất cứ kí tự gì trước và sau cụm bedroom_air_purifier.
Tiếp theo, bạn có thể tìm mục automation:
và đổi tên – alias các automation này từ bắt đầu bằng ‘Bedroom Air Purifier‘ thành tên bạn thích.
Bạn có thể tìm và thay thế toàn bộ sử dụng tính năng search and replace all thường thấy trong các trình soạn thảo văn bản đơn giản hoặc chuyên dụng cho sửa mã.

Sau khi thay thế, bạn có thể copy từng đoạn cấu hình tương ứng với một loại entity (domain) như sensor, automation rồi paste – dán vào mục tương ứng trong file cấu hình chính tại /config/configuration.yaml của Hass.
Hoặc bạn cũng có thể sử dụng cách quản lý cấu hình kiểu package của Home Assistant bằng cách:
- Lưu file xiaomi_bedroom_airpurifier.yaml đã sửa chữa vào bên trong thư mục /config/packages của Hass. Nếu chưa có thư mục packages, bạn tạo mới thư mục này. Như vậy ta có file /config/package/xiaomi_bedroom_airpurifier.yaml.
- Trong file cấu hình chính /config/configuration.yaml, bên dưới mục cấu hình homeassistant: bạn thêm vào như mẫu sau:
homeassistant: packages: !include_dir_named packages
Sử dụng package tránh cho bạn việc phải copy từng cấu hình vào các phần khác nhau của Home Assistant nhưng cũng có nhược điểm là bạn phải khởi động lại Home Assistant mỗi lần thay đổi trong các file này và không thể sửa – edit automation, script v.v.. đi kèm trong package qua giao diện – UI.
Sau khi cấu hình, bạn khởi động lại Home Assistant để khởi tạo các thành phần cần thiết.
Thêm card vào Lovelace
Trên giao diện Lovelace, chọn Cấu hình giao diện rồi thêm một card mới loại Manual. Copy và thay thế nội dung có sẵn của card bằng cấu hình mẫu bên dưới.
Lưu ý, lần nữa hãy thay thế tất cả các cụm kí tự bedroom_air_purifier
bằng tên entity tương ứng với máy lọc không khí của mình trong Home Assistant.
type: horizontal-stack cards: - type: entities title: Bedroom Air Purifier show_header_toggle: false entities: - entity: fan.bedroom_air_purifier name: Power - entity: input_select.bedroom_air_purifier_mode - entity: input_number.bedroom_air_purifier_favorite_level name: Fav Level - entity: switch.bedroom_air_purifier_child_lock - entity: switch.bedroom_air_purifier_led - entity: switch.bedroom_air_purifier_buzzer - entity: sensor.bedroom_air_purifier_speed - entity: sensor.bedroom_air_purifier_filter_remaining - type: vertical-stack cards: - entities: - entity: sensor.bedroom_air_purifier_air_quality_pm25 - entity: sensor.bedroom_air_purifier_temp - entity: sensor.bedroom_air_purifier_humidity show_header_toggle: false theme: default title: Environment type: entities - entities: - sensor.bedroom_air_purifier_air_quality_pm25 hours_to_show: 48 refresh_interval: 60 title: Air quality type: history-graph
Automation với máy lọc không khí
Bật và tắt theo giờ
- id: '15914324182184740' alias: Bedroom Air Purifier On Off on Time description: Bật tắt máy lọc không khí theo giờ trigger: - at: '20:00:00' platform: time - at: 07:00:00 platform: time condition: [] action: - data: {} entity_id: fan.bedroom_air_purifier service_template: > {% if trigger.now.hour == 20 %} fan.turn_on {% else %} fan.turn_off {% endif %}
Gửi cảnh báo khi chỉ số AQI cao hơn 80 và tự khởi động nếu cửa phòng đang đóng
- id: '1591183075585' alias: Bedroom Air Purifier AQI over 80 Notify description: Gửi thông báo đến Telegram khi chỉ số AQI trong phòng vượt quá 80 trigger: - platform: template value_template: '{{ state_attr(''fan.bedroom_air_purifier'',''aqi'')|int > 80 }}' condition: [] action: - data_template: message: 'Nồng độ bụi trong phòng ngủ quá cao, AQI = {{state_attr(''fan.bedroom_air_purifier'',''aqi'')}}' title: '♨️ Home Assistant: AQI phòng ngủ quá cao' service: telegram_bot.send_message - condition: state entity_id: binary_sensor.cua_phong_ngu state: 'off' - data: {} entity_id: fan.bedroom_air_purifier service: fan.turn_on
Thông báo khi lõi lọc gần hết thời gian sử dụng
- id: '1591183684060' alias: Bedroom Air Purifier Low Filter Life Notify description: Thông báo khi lõi lọc không khí phòng ngủ còn dưới 10% trigger: - platform: template value_template: '{{ state_attr(''fan.bedroom_air_purifier'',''filter_life_remaining'')|int < 11 and state_attr(''fan.bedroom_air_purifier'',''filter_life_remaining'')|int > 0 }}' condition: [] action: - data_template: message: >- Lõi lọc {{state_attr(trigger.entity_id,'friendly_name')}} chỉ còn lại {{state_attr(trigger.entity_id,'filter_life_remaining')}}% title: 'Home Assistant: Lõi lọc không khí gần hết hạn' service: telegram_bot.send_message
Cảm ơn bạn đã xem bài viết này!
konnectED Team.
Không, hầu hết các mẫu máy lọc không khí Xiaomi đều có thể tích hợp vào Home Assistant theo hướng dẫn này.
Rất nhiều thiết bị đến từ Xiaomi có thể tích hợp được. Mỗi loại thiết bị có thể sử dụng các cách khác nhau. Hãy bấm vào tag – thẻ Xiaomi để xem tất cả bài viết liên quan đến Xiaomi trên konnected.vn.
