Giao diện người dùng Home Assistant, chọn tùy chọn Add-ons để quản lý tiện ích
Máy Tính

Tích hợp Node-RED vào Home Assistant: Hướng dẫn nâng tầm tự động hóa nhà thông minh

Home Assistant (HASS) từ lâu đã được xem là trái tim của mọi hệ thống nhà thông minh DIY, mang đến khả năng quản lý và kiểm soát đa dạng các thiết bị IoT. Mặc dù bản thân HASS đã rất mạnh mẽ với các tính năng tự động hóa riêng, việc kết hợp nó với các tiện ích mở rộng mạnh mẽ sẽ biến ngôi nhà của bạn thành một không gian sống thực sự thông minh. Node-RED là một trong những tiện ích bổ trợ nổi bật, sử dụng phương pháp lập trình dựa trên luồng (flow-based programming) để tạo ra các kịch bản tự động hóa phức tạp, từ đó nâng cao trải nghiệm nhà thông minh của bạn.

Tuy nhiên, đối với những người mới bắt đầu, Node-RED có thể gây ra một chút bối rối do đường cong học hỏi ban đầu khá dốc. Đừng lo lắng, bài viết này của congnghe360.net sẽ cung cấp cho bạn hướng dẫn chi tiết từng bước để tích hợp Node-RED vào máy chủ Home Assistant của bạn, mở ra cánh cửa cho những khả năng tự động hóa vượt trội và biến ý tưởng thành hiện thực. Hãy cùng khám phá cách Node-RED có thể làm cho ngôi nhà của bạn trở nên thông minh hơn, hiệu quả hơn bao giờ hết.

Cài đặt Node-RED trong Home Assistant

Tùy thuộc vào cách bạn thiết lập Home Assistant, bạn có thể cài đặt Node-RED theo hai phương pháp chính: dưới dạng add-on hoặc dưới dạng container Docker độc lập.

1. Cài đặt Node-RED dưới dạng Add-on (Home Assistant OS/VM)

Nếu bạn đang chạy Home Assistant trên hệ điều hành chuyên dụng (Home Assistant OS) hoặc trong máy ảo, việc cài đặt Node-RED như một add-on là cách đơn giản nhất.

  1. Truy cập tab Settings (Cài đặt) trên giao diện web Home Assistant và chọn Add-ons (Tiện ích bổ trợ).
    Giao diện người dùng Home Assistant, chọn tùy chọn Add-ons để quản lý tiện íchGiao diện người dùng Home Assistant, chọn tùy chọn Add-ons để quản lý tiện ích
  2. Nhấp vào Add-on Store (Cửa hàng tiện ích bổ trợ).
    Chọn Add-on Store trong giao diện Home Assistant để tìm kiếm và cài đặt tiện íchChọn Add-on Store trong giao diện Home Assistant để tìm kiếm và cài đặt tiện ích
  3. Cuộn xuống cho đến khi bạn thấy Node-RED, sau đó nhấp vào nó và chọn Install (Cài đặt).
    Cài đặt tiện ích Node-RED trong Home Assistant từ Add-on StoreCài đặt tiện ích Node-RED trong Home Assistant từ Add-on Store
  4. (Tùy chọn) Nếu hệ thống Home Assistant của bạn chưa được thiết lập chứng chỉ SSL phù hợp, add-on Node-RED có thể không khởi động. Để khắc phục, bạn có thể điều hướng đến tab Configuration (Cấu hình), tắt tùy chọn SSL và nhấp vào Save (Lưu).
    Tắt tùy chọn SSL trong cấu hình Node-RED add-on nếu không có chứng chỉ bảo mậtTắt tùy chọn SSL trong cấu hình Node-RED add-on nếu không có chứng chỉ bảo mật
  5. Chuyển lại tab Info (Thông tin) và nhấn Start (Khởi động).
    Khởi động tiện ích Node-RED sau khi cài đặt hoàn tất trong Home AssistantKhởi động tiện ích Node-RED sau khi cài đặt hoàn tất trong Home Assistant
  6. Chọn Open Web UI (Mở giao diện Web) để truy cập giao diện Node-RED.
    Truy cập giao diện web của Node-RED từ Home AssistantTruy cập giao diện web của Node-RED từ Home Assistant

2. Cài đặt Node-RED dưới dạng Docker Container (Home Assistant Core/Container)

Nếu bạn đang chạy Home Assistant bên trong một container hoặc sử dụng phiên bản Core của dịch vụ, bạn sẽ không thể truy cập Add-on Store. Giải pháp đơn giản là triển khai Node-RED dưới dạng một container Docker riêng biệt và liên kết nó với phiên bản HASS đang chạy trong container của bạn. Giả sử bạn đã thiết lập Docker từ trước:

  1. Mở ứng dụng terminal trên hệ điều hành của bạn.
  2. Thực thi lệnh docker pull để tải ảnh (image) Node-RED:
    sudo docker pull nodered/node-red

    Lệnh Docker pull để tải ảnh container Node-RED về hệ thốngLệnh Docker pull để tải ảnh container Node-RED về hệ thống

  3. Triển khai container Node-RED bằng lệnh docker run với một vài đối số quan trọng:
    sudo docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red

    Lệnh Docker run để triển khai container Node-RED với các tham số cấu hìnhLệnh Docker run để triển khai container Node-RED với các tham số cấu hình

    • -p 1880:1880: Ánh xạ cổng 1880 của container ra cổng 1880 của máy chủ.
    • -v node_red_data:/data: Tạo một volume để lưu trữ dữ liệu Node-RED, đảm bảo dữ liệu không bị mất khi container được khởi động lại.
    • --name mynodered: Đặt tên cho container.
  4. Bạn có thể truy cập giao diện web Node-RED bằng cách nhập http://localhost:1880 vào trình duyệt web. Ngoài ra, bạn có thể thay thế localhost bằng địa chỉ IPv4 của hệ thống đang chạy container Node-RED.
    Truy cập giao diện web Node-RED qua trình duyệt bằng địa chỉ localhost:1880Truy cập giao diện web Node-RED qua trình duyệt bằng địa chỉ localhost:1880
  5. Trong giao diện Node-RED UI, nhấp vào nút menu (ba gạch ngang) và chọn tùy chọn Manage palette (Quản lý bảng màu).
    Trong Node-RED, chọn Manage palette để quản lý và cài đặt các thư viện nútTrong Node-RED, chọn Manage palette để quản lý và cài đặt các thư viện nút
  6. Chuyển sang tab Install (Cài đặt), cuộn xuống cho đến khi bạn tìm thấy node-red-contrib-home-assistant-websocket và nhấn nút Install (Cài đặt) bên cạnh.
    Cài đặt palette node-red-contrib-home-assistant-websocket để tích hợp Home AssistantCài đặt palette node-red-contrib-home-assistant-websocket để tích hợp Home Assistant
  7. Sau khi palette đã cài đặt xong, kéo một node liên quan đến Home Assistant (ví dụ: events: state) vào canvas làm việc. Sau đó, nhấp đúp vào nó và nhấn Add (Thêm) bên cạnh tham số Server.
    Cấu hình nút Node-RED sau khi kéo vào canvas, thêm thông số serverCấu hình nút Node-RED sau khi kéo vào canvas, thêm thông số server
  8. Trong một cửa sổ trình duyệt riêng biệt, mở giao diện web của container Home Assistant của bạn.
  9. Nhấp vào Username (Tên người dùng) ở cuối thanh điều hướng, chuyển sang tab Security (Bảo mật) và nhấp vào tùy chọn Create token (Tạo token) trong mục Long-lived access tokens (Mã truy cập dài hạn).
    Tạo Long-lived access token trong phần Security của tài khoản Home AssistantTạo Long-lived access token trong phần Security của tài khoản Home Assistant
  10. Đặt Name (Tên) cho token của bạn, nhấn OK và sao chép Access Token vừa tạo vào clipboard.
    Đặt tên cho Access Token trong Home Assistant trước khi sao chép để sử dụngĐặt tên cho Access Token trong Home Assistant trước khi sao chép để sử dụng
  11. Quay lại giao diện web Node-RED, nhập URL của máy chủ HASS của bạn vào trường Base URL, dán Access Token đã sao chép vào trường tương ứng và nhấn Add (Thêm).
    Thêm cấu hình máy chủ Home Assistant vào Node-RED, bao gồm URL và Access TokenThêm cấu hình máy chủ Home Assistant vào Node-RED, bao gồm URL và Access Token
    • Nếu máy chủ Home Assistant của bạn không có chứng chỉ SSL hợp lệ, hãy chọn tùy chọn Accept Unauthorized SSL Certificates (Chấp nhận chứng chỉ SSL không hợp lệ).
  12. Nhấn nút Deploy (Triển khai) và đợi Node-RED hoàn tất áp dụng các thay đổi.
    Nhấn nút Deploy trong Node-RED để áp dụng các thay đổi và kích hoạt tự động hóaNhấn nút Deploy trong Node-RED để áp dụng các thay đổi và kích hoạt tự động hóa

Cấu hình Node-RED cho thiết bị nhà thông minh

Bất kể phương pháp bạn đã sử dụng để thiết lập Node-RED, chức năng và giao diện người dùng của nó sẽ giống nhau. Nếu Node-RED trông có vẻ phức tạp, đây là một số gợi ý để bạn bắt đầu với công cụ tự động hóa mạnh mẽ này:

  1. Phía bên trái của giao diện Node-RED bao gồm nhiều nodes (nút) khác nhau. Các nút này sử dụng “tin nhắn” để giao tiếp với nhau và có thể thực hiện các hành động nhất định trên thiết bị Home Assistant của bạn. Do đó, chúng là nền tảng cốt lõi của quá trình tự động hóa bằng Node-RED.
    Kéo và thả các nút Node-RED từ bảng điều khiển bên trái vào canvas làm việcKéo và thả các nút Node-RED từ bảng điều khiển bên trái vào canvas làm việc
  2. Để sử dụng một nút, bạn phải kéo nó vào canvas (vùng làm việc). Ví dụ, bạn có thể sử dụng nút Inject để truyền một tin nhắn đến các nút khác. Nhấp đúp vào nút sẽ hiển thị một vài parameters (tham số) để cấu hình.
    Cấu hình chi tiết các tham số của một nút Inject trong Node-REDCấu hình chi tiết các tham số của một nút Inject trong Node-RED
  3. Tự bản thân, hầu hết các nút không thực sự hữu ích. Nhưng bằng cách chaining (nối) nhiều nút lại với nhau, bạn có thể tạo ra các flows (luồng) bao gồm các điều kiện if-else để tự động hóa các tiện ích Home Assistant của mình.
    Tạo một luồng tự động hóa đơn giản bằng cách kết nối các nút trong Node-REDTạo một luồng tự động hóa đơn giản bằng cách kết nối các nút trong Node-RED
  4. Khi bạn đã hoàn tất chỉnh sửa nút, hãy đảm bảo nhấp vào Deploy (Triển khai) để thực thi các luồng Node-RED.
    Thực hiện Deploy luồng tự động hóa trong Node-RED để kích hoạt các hành độngThực hiện Deploy luồng tự động hóa trong Node-RED để kích hoạt các hành động

Nâng tầm tự động hóa nhà thông minh với Node-RED

Với những kiến thức cơ bản này, bạn có thể thoải mái thử nghiệm các kết hợp nút khác nhau để tạo ra các kịch bản tự động hóa độc đáo. Di chuột qua một nút sẽ hiển thị mô tả ngắn gọn về chức năng của nó, và bạn luôn có thể tham khảo tài liệu phong phú của Node-RED để tìm hiểu về các thư viện luồng và mẫu nút khác nhau.

Mặc dù Node-RED có vẻ là một công cụ phức tạp lúc ban đầu, nhưng không thiếu các dự án thú vị mà bạn có thể xây dựng với Node-RED và Home Assistant. Từ việc tự động hóa bộ điều nhiệt của bạn bằng cách sử dụng dữ liệu từ các trạm thời tiết chạy bằng SBC đến việc bảo vệ ngôi nhà của bạn bằng khóa RFID, giới hạn duy nhất là trí tưởng tượng của bạn khi nói đến các dự án Node-RED.

Hãy bắt đầu khám phá và biến ngôi nhà của bạn thành một không gian thông minh thực sự với Node-RED ngay hôm nay! Bạn có những ý tưởng tự động hóa nào muốn chia sẻ? Hãy để lại bình luận bên dưới hoặc truy cập các bài viết khác của congnghe360.net để tìm hiểu sâu hơn về Home Assistant và IoT.

Related posts

MSI MPG 272URX QD-OLED: Màn hình gaming 4K 27 inch đột phá định hình tương lai

Administrator

Obsidian Web Clipper: Giải pháp hoàn hảo thay thế Pocket để lưu trữ trang web hiệu quả

Administrator

Wizarr: Giải pháp tối ưu hóa quản lý người dùng cho Plex và Jellyfin

Administrator