Home Assistant là một nền tảng tự động hóa nhà thông minh vô cùng linh hoạt và mạnh mẽ, cho phép người dùng kết nối mọi thiết bị và dịch vụ vào một hệ thống quản lý tập trung. Nền tảng này không chỉ giúp bạn tự động hóa các tác vụ thông thường mà còn mở ra khả năng khai thác tối đa tiềm năng của các thiết bị. Bạn có thể theo dõi email, xây dựng cảm biến tùy chỉnh và quản lý máy chủ, tất cả đều từ một giao diện duy nhất. Tuy nhiên, Home Assistant đã có một lịch sử phát triển lâu dài, và một số tích hợp “legacy” (cũ) chỉ có thể được thiết lập thông qua tệp cấu hình, chứ không phải qua giao diện người dùng (UI).
Trong những năm đầu phát triển, việc triển khai các tích hợp mới trong Home Assistant chủ yếu dựa vào việc tạo các mục nhập thủ công trong tệp cấu hình của bạn, sau đó khởi động lại toàn bộ 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 trực tiếp qua UI mà không cần khởi động lại. 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ợ giao diện người dùng. Tuy nhiên, sự đơn giản này cũng có một nhược điểm nhỏ. Trong khi người dùng có kiến thức kỹ thuật chuyên sâu yêu thích khả năng kiểm soát mọi thứ từ các tệp cấu hình, nhiều người dùng Home Assistant mới có thể không biết đến những tích hợp mạnh mẽ mà chỉ có thể thiết lập từ tệp configuration.yaml
. Rất nhiều trong số này là các tích hợp cũ, tập trung vào người dùng chuyên nghiệp, chúng “chỉ cần hoạt động” và không yêu cầu cập nhật, trong khi một số khác dường như đã bị cộng đồng lãng quên. Dưới đây là những tích hợp legacy đáng chú ý mà bạn có thể muốn khám phá.
8 Tích Hợp Home Assistant Legacy Không Thể Bỏ Qua
8. Command Line: Chạy Lệnh Linux Trực Tiếp Từ Home Assistant
Tích hợp “Command Line” thuộc nhóm “chỉ cần hoạt động” và thực hiện chính xác những gì tên gọi của nó. Nó cho phép bạn thực thi các lệnh Linux trong môi trường container mà Home Assistant đang chạy, từ những triển khai 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 nó vào một cảm biến, giúp bạn nhận thông báo khi địa chỉ IP thay đổi.
home-assistant-os-chay-tren-proxmox-guiam-sat-dia-chi-ip
Dưới đây là ví dụ cấu hình cho việc giám sát địa chỉ IP:
command_line:
- sensor:
unique_id: public_ip
name: Public IP
command: "wget -O - -q https://checkip.amazonaws.com"
scan_interval: 300
Cấu hình này tạo ra một thực thể sensor.public_ip
trong Home Assistant, sau đó lưu kết quả trả về từ trang web kiểm tra IP vào cảm biến. Vì cảm biến chỉ lưu trữ kết quả văn bản đầu ra của lệnh được sử dụng, chúng ta dùng "-O -"
trong lệnh wget
để chỉ định rằng “tệp đầu ra” thực sự chỉ là terminal. Điều này đảm bảo địa chỉ IP sẽ được in ra stdout thay vì lưu vào bất kỳ đâu. Tích hợp command_line
sau đó sẽ thu nhận đầu ra này và ghi vào cảm biến public_ip
của chúng ta, giúp 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 Command Line
theo nhiều cách khác nhau, chẳng hạn như đọc một tệp bằng lệnh cat
hoặc thực thi một tập lệnh (script).
7. RESTful Sensor: Kết Nối Mọi API
Nếu bạn có bất kỳ dịch vụ tự host nào (hoặc thậm chí 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à một công cụ tuyệt vời cho loại hình sử dụng này. 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 kèm theo hoặc lưu các giá trị cụ thể được truy xuất. Ví dụ, đối với bộ điều khiển Govee H615B tự host, bạn có thể viết một máy chủ web với API REST cơ bản để điều khiển đèn từ Home Assistant. Dưới đây là cảm biến REST được tạo để đặt giá trị độ sáng cho đèn:
nguoi-dung-lap-trinh-api-rest-tren-laptop-voi-bruno-cho-home-assistant
Ví dụ cấu hình cho điều khiển độ sáng đèn Govee:
- light_brightness:
url: "http://192.168.1.67:5000/api/light/brightness"
method: POST
content_type: "application/json"
payload: '{"brightness": {{ brightness }}}'
Trước đây, bạn cũng có thể đã triển khai các mẫu tương tự để kéo dữ liệu từ một phiên bản TrueNAS, trước khi có tích hợp API REST của TrueNAS. 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 là tương đối dễ dàng.
6. Template: Công Cụ Mạnh Mẽ Nhất Home Assistant
Template
là một công cụ cực kỳ mạnh mẽ trong Home Assistant, và mặc dù có một giao diện người dùng để cấu hình nhiều mẫu phổ biến, không phải mọi thực thể có thể được tạo bằng template đều có thể cấu hình 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 tệp cấu hình để xử lý các template có thể dễ dàng hơn. Cũng nên cân nhắc sử dụng !include
để trỏ đến một tệp template.yaml
riêng biệt, điều này giúp ngăn tệp cấu hình chính của bạn trở nên quá phức tạp.
tuy-chinh-tu-dong-hoa-goxlr-bang-template-trong-home-assistant
Ví dụ dưới đây là cách tôi sử dụng template để lấy thông tin nhạc đang phát trên Spotify, 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') }}
Templates là một công cụ cực kỳ linh hoạt và mạnh mẽ, và một khi bạn đã thành thạo chúng, bạn có thể dễ dàng sao chép các cấu hình từ các template hiện có và chỉnh sửa chúng để phù hợp với nhu cầu của mình.
5. Proxmox VE: Tích Hợp Quản Lý Máy Chủ Ảo
Nếu bạn đang chạy nhiều máy chủ Proxmox, có lẽ bạn đã biết đến tích hợp Proxmox VE trong Home Assistant. Tuy nhiên, đây là một tích hợp legacy chỉ có thể cấu hình từ tệp configuration.yaml
của Home Assistant. Điều này không phải là vấn đề lớn đối với những người dùng Proxmox quen thuộc với cấu hình thủ công, nhưng một giải pháp thay thế qua giao diện đồ họa sẽ tiện lợi hơn khi có sẵn. Đó là lý do tại sao nhiều người dùng, bao gồm cả tôi, lại ưa chuộng phiên bản tùy chỉnh của tích hợp Proxmox VE (có sẵn thông qua HACS – Home Assistant Community Store) thay vì bản chính thức.
giao-dien-tich-hop-proxmox-ve-trong-home-assistant-cho-may-chu-ao
Tích hợp này cực kỳ mạnh mẽ, và nếu bạn chọn sử dụng tích hợp “chính thức”, bạn sẽ cần thực hiện mọi thứ bằng tay. 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 phiên bản đều hoạt động tốt, nhưng phiên bản tùy chỉnh thường được ưu tiên hơn nhờ khả năng điều khiển thông qua giao diện người dùng.
4. OPNsense: Giám Sát và Điều Khiển Router/Firewall
Nếu bạn đang sử dụng hệ thống router 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 giao diện người dùng. 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à tôi thực sự khuyên dùng nó. 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ề lượng dữ liệu lớn hơn rất nhiều.
giao-dien-quan-ly-opnsense-tren-home-assistant-thong-qua-tich-hop
Nếu bạn muốn tích hợp OPNsense vào Home Assistant, đây là cách tốt nhất để thực hiện. 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ực hiện một số thử nghiệm… tất cả mà không cần phải đăng nhập vào OPNsense.
3. SNMP: Hoàn Hảo Cho Thiết Bị Mạng
Nếu bạn đã và đang sử dụng SNMP (Simple Network Management Protocol) để theo dõi hạ tầng mạ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) tương tự trực tiếp vào thiết lập của mình. Đây là một cấu hình chỉ qua tệp, nhưng nó cực kỳ ổn định và linh hoạt đá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 (switch). Đ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 cấu hình YAML, với một chút thay đổi trong cặp auth_key/priv_key của SNMP v3 nếu bạn cần mã hóa.
router-tp-link-ho-tro-snmp-de-giam-sat-voi-home-assistant
Ví dụ, nhiều router 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 liệu bất kỳ thiết bị nào của bạn có hỗ trợ SNMP không nhé!
2. Emulated Hue: Cẩn Trọng Khi Sử Dụ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 thêm, nhưng bạn vẫn cần kích hoạt thủ công bằng cách sử dụng tệp 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.
thiet-bi-nha-thong-minh-voi-google-pixel-va-den-philips-hue-emulated
Tích hợp này yêu cầu rất nhiều sự cẩn trọng để 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 không chính xác, 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, thậm chí yêu cầu khôi phục cài đặt gốc của các thiết bị đó để giải quyết. Cá nhân tôi không khuyến nghị sử dụng nó, nhưng nó vẫn hữu ích cho những ai thực sự cần đến tính năng này.
1. Serial: Xử Lý Luồng Dữ Liệu Từ Thiết Bị
Đối với bất kỳ thiết bị nào truyền dữ liệu qua bộ chuyển đổi USB-serial (chẳng hạn như Arduino, ESP32 hoặc bộ chuyển đổi 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ị, chuyển cổng serial vào container, và thêm một vài dòng YAML để đọc dữ liệu từ nó giống như cách bạn đọc từ 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ách khởi tạo:
arduino-uno-voi-breadboard-va-day-noi-su-dung-tich-hop-serial
Ví dụ cấu hình cho cảm biến Serial:
sensor:
- platform: serial
serial_port: /dev/ttyUSB0
baudrate: 9600
name: "Data"
Việc này rõ ràng phụ 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 serial 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 nhận 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ách sử dụng các Jinja template tiêu chuẩn.
Tích Hợp Legacy Vẫn Là Những Công Cụ Tuyệt Vời
Các tích hợp legacy, dựa trên tệp cấu hình, có thể trông có vẻ lỗi thời so với các trình hướng dẫn giao diện người dùng đẹp mắt mà Home Assistant ngày nay cung cấp. Tuy nhiên, chúng vẫn là một số công cụ đa năng nhất trong kho vũ khí của Home Assistant. Mặc dù hầu hết các tích hợp quan trọng đều có sẵn thông qua UI, nhưng đối với một số trường hợp cụ thể, bạn có thể sẽ muốn xem xét các tệp cấu hình của mình để khám phá thêm những gì bạn có thể làm được với thiết lập nhà thông minh của mình. Đừng ngần ngại tìm hiểu sâu hơn, vì những tích hợp tưởng chừng cũ kỹ này có thể mở ra những khả năng tự động hóa và giám sát mạnh mẽ mà bạn chưa từng nghĩ tới. Hãy thử áp dụng chúng vào hệ thống của bạn và chia sẻ những khám phá thú vị của bạn cùng cộng đồng blogthuthuat.net!