Xin lỗi, trình duyệt của bạn không hỗ trợ JavaScript!
Đăng nhập

MQTT Discovery của Home Assistant cho đồng hồ đo điện năng

MQTT Discovery của Home Assistant cho đồng hồ đo điện năng

MQTT Discovery của Home Assistant cho phép đồng hồ đo điện năng tự động tạo thiết bị và các entity cảm biến của nó. Sau khi đồng hồ đo và Home Assistant kết nối tới cùng một broker MQTT, Home Assistant có thể phát hiện đồng hồ đo mà không cần YAML cảm biến MQTT thủ công.

IAMMETER hỗ trợ MQTT Discovery trên tất cả các đồng hồ đo điện năng hiện hành. Tùy theo model, Home Assistant sẽ tạo các entity cho điện áp, dòng điện, công suất tác dụng, điện năng nhập, điện năng xuất và các phép đo pha hoặc kênh khác hiện có.

Hãy dùng phương pháp này khi bạn muốn:

  • giám sát điện năng qua MQTT cục bộ;
  • tự động tạo thiết bị và entity;
  • cập nhật nhanh hơn so với các tích hợp HTTP;
  • các entity điện năng nhập/xuất tương thích với Energy Dashboard;
  • cấu hình Home Assistant tối thiểu.

Nếu bạn cần toàn quyền kiểm soát topic, template, tên entity và metadata, hãy dùng hướng dẫn đồng hồ đo điện năng MQTT thủ công thay thế.

MQTT Discovery so với MQTT thủ công

Cả hai phương pháp đều yêu cầu một broker MQTT, nhưng chỉ Discovery mới tự động tạo các entity trong Home Assistant.

Tính năng MQTT Discovery MQTT thủ công
Cấu hình broker trong WebUI của đồng hồ đo Có Có
Bật MQTT Integration trong HA Có Có
Viết YAML cảm biến Không Có
Thiết bị/entity được tạo tự động Có Không
Template giá trị tùy chỉnh Không Có
Người dùng kiểm soát mọi định nghĩa entity Hạn chế Có
Metadata cho Energy Dashboard Được gửi tự động Người dùng thêm trong YAML

Không bật Discovery đồng thời định nghĩa thủ công cùng các phép đo, trừ khi bạn thực sự muốn có hai bộ entity riêng biệt.

Yêu cầu

Bạn cần:

  • một đồng hồ đo điện năng IAMMETER chạy firmware i.76.058.8 hoặc mới hơn;
  • một broker MQTT mà đồng hồ đo và Home Assistant đều truy cập được;
  • địa chỉ, cổng, tên người dùng và mật khẩu của broker;
  • Home Assistant đã bật MQTT Integration.

Firmware i.76.058.8 là bản phát hành ổn định làm mốc cho MQTT Discovery. Bản i.76.02 trước đó là firmware thử nghiệm và không nên được cài đặt hoặc dẫn liên kết như phiên bản khuyến nghị nữa.

Để có các bản sửa lỗi hiện hành và những tùy chọn MQTT mới nhất, hãy nâng cấp lên firmware IAMMETER mới nhất.

Bước 1: Kết nối Home Assistant với broker MQTT

Nếu Home Assistant chưa kết nối với broker:

  1. Mở Cài đặt → Thiết bị & dịch vụ.
  2. Chọn Thêm tích hợp.
  3. Tìm MQTT.
  4. Nhập địa chỉ, cổng, tên người dùng và mật khẩu của broker.
  5. Xác nhận rằng MQTT Integration kết nối thành công.

Nếu Home Assistant đã dùng đúng broker mong muốn, hãy giữ nguyên MQTT Integration hiện có. Không tạo thêm kết nối broker thứ hai cho thiết bị IAMMETER.

MQTT Discovery được bật mặc định trong thiết lập MQTT thông thường của Home Assistant. Nếu discovery đã bị tắt hoặc bạn dùng tiền tố discovery khác mặc định, hãy đảm bảo đồng hồ đo và Home Assistant dùng các thiết lập tương thích.

Bước 2: Cấu hình MQTT Discovery trong WebUI của đồng hồ đo

Mở WebUI cục bộ của đồng hồ đo và vào Cài đặt (Settings). Cấu hình:

Thiết lập Giá trị
Chế độ chạy (Run Mode) MQTT
Địa chỉ (Address) Tên miền/địa chỉ IP và cổng của broker MQTT
Tên người dùng (Username) Tên người dùng broker, nếu cần
Mật khẩu (Password) Mật khẩu broker, nếu cần
HA MQTT Discovery Đã bật

Lưu thiết lập và để đồng hồ đo khởi động lại hoặc kết nối lại.

Bật Home Assistant MQTT Discovery trong WebUI IAMMETER mới nhất

Firmware mới nhất hiển thị các thiết lập cần thiết ngay trong WebUI. Không cần gọi endpoint /api/mqttha?x=1 lịch sử nữa.

Tùy chọn HA MQTT Discovery dành riêng cho tính năng tự động phát hiện của Home Assistant. Với broker thông dụng, hệ thống tùy chỉnh, luồng Node-RED hoặc cấu hình MQTT thủ công, hãy để tùy chọn này tắt và dùng định dạng xuất bản MQTT chuẩn của đồng hồ đo.

Bước 3: Xác nhận Home Assistant phát hiện đồng hồ đo

Sau khi đồng hồ đo kết nối với broker:

  1. Mở Cài đặt → Thiết bị & dịch vụ → MQTT.
  2. Tìm một thiết bị IAMMETER mới được phát hiện.
  3. Mở thiết bị và xem các entity.
  4. Xác nhận các giá trị điện áp, dòng điện, công suất và điện năng là hợp lý.
  5. Kiểm tra rằng số pha hoặc số kênh đo mong đợi đã xuất hiện.

Cấu hình discovery và trạng thái đo được gửi qua các topic MQTT khác nhau. Home Assistant dùng cấu hình discovery để tạo các entity, sau đó cập nhật giá trị của chúng khi các bản tin trạng thái đến.

Nếu thiết bị không xuất hiện, chỉ khởi động lại sau khi đã kiểm tra kết nối broker và các topic. Khởi động lại Home Assistant không thể sửa được địa chỉ broker sai hoặc thông tin đăng nhập MQTT bị từ chối.

Hỗ trợ Energy Dashboard

Các payload MQTT Discovery hiện hành của IAMMETER bao gồm metadata cần thiết cho các entity điện năng nhập và xuất:

unit_of_measurement: kWh
device_class: energy
state_class: total_increasing

IAMMETER dùng các khóa MQTT Discovery rút gọn tương ứng với các trường này, bao gồm:

{
  "unit_of_meas": "kWh",
  "dev_cla": "energy",
  "stat_cla": "total_increasing"
}

Sau khi các entity nhận được dữ liệu hợp lệ:

  1. vào Cài đặt → Bảng điều khiển → Năng lượng;
  2. chọn entity điện năng nhập cho mục tiêu thụ từ lưới;
  3. chọn entity điện năng xuất cho mục điện trả về lưới;
  4. lưu cấu hình Energy Dashboard.

Không chọn entity công suất tác dụng tức thời đo bằng watt cho trường điện năng. Energy Dashboard yêu cầu kWh tích lũy.

Các model một pha và ba pha tạo ra những entity điện năng khác nhau. Hãy chọn các entity tương ứng với cách đấu dây của đồng hồ đo và cách hệ thống đo điện năng nhập/xuất từ lưới.

Chọn khoảng thời gian cập nhật MQTT

Firmware IAMMETER mới nhất hỗ trợ cập nhật MQTT xuống tới 2 giây. Khoảng thời gian ngắn hơn cho Home Assistant số liệu công suất mới hơn nhưng cũng tạo nhiều lưu lượng broker, cập nhật entity và dữ liệu recorder hơn.

Gợi ý để bắt đầu:

Ứng dụng Khoảng thời gian gợi ý
Tự động hóa cục bộ nhanh 2–5 giây
Bảng điều khiển công suất trực tiếp 5–12 giây
Giám sát điện năng thông thường 10–60 giây

Chỉ dùng khoảng thời gian ngắn nhất khi việc tự động hóa thực sự được lợi. Tổng điện năng trên Energy Dashboard thường không cần cập nhật hai giây một lần.

Khả năng tương thích với IAMMETER Cloud

MQTT Discovery chuyển Chế độ chạy của đồng hồ đo sang MQTT. Đồng hồ đo gửi các phép đo của mình tới broker đã cấu hình và không đồng thời tải chúng lên IAMMETER Cloud.

Nếu bạn cần cả Home Assistant và IAMMETER Cloud từ cùng một đồng hồ đo, hãy chọn tích hợp HTTP cục bộ hoặc Modbus TCP. Những phương pháp đó đọc đồng hồ đo cục bộ trong khi việc tải lên Cloud thông thường vẫn tiếp tục.

Hãy so sánh các lựa chọn trong tổng quan về tích hợp đồng hồ đo điện năng với Home Assistant.

Các model IAMMETER được hỗ trợ

Tất cả các đồng hồ đo điện năng IAMMETER hiện hành đều hỗ trợ MQTT Discovery. Khác biệt chính là số pha/kênh và do đó là số entity được tạo ra.

Model Cấu trúc entity thường gặp Thông tin sản phẩm
WEM3080 Entity một pha Đồng hồ đo điện năng một pha
WEM2067 Hai kênh đo Đồng hồ đo hai kênh cho điện mặt trời gia đình
WEM3080T Entity ba pha Đồng hồ đo điện năng ba pha
WEM3050T Ba kênh đo Đồng hồ đo ba pha/hai pha gia đình
WEM3080TD Entity được hiểu theo chế độ đấu dây WEM3080TD
WEM3046T / WEM3046TE Entity ba pha với đo bằng CT 5 A ngoài Đồng hồ đo ba pha dùng CT 5 A

WEM3046T và WEM3046TE đo đầu ra thứ cấp 5 A của các biến dòng ngoài. Phải áp dụng đúng tỷ số CT để có được dòng điện, công suất và điện năng ở phía sơ cấp. Đây là yêu cầu của hệ thống đo, không phải hạn chế của Home Assistant hay MQTT Discovery.

WEM3162 đã ngừng sản xuất và không nằm trong phạm vi tương thích hiện tại.

Khắc phục sự cố MQTT Discovery

Home Assistant không phát hiện đồng hồ đo

  • Xác nhận đồng hồ đo và Home Assistant dùng cùng một broker.
  • Kiểm tra địa chỉ, cổng, tên người dùng và mật khẩu của broker.
  • Xác nhận HA MQTT Discovery đã được bật trong WebUI của đồng hồ đo.
  • Kiểm tra log của broker để tìm các kết nối bị từ chối hoặc lỗi xác thực.
  • Xác minh MQTT Integration của Home Assistant đã kết nối.
  • Dùng một MQTT client đăng ký tiền tố discovery của Home Assistant trên broker và kiểm tra xem các bản tin cấu hình có xuất hiện không.

Thiết bị xuất hiện nhưng các entity không khả dụng

  • Xác nhận đồng hồ đo tiếp tục xuất bản các bản tin trạng thái sau cấu hình discovery.
  • Kiểm tra xem tường lửa, VLAN hoặc ACL của broker có cho phép cả topic discovery lẫn topic trạng thái không.
  • Xác minh đồng hồ đo chưa chuyển sang broker khác.
  • Nâng cấp lên firmware mới nhất và kết nối lại.

Không chọn được điện năng nhập/xuất trong Energy Dashboard

  • Xác nhận entity đã nhận một giá trị kWh dạng số hợp lệ.
  • Mở Công cụ dành cho nhà phát triển → Trạng thái và kiểm tra đơn vị, device class và state class của nó.
  • Xóa các entity cũ do firmware thử nghiệm trước đây tạo ra trước khi đánh giá payload discovery hiện hành.
  • Xác nhận bạn đang chọn một entity điện năng, không phải entity công suất tác dụng.

Xuất hiện các entity MQTT trùng lặp

Trùng lặp thường xảy ra khi:

  • cả YAML MQTT thủ công và MQTT Discovery đều đang hoạt động;
  • số sê-ri của đồng hồ đo hoặc ID duy nhất của discovery đã thay đổi;
  • firmware cũ đã xuất bản một cấu hình discovery khác;
  • các topic discovery được lưu giữ (retained) từ cấu hình cũ vẫn còn trên broker.

Hãy chọn hoặc MQTT thủ công hoặc MQTT Discovery cho cùng các phép đo, sau đó xóa cấu hình không còn dùng.

Xóa các entity Discovery được lưu giữ cũ

Các bản tin cấu hình MQTT Discovery thường được broker lưu giữ để Home Assistant có thể tạo lại entity sau khi khởi động lại. Nếu một topic cấu hình cũ vẫn còn, việc chỉ xóa thiết bị trong giao diện Home Assistant có thể không đủ — entity có thể quay trở lại khi cấu hình được lưu giữ được nhận lại.

Quy trình dọn dẹp an toàn:

  1. Tắt HA MQTT Discovery trên đồng hồ đo hoặc tạm ngắt kết nối nó để nó không xuất bản lại cấu hình cũ ngay lập tức.
  2. Dùng một MQTT client để kiểm tra tiền tố discovery của Home Assistant, thường là homeassistant/#.
  3. Chỉ xác định các topic cấu hình thuộc số sê-ri/thiết bị IAMMETER bị ảnh hưởng.
  4. Xuất bản một payload rỗng có lưu giữ (retained) tới từng topic cấu hình không còn dùng.
  5. Xóa thiết bị/entity không còn dùng khỏi Home Assistant nếu chúng vẫn còn.
  6. Bật lại Discovery trên firmware hiện hành.
  7. Xác nhận rằng một thiết bị cùng các entity hiện hành mong đợi đã được tạo ra.

Không xóa toàn bộ cây topic được lưu giữ homeassistant/# trên một broker dùng chung. Việc đó có thể xóa cấu hình discovery của các thiết bị không liên quan.

Khi nào nên chọn MQTT thủ công

Hãy dùng MQTT thủ công thay thế khi bạn cần:

  • tên entity và ID duy nhất tùy chỉnh;
  • template JSON hoặc phép tính tùy chỉnh;
  • chỉ một tập con các phép đo được chọn;
  • cấu trúc topic dùng chung với các ứng dụng không phải Home Assistant;
  • kiểm soát rõ ràng device class và state class;
  • tương thích với hệ thống mà Home Assistant Discovery được cố ý tắt.

Hướng dẫn liên quan

Cập nhật: 19 tháng 7, 2026.

Lên đầu