Home Assistant

Home Assistant: 2021.4

Gỡ lỗi automation

Phiên bản tháng Tư dành cho “voọc sĩ”

16 phút để đọc hết nội dung

Phiên bản “ưu tiên” cho người dùng chuyên sâu, với gói tính năng mới hướng đến các tính năng gỡ lỗi và phát triển.

Nhưng nếu bạn chỉ dùng Home Assistant như người dùng bình thường, vẫn có những nội dung mới dành cho bạn.

Cơ sở dữ liệu mới

Phiên bản 2021.4 thay đổi cấu trúc của cơ sở dữ liệu (cách mà Hass lưu lại các thông tin lịch sử), do vậy quá trình nâng cấp sẽ mất một ít thời gian để chuyển đổi từ dữ liệu cũ. Do vậy, bạn vui lòng chờ cho quá trình này hoàn tất.

Trình gỡ lỗi automation (debug)

Nếu bạn có những automation phức tạp (có thể là để giải quyết các vấn đề phức tạp) thì công cụ mới là giải pháp tuyệt vời để “đọc hiểu” một automation và tìm hiểu lí do tại sao nó không hoạt động như bạn mong muốn.

Công cụ gỡ lỗi Automation

Bạn sẽ tìm thấy công cụ này khi sử dụng UI để Sửa/Soạn thảo một automation. Chọn Show Trace (konnectED: hiện chưa được chuyển ngữ sang tiếng Việt). Bên trái sẽ là biểu đồ dạng cây thể thiện các bước mà automation sẽ thực hiện từ khi được kích hoạt (kí tự * trên cùng, ở đây có 3 kích hoạt). Bên dưới cây này là các bước có thể, bao gồm kiểm tra – condition (biểu tượng A/B), action như choose (biểu tượng mũi tên ), wait (biểu tượng đèn giao thông), v.v.. Bạn có thể chọn các biểu tượng này – node để xem chúng thực hiện gì (YAML) và kết quả của lần thực hiện gần đây nhất.

Trình phân tích Home Assistant

Đây không phải công cụ của Hass mà là công cụ hỗ trợ nhóm phát triển thu thập các dữ liệu (không có định danh, tôn trọng riêng tư, tùy chọn) về hoạt động của Hass, qua đó giúp xác định trọng tâm phát triển và sửa lỗi.

Bạn có thể xem các thông kê thu thập bởi công cụ này, một cách công khai tại website https://analytics.home-assistant.io.

Nhà thông minh Hass
Thống kê sử dụng dữ liệu từ Home Assistant Analytics (08/04/2021)

Bạn có thể chọn mở hay vô hiệu hóa công cụ này từ mục Cấu hình chung trên Hass. Và như mọi thành phần khác của Hass, bạn có thể xem mã nguồn của tính năng này trên Github.

Cảnh báo về biến chưa định nghĩa trong Template

Đây là một tính năng rất thú vị.

Nếu bạn chưa biết về template trong Hass, hãy đọc qua bài viết Template và filter cơ bản trong Hass trước.

Trước đây, nếu template của bạn (trong automation, script, sensor v.v..) lấy giá trị của một biến không tồn tại, Hass sẽ mặc định bỏ qua và đi tiếp (template).

Hành vi này có thể tiện dụng nhưng sẽ là vấn đề nếu bạn gõ nhầm tên biến hoặc tham chiếu đến một biến sẽ không bao giờ tồn tại. Ít nhất bạn sẽ không biết lí do tại sao template không cho ra kết quả mong muốn.

Từ bây giờ, Hass sẽ ghi lại một thông báo lỗi loại cảnh báo (Warning) trong nhật ký lỗi – log mỗi khi quá trình kết xuất (tính toán) template gặp phải một biến không tồn tại.

Nếu bạn thực sự muốn sử dụng một biến mà nó có thể chưa tồn tại (nhưng sẽ có trong tương lai), có thể sử dụng filter default để ngăn thông báo lỗi. Ví dụ, template {{ x | default('X') }} sẽ cho ra giá trị mặc định X khi biến x chưa tồn tại (chưa có giá trị gì).

Lọc-phân loại các automation, script và scene

Phân loại (xếp loại) các automation là một trong những tính năng được yêu cầu nhiều nhất bởi cộng đồng người dùng Hass. Sử dụng nhãn, thư mục là hai trong số những phương án được đề nghị. Tuy nhiên, Hass đã có sẵn công cụ để phân loại các thành phần này: devices – thiết bị, entities – thực thể, area – khu vực.

Từ phiên bản 2021.4, bạn có thể lọc – filter automation, script và scene liên quan/ảnh hưởng đến thiết bị, thực thể hay khu vực nhất định.

Từ giờ bạn có thể xem chỉ những automation ảnh hưởng đến một khu vực cụ thể, như phòng bếp chẳng hạn.

Z-Wave JS

Từ giờ người dùng có thể cấu hình một thiết bị Z-Wave trực tiếp trên giao diện Hass. Khi bạn xem một thiết bị Z-Wave trên giao diện Hass, bấm vào CONFIGURE DEVICE để cấu hình.

Bên cạnh đó là 2 service – dịch vụ mới:

  • zwave_js.set_value giúp cài đặt giá trị trực tiếp cho một thiết bị Z-Wave mà không thông qua Hass.
  • zwave_js.bulk_set_partial_config_parameters giúp cấu hình thông số cho nhiều thiết bị Z-Wave cùng một lúc.

Cảm biến template cập nhật bởi trigger

Phiên bản Tháng Tư 2021 giới thiệu một loại sensor template mới. Thay vì được cập nhật mỗi phút hoặc theo một sự kiện (vd, mqtt) như thông thường, cảm biến mới được cập nhật bởi bất cứ trigger nào có thể sử dụng được cho automation. Thậm chí bạn có thể gán giá trị đi cùng với trigger này cho cảm biến template đó.

template:
  - trigger:
      - platform: state
        entity_id: switch.den_bep
    sensor:
      - name: "Lan cuoi den bep duoc bat"
        state: "{{ trigger.to_state.last_changed }}"

Trong ví dụ trên (cấu hình bên dưới khai báo sensor:), cảm biến sensor.lan_cuoi_den_bep_duoc_bat sẽ được cập nhật giá trị mỗi lần switch.den_bep thay đổi trạng thái và sensor nhận giá trị là thời điểm xảy ra sự kiện thay đổi trạng thái đó.

Mọi trigger có thể dùng trong automation và giá trị đi kèm của nó đều có thể được sử dụng. Các phiên bản tới sẽ cập nhật thêm nhiều domain template khác dạng này chứ không chỉ dừng ở sensor.

Công cụ lựa chọn field cho scripts

Từ giờ bạn có thể lựa chọn các field (một dạng tham số đầu vào) khi gọi một script, sử dụng giao diện đồ họa như bên dưới thay vì khai báo YAML.

Screenshot of scripts using selects in its fields

Các thay đổi đáng chú ý khác

  • Supervisor nay xuất hiện như một mục trong trang quản lý Các tích hợp, cung cấp nhiều loại thực thể khác nhau (đa số là trạng thái các add-on và bản cập nhật). Các thực thể này mặc định vô hiệu hóa nhưng bạn có thể mở từng cái lên.
  • Các tích hợp develo Home Control, Apple TV, August và MQTT nay có thể đề nghị Area (xem Home Assistant: 2021.3 để rõ hơn về tính năng này).
  • Bây giờ bạn có thể dùng địa chỉ IP để cấu hình thiết bị Google Cast từ trang quản lý tích hợp Google Cast. Đặc biệt hữu ích khi mDNS không tìm thấy thiết bị.
  • Bạn có thể chọn dạng hiển thị số (ví dụ, 1,024 hay 1.024) trong trang quản lý Profile.
  • KNX nay hỗ trợ cấu hình thực thể sử dụng giao diện đồ họa.
  • Homekit nay hỗ trợ các thiết bị thuộc nhóm phát hiện khí CO/CO2.
  • Cảm biến DMSR nay hỗ trợ tổng theo tháng và năm.
  • Người dùng Hyperion nay có thể ẩn một số hiệu ứng nhất định.
  • Hỗ trợ lọc nhật ký lỗi bằng regex.
  • Tích hợp Plex hỗ trợ cảm biến số lượng thư viện đang có.
  • QuickBar được cập nhật.

Các tích hợp mới

  • Analytics (như mô tả phần trên)
  • Legrand Home+ Control
  • Pentair ScreenLogic

Các platform mới

  • Gogogate2 và iSmartGate bổ sung cảm biến mức pin cho cảm biến cửa không dây.
  • Panasonic Viera nay hỗ trợ remote.
  • Philips TV nay hỗ trợ remote.
  • Rheem EcoNet Products nay hỗ trợ các thực thể climate.
  • Supervisor nay hỗ trợ các thực thể và dịch vụ như phiên bản addon và cập nhật đang hữu dụng.
  • Tado nay hỗ trợ weather.

Các tích hợp mới hỗ trợ cấu hình từ UI

  • Xiaomi Miio với fan, sensor và light.
  • Hive
  • Verisure

Các thay đổi không tương thích

Xem kĩ danh sách bên dưới trước khi ấn CẬP NHẬT.

! Lưu ý trước khi cập nhật

Không chỉ xem kĩ nội dung phần này, có thể bạn sẽ phải xem cả thay đổi quan trọng của các phiên bản trước nữa nếu trước đây bạn chưa xoá bỏ hết các cấu hình bị đánh dấu “sẽ loại bỏ” hoặc khi bạn nâng cấp từ một phiên bản cũ hơn bản 0.118 lên bản này.
Có thể xem lại các phiên bản cũ hơn tại đây: Chuyên mục con: Tin tức và Cập nhật.
Nhiều cấu hình bị đánh dấu sẽ loại bỏ trong 2021.1 sẽ bị đánh dấu không hợp lệ trong phiên bản 2021.4 dù vẫn hoạt động trong 2021.3.

Các thay đổi quan trọng:

  • Xiaomi Miio nay hỗ trợ cấu hình qua UI. Các cấu hình YAML sẽ được chuyển đổi tự động. Sau đó, bạn có thể xóa bỏ các cấu hình YAML này.
  • KNX tùy chọn config_file bị loại bỏ. Dạng dữ liệu float sẽ không được hỗ trợ cho sensor.
  • LIFX Legacy bị loại bỏ.
  • Secrets nay chỉ được chấp nhận bên trong Home Assistant Core và cấu hình Lovelace. Nếu bạn đang sử dụng một số tích hợp bên thứ ba, có thể sẽ có lỗi.
  • Homekit tùy chọn ‘auto_start đã bị loại bỏ.
  • Hive nay hỗ trợ cấu hình qua UI. Các cấu hình YAML sẽ được chuyển đổi tự động. Sau đó, bạn có thể xóa bỏ các cấu hình YAML này.
  • Wake On Lan nay mặc định trạng thái giả nếu tùy chọn host không tồn tại.
  • Verisure đã được viết lại và nay có thể cấu hình qua UI. Các dịch vụ sau đã thay đổi để tương thích với cách đặt tên của Hass:
    verisure.capture_smartca
    verisure.disable_autolock
    verisure.enable_autolock
  • Prometheus trước đây các cảm biến sẽ có trạng thái unknown trong khi tích hợp đang được thiết lập và các chỉ số sẽ có giá trị là 0. Nay các chỉ số này sẽ không được tạo ra cho đến khi cảm biến hữu dụng.
  • August nay hỗ trợ cấu hình qua UI. Các cấu hình YAML sẽ được chuyển đổi tự động. Sau đó, bạn có thể xóa bỏ các cấu hình YAML này.
  • Workday nay tính giờ theo múi giờ của Hass.
  • Ubiquiti UniFi Video thực thể camera có thuộc tính last_recording_start_time thay đổi từ giờ địa phương sang giờ UTC.
  • Z-Wave JS các thiết bị thể hiện nhiệt độ theo độ F nay thể hiện phần thập phân đúng đến 0.1.
    Tên sự kiện thông báo thay đổi giá trị và trạng thái của thiết bị đổi thành zwave_js_value_notificationzwave_js_notification.
  • Template thay đổi cách xử lý biến không tồn tại như đã mô tả ở phần đầu bài viết này.
  • ZeroConf nay chỉ lắng nghe trên giao tiếp mạng mặc định. Nếu bạn cần quảng bá trên mọi giao tiếp mạng, cấu hình false cho giao tiếp mặc định.
  • Google Cast nay loại bỏ cấu hình qua YAML.
  • Neato các thuộc tính clean start, clean stopgenerated_at nay ở dạng thời điểm.
  • MQTT cấu hình fan thay đổi. Các cấu hình sau sẽ bị loại bỏ:
    speed_command_topic
    speed_state_topic
    state_value_template
    speed_list
    Các cấu hình preset_modes, percentage thay thế. command templates cho state, oscillation, preset_modepercentage được thêm mới.
  • Core / Custom integrations cấm các tác vụ đọc/ghi trong vòng lặp sự kiện.
  • ModBus nay hỗ trợ kiểu cấu hình YAML mới.
modbus:
  - name: "hub1"
    type: tcp
    host: IP_ADDRESS
    port: 502

sensor:
  platform: modbus
  registers:
    - name: "Sensor1"
      hub: "hub1"
      unit_of_measurement: "°C"
      slave: 1
      register: 100

thay bằng:

modbus:
  - name: "hub1"
    type: tcp
    host: IP_ADDRESS
    port: 502
    sensors:
      - name: "Sensor1"
        slave: 1
        address: 100
  • Updater tùy chọn reportinginclude_used_components bị loại bỏ.
  • SolarEdge loại bỏ cấu hình qua YAML. Bên cạnh đó, các đèn MQTT Json nay hỗ trợ color_modesử dụng cùng với supported_color_mode.
    color_temp, hs, rgb, white_valuexy bị loại bỏ.
  • Ping khi khởi động lại Home Assistant, giá trị cảm biến trước đó được phục hồi.
  • Plex Media Server các thiết bị media_player Web nay bị loại bỏ.

Các tích hợp bị loại bỏ

  • Griddy

Cảm ơn bạn đã xem bài viết này!

konnectED Team.

Lên Đầu
  • Đăng ký
Bạn quên mất mật khẩu? Vui lòng nhập tên đăng nhập và địa chỉ email đã đăng ký. Bạn sẽ nhận được liên kết tạo mật khẩu mới qua email (bạn nhớ kiểm tra hộp spam trong trường hợp email đi lạc).