Image default
Máy Tính

Khám phá sức mạnh tiềm ẩn: Các tích hợp Home Assistant nâng cao qua file cấu hình (YAML)

Home Assistant là một nền tảng nhà thông minh tuyệt vời, cho phép người dùng liên kết tất cả các dịch vụ và thiết bị vào một hệ thống phần mềm gọn gàng. Nó không chỉ kích hoạt tự động hóa nhà thông minh mà còn mở ra khả năng thực hiện nhiều tác vụ vượt xa mục đích ban đầu của các thiết bị. Bạn có thể theo dõi email, xây dựng các cảm biến tùy chỉnh và quản lý máy chủ của mình, tất cả từ một nơi tập trung – đó chính là vẻ đẹp của Home Assistant. Tuy nhiên, có một số tích hợp (còn gọi là “legacy integrations” hay “tích hợp cũ”) mà bạn chỉ có thể thiết lập từ file cấu hình chứ không phải từ giao diện người dùng (UI). Các tích hợp “legacy” này được thiết kế cho các phiên bản Home Assistant cũ hơn đáng kể.

Nhiều năm trước, việc triển khai các tích hợp mới thường được thực hiện bằng cách tạo các mục nhập thủ công trong file cấu hình Home Assistant, sau đó khởi động lại hệ thống. Điều này đã thay đổi vào tháng 6 năm 2019 với sự ra mắt của phiên bản 0.94, cho phép người dùng thêm các tích hợp thông qua UI. Mặc dù phương pháp cũ vẫn hoạt động, hầu hết các tích hợp đã được cập nhật để hỗ trợ UI mà không cần khởi động lại.

Sự đơn giản hóa này mang lại lợi ích lớn, nhưng cũng có một nhược điểm nhỏ đã được khắc phục theo thời gian. Ban đầu, nó gây ra một số tranh cãi vì những người dùng có kiến thức kỹ thuật thích khả năng kiểm soát mọi thứ từ các file cấu hình. Ngày nay, nhiều người dùng Home Assistant mới thậm chí có thể không biết đến những tích hợp mạnh mẽ mà vẫn chỉ có thể thiết lập từ file configuration.yaml. Nhiều trong số này chỉ đơn giản là các tích hợp cũ hơn, tập trung vào người dùng chuyên nghiệp, “hoạt động ổn định” và không cần cập nhật, trong khi những tích hợp khác dường như đã bị cộng đồng lãng quên. Dưới đây là những tích hợp được đánh giá cao.

8 Tích hợp Home Assistant mạnh mẽ bạn nên biết (cấu hình qua file YAML)

1. Command Line: Chạy lệnh Linux trực tiếp từ Home Assistant

Tích hợp “Command Line” hoạt động chính xác như tên gọi của nó – thuộc nhóm “hoạt động ổn định”. Nó có thể thực thi các lệnh Linux trong môi trường container mà Home Assistant đang chạy, từ những lệnh rất đơn giản đến các thiết lập nâng cao hơn. Chẳng hạn, bạn có thể sử dụng tích hợp này để lấy địa chỉ IP công cộng hiện tại của ngôi nhà và lưu vào một cảm biến, từ đó nhận thông báo khi địa chỉ IP thay đổi.

command_line:
  - sensor:
      unique_id: public_ip
      name: Public IP
      command: "wget -O - -q https://checkip.amazonaws.com"
      scan_interval: 300

Đoạn mã trên tạo ra một thực thể sensor.public_ip trong Home Assistant, sau đó lưu kết quả của trang web được chỉ định vào cảm biến đó. Vì cảm biến chỉ lưu kết quả đầu ra dạng văn bản của lệnh, chúng ta sử dụng "-O -" trong lệnh wget để chỉ định rằng “file đầu ra” thực sự là thiết bị đầu cuối (terminal), do đó địa chỉ IP của bạn sẽ được in ra stdout thay vì được lưu vào bất kỳ đâu. Tích hợp command_line sau đó sẽ nhận diện đầu ra này và ghi vào cảm biến public_ip của chúng ta, để nó có thể được biểu diễn trong Home Assistant và sử dụng như bất kỳ tích hợp nào khác.

Bạn có thể sử dụng tích hợp này theo nhiều cách khác nhau, chẳng hạn như đọc một file bằng lệnh “cat” hoặc thực thi một script tùy chỉnh.

Giao diện Home Assistant OS đang chạy trên Proxmox, minh họa cho việc sử dụng tích hợp Command LineGiao diện Home Assistant OS đang chạy trên Proxmox, minh họa cho việc sử dụng tích hợp Command Line

2. RESTful Sensor: Tương tác với mọi API

Nếu bạn có bất kỳ dịch vụ tự host nào (hoặc thậm chí các dịch vụ công cộng) mà bạn muốn sử dụng API của chúng, nhưng không có tích hợp chính thức, thì RESTful Sensor là công cụ tuyệt vời cho mục đích đó. Bạn có thể sử dụng nó để gửi yêu cầu GET hoặc POST, đồng thời gửi dữ liệu hoặc lưu các giá trị cụ thể được truy xuất. Đối với bộ điều khiển Govee H615B tự host, tôi đã viết một máy chủ web với API REST cơ bản để điều khiển đèn từ Home Assistant, và đây là cảm biến REST tôi đã tạo để thiết lập giá trị độ sáng cho chúng:

  - light_brightness:
      url: "http://192.168.1.67:5000/api/light/brightness"
      method: POST
      content_type: "application/json"
      payload: '{"brightness": {{ brightness }}}'

Tôi cũng đã từng triển khai các template tương tự để lấy dữ liệu từ máy chủ TrueNAS của mình, trước khi phát hiện ra tích hợp TrueNAS REST API. Bất kỳ dịch vụ nào có API REST đều sẽ hoạt động với RESTful Sensor, và trong hầu hết các trường hợp, việc xử lý phản hồi để lưu dữ liệu cụ thể vào các biến rất dễ dàng.

Phần mềm Bruno trên màn hình laptop, biểu thị việc làm việc với API trong tích hợp RESTful Sensor của Home AssistantPhần mềm Bruno trên màn hình laptop, biểu thị việc làm việc với API trong tích hợp RESTful Sensor của Home Assistant

3. Template: Công cụ tùy chỉnh mạnh mẽ nhất

Template là một công cụ cực kỳ mạnh mẽ trong Home Assistant, và thực tế có một UI mà bạn có thể sử dụng để cấu hình nhiều template phổ biến. Một “template” cho phép bạn tạo một thực thể từ dữ liệu cụ thể, nhưng không phải mọi thực thể templatable đều có thể được tạo từ UI. Nếu bạn là người dùng chuyên nghiệp của Home Assistant và không ngại làm việc với YAML, việc trực tiếp truy cập file cấu hình để xử lý các template có thể dễ dàng hơn. Bạn cũng nên sử dụng !include để trỏ đến một file template.yaml riêng biệt, điều này giúp cấu hình của bạn không trở nên quá cồng kềnh.

Ví dụ, đây là những gì tôi sử dụng cho template để kéo nhạc Spotify đang phát, sau đó hiển thị trên thiết bị ESP32-powered WT32-SC01 Plus:

  - sensor:
    - name: "Spotify details"
      state: "OK"
      attributes:
        spotify_song: >
          {{ state_attr('media_player.spotify_adam_conway', 'media_title') }}
        spotify_artist: >
          {{ state_attr('media_player.spotify_adam_conway', 'media_artist') }}
        image: >
          {{ state_attr('media_player.spotify_adam_conway', 'entity_picture') }}

Template là một công cụ cực kỳ hữu ích, và một khi bạn đã thành thạo, bạn có thể dễ dàng sao chép các cấu hình từ các template hiện có và sửa đổi chúng để phù hợp với nhu cầu của mình.

Ví dụ tự động hóa GoXLR kết nối độ sáng và âm lượng qua Template trong Home AssistantVí dụ tự động hóa GoXLR kết nối độ sáng và âm lượng qua Template trong Home Assistant

4. Proxmox VE: Giám sát máy chủ ảo hiệu quả

Nếu bạn đang vận hành nhiều máy chủ Proxmox, có lẽ bạn đã thấy tích hợp Proxmox VE trong Home Assistant trước đây. Tuy nhiên, đây là một tích hợp “legacy” chỉ có thể cấu hình từ file configuration.yaml của Home Assistant. Điều này là chấp nhận được đối với một tích hợp hướng đến người dùng Proxmox, nhưng một lựa chọn đồ họa thay thế sẽ tuyệt vời hơn nếu có. Đó là lý do tại sao nhiều người dùng chọn sử dụng phiên bản tùy chỉnh của tích hợp Proxmox VE này (có sẵn thông qua HACS) thay vì tích hợp chính thức.

Tích hợp này cực kỳ mạnh mẽ, và nếu bạn chọn tích hợp “chính thức”, bạn sẽ cần thực hiện mọi thứ thủ công. Sau khi bạn cài đặt phiên bản HACS, nó sẽ thay thế hoàn toàn phiên bản nội bộ. Cả hai đều hoạt động tốt, nhưng phiên bản tùy chỉnh thường được ưa chuộng hơn nhờ khả năng điều khiển qua UI.

Giao diện tích hợp Proxmox VE trong Home Assistant, hiển thị trạng thái máy chủ ảoGiao diện tích hợp Proxmox VE trong Home Assistant, hiển thị trạng thái máy chủ ảo

5. OPNsense: Kiểm soát tường lửa và router của bạn

Nếu bạn đang sử dụng bộ định tuyến và tường lửa OPNsense, Home Assistant có một tích hợp chính thức được cấu hình thông qua UI. Tuy nhiên, tương tự như Proxmox VE, có một phiên bản tùy chỉnh tốt hơn nhiều của tích hợp OPNsense, cũng có sẵn thông qua HACS, và nó rất được khuyến nghị. Phiên bản này sử dụng API REST của OPNsense để truy vấn thông tin về thiết lập của bạn, và có thể kéo về nhiều dữ liệu hơn đáng kể.

Nếu bạn muốn một cách để tích hợp OPNsense vào Home Assistant, đây là cách tốt nhất. Bạn có thể kiểm soát tất cả các dịch vụ của mình, xem các số liệu thống kê nâng cao, và thậm chí bật hoặc tắt các quy tắc tường lửa nếu bạn muốn thử nghiệm… tất cả mà không cần đăng nhập.

Giao diện tích hợp OPNsense trong Home Assistant, cho phép kiểm soát router và tường lửaGiao diện tích hợp OPNsense trong Home Assistant, cho phép kiểm soát router và tường lửa

6. SNMP: Theo dõi hạ tầng mạng chuyên sâu

Nếu bạn đã và đang sử dụng SNMP (Simple Network Management Protocol) để theo dõi cơ sở hạ tầng của mình, nền tảng SNMP của Home Assistant cho phép bạn kéo các OID (Object Identifiers) đó thẳng vào hệ thống. Đây là một thiết lập chỉ qua file cấu hình, nhưng nó cực kỳ ổn định và linh hoạt một cách đáng ngạc nhiên; bạn có thể theo dõi bất cứ thứ gì, từ bộ đếm trang của máy in đến tải CPU của một bộ chuyển mạch mạng. Điều tuyệt vời là một khi bạn biết OID, phần còn lại chỉ là sao chép và dán YAML, với một chút thay đổi trong cặp khóa xác thực/khóa riêng tư của SNMP v3 nếu bạn cần mã hóa.

Ví dụ, nhiều bộ định tuyến TP-Link đã triển khai SNMP, và rất đáng để thiết lập nếu bạn có một thiết bị sử dụng nó. Hãy kiểm tra xem có thiết bị nào của bạn sử dụng SNMP không!

Người dùng đang cầm bộ định tuyến TP-Link, minh họa cho việc giám sát thiết bị qua tích hợp SNMP trong Home AssistantNgười dùng đang cầm bộ định tuyến TP-Link, minh họa cho việc giám sát thiết bị qua tích hợp SNMP trong Home Assistant

7. Emulated Hue: Mô phỏng cầu nối Philips Hue (Cần thận trọng!)

Emulated Hue là một tích hợp nội bộ của Home Assistant, nghĩa là không cần cài đặt, nhưng bạn vẫn sẽ cần kích hoạt thủ công bằng cách sử dụng file configuration.yaml. Về cơ bản, nó giả vờ là một cầu nối Philips Hue, đánh lừa các thiết bị Amazon Echo hoặc Google Home (phiên bản cũ hơn) nghĩ rằng mọi đèn, công tắc và script bạn hiển thị đều là một bóng đèn Hue.

Tích hợp này đòi hỏi sự cẩn trọng cao để sử dụng đúng cách, và trong hầu hết các trường hợp, nó không còn cần thiết nữa. Nếu được cấu hình sai, nó có thể gây ra các vấn đề vĩnh viễn liên quan đến điều khiển bằng giọng nói và các thực thể nhà thông minh của bạn, đòi hỏi phải khôi phục cài đặt gốc cho các thiết bị đó để khắc phục. Cá nhân tôi không khuyến nghị sử dụng nó, nhưng nó hữu ích cho những ai thực sự cần đến.

Các thiết bị nhà thông minh như Google Pixel 6 Pro, Philips Hue Go và Wyze Cam, thể hiện khả năng tương thích của Emulated HueCác thiết bị nhà thông minh như Google Pixel 6 Pro, Philips Hue Go và Wyze Cam, thể hiện khả năng tương thích của Emulated Hue

8. Serial: Xử lý luồng dữ liệu từ thiết bị nối tiếp

Đối với bất kỳ thiết bị nào truyền dữ liệu qua bộ điều hợp USB-serial, chẳng hạn như Arduino, ESP32 hoặc một dongle giám sát năng lượng, tích hợp Serial là một công cụ mạnh mẽ. Bạn chỉ cần gắn thiết bị, truyền cổng nối tiếp qua container, và thêm một vài dòng YAML để đọc dữ liệu từ nó như cách bạn làm với bất kỳ thiết bị nào khác. Bạn sẽ bắt đầu với một cảm biến đơn giản, sau đó tạo một template để xử lý dữ liệu. Dưới đây là ví dụ về cấu hình khởi tạo:

sensor:
  - platform: serial
    serial_port: /dev/ttyUSB0
    baudrate: 9600
    name: "Data"

Tùy thuộc vào thiết lập của bạn, nhưng nó hoạt động rất tốt nếu bạn có các thiết bị chỉ giao tiếp qua cổng nối tiếp mà bạn vẫn muốn thu thập dữ liệu vào Home Assistant. Hơn nữa, vì tích hợp này chỉ đơn giản là thu thập bất kỳ dữ liệu nào được truyền vào, bạn có thể phân tích cú pháp JSON, CSV và nhiều định dạng khác chỉ bằng các template Jinja tiêu chuẩn.

Bo mạch Arduino Uno với dây cắm và breadboard, minh họa cho việc sử dụng tích hợp Serial trong Home AssistantBo mạch Arduino Uno với dây cắm và breadboard, minh họa cho việc sử dụng tích hợp Serial trong Home Assistant

Kết luận: Đừng bỏ qua sức mạnh của các tích hợp “Legacy”

Mặc dù các tích hợp dựa trên file cấu hình kiểu “legacy” có thể mang lại cảm giác cũ kỹ so với các trình hướng dẫn UI đẹp mắt mà Home Assistant cung cấp ngày nay, chúng vẫn là một trong những công cụ linh hoạt nhất trong kho vũ khí của nền tảng này. Các tích hợp quan trọng nhất đều có sẵn thông qua UI, nhưng đối với một số trường hợp đặc biệt và nhu cầu tùy chỉnh nâng cao, bạn có thể cần xem xét các file cấu hình của mình để khám phá thêm những gì bạn có thể làm với hệ thống nhà thông minh của mình.

Nếu bạn là một người dùng Home Assistant chuyên nghiệp hoặc muốn mở rộng khả năng điều khiển, đừng ngần ngại tìm hiểu về những tích hợp qua file YAML này. Chúng có thể là chìa khóa để mở khóa những tính năng mạnh mẽ và độc đáo cho ngôi nhà thông minh của bạn. Hãy chia sẻ kinh nghiệm của bạn về việc sử dụng các tích hợp này trong phần bình luận bên dưới, hoặc khám phá thêm các bài viết chuyên sâu khác của chúng tôi về Home Assistant và công nghệ nhà thông minh!

Related posts

Nvidia: Xổ Số “Verified Priority Access” Mua GPU RTX 5080/5090

Administrator

NordVPN: Ưu Đãi Lớn Kèm Quà Tặng – Bảo Vệ Mạng An Toàn Tuyệt Đối

Administrator

Neovim: Vì sao Đây là Trình soạn thảo Văn bản Tôi Tin Dùng Nhất

Administrator