Home Assistant

Home Assistant: Giải thích về các hệ thống unsupported

Hass Supervisor 244

Thông điệp “You are running an unsupported installation” trong Supervisor có ý nghĩa thế nào?

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

Bạn đang sử dụng Home Assistant Supervisor Supervised (tham khảo: phân loại phương thức cài đặt Home Assistant) và nhận được thông báo như ảnh bìa phía trên (You are running an unsupported installation.) khi truy cập Supervisor > System?

You are running an unsupported installation. có nghĩa là gì? Thông báo này có nghĩa là bạn đang chạy Home Assistant được cài đặt theo một phương thức không được hỗ trợ chính thức. Wow, nghe có vẻ nguy hiểm! Vậy phương thức cài đặt nào được hỗ trợ chính thức và nếu sử dụng các phương thức không hỗ trợ chính thức thì bạn đang đối mặt với điều gì?

Các hệ quả?

Đầu tiên, khi sử dụng các phương thức không được hỗ trợ chính thức, như cái tên nói lên tất cả, bạn sẽ không nhận được bất cứ sự hỗ trợ nào từ nhóm phát triển Home Assistant. Bạn vẫn sẽ nhận được sự hỗ trợ từ cộng đồng (như Konnected.vn) hay các nhóm tương tự.

Các hỗ trợ chính thức ở đây thông thường liên quan đến:

  1. Lỗi trên hệ điều hành – OS (hệ điều hành duy nhất được hỗ trợ là Home Assistant OS)
  2. Hoạt động bất thường của công cụ Supervisor
  3. Hoạt động bất thường của các plugin hỗ trợ: observer, cli, dns, audio, multicast (xem thêm Các tính năng của Supervisor gần đây để hiểu về các plugins)
  4. Không thể cài đặt hoặc lỗi vận hành của các addon sẵn có

Các hỗ trợ liên quan đến hoạt động của Home Assistant Core và các thành phần bên trong nó (như các integration, platform) không bị vô hiệu hoá (tuy nhiên có thể bị phân biệt đối xử).

Các hỗ trợ chính thức ở đây thông thường bao gồm:

  • Khả năng cài đặt, nâng cấp của Home Assistant và cả các thành phần bổ sung, kể cả khi chúng đến từ cộng đồng (nhà phát triển có xu hướng chỉ hỗ trợ các hệ thống nhiều người dùng)
  • Các tài liệu hướng dẫn cài đặt, vận hành, cấu hình và sửa lỗi (troubleshooting)
  • Khả năng sửa các lỗi phát sinh bằng cách báo cáo đến nhóm phát triển (qua github và chương trình chẩn đoán tự động)

Hiện tại, hệ quả rõ ràng nhất chính là một số hệ thống không tự động nhận được bản cập nhật (Core) mới và không cài đặt được một số add-on (như add-on zigbee2mqtt được báo cáo tại đây và đã được khắc phục).

Các phương thức và hệ thống được hỗ trợ chính thức

Các phương thức cài đặt và do vậy, các phần cứng tương thích, bao gồm (lưu ý rằng ở đây ta chỉ tính đến các phương thức cài đặt có hỗ trợ công cụ Supervisor):

  • Home Assistant OS, thường thấy dưới dạng một file hoàn chỉnh chứa hệ điều hành đã được tối ưu sẵn, bạn chỉ cần tải về, ghi – flash lên ổ cứng hay thẻ nhớ (tham khảo Cài đặt Hass OS), Hass sẽ được tự động cài đặt.
    Số lượng thiết bị hỗ trợ hiện tại:
Thiết bị hỗ trợ chính thức cài đặt Home Assistant
Các thiết bị hỗ trợ
  • Đây mới là phần “khó hiểu” nhất: Supervised! Các hệ thống cài đặt có Supervisor trên Docker (không Docker – không Supervisor) nhưng không phải Home Assistant OS ở trên, được gọi chung là Home Assistant Supervised. Tuy cách cài đặt này (bao gồm script hỗ trợ cài đặt chính thức trong hướng dẫn Cài đặt Home Assistant qua Docker) được tài liệu hoá chính thức là một trong các phương thức cài đặt được hỗ trợ, có rất nhiều hệ thống cài đặt theo cách này đã bị thông báo là “Unsupported”.

Lí do vì sao?

Tiêu chuẩn của một hệ thống Supervised được hỗ trợ chính thức

Tài liệu của nhóm phát triển Home Assistant (mã adr-0014, bạn có thể tìm thấy ở mục Tham khảo cuối bài hoặc bấm vào liên kết Learn More cạnh thông điệp unsupported) nói rằng các hệ thống Linux phải thoả mãn TOÀN BỘ các điều kiện sau để được xem là được hỗ trợ chính thức, và bạn sẽ thấy nó “khó nhằn” thế nào:

  • Docker CE >= 19.03
    docker có hai phiên bản: ce và ee. Bản mới nhất trên Raspbian, Armbian và Ubuntu là 19.03.13
    Cách xem phiên bản đang có docker -v
  • Systemd >= 239
    Systemd là tiện ích giúp quản lý các ứng dụng – phần mềm khởi động cùng hệ điều hành
    Phiên bản mới nhất hiện tại trên Raspbian là 241-7~deb10u4+rpi1
  • NetworkManager >= 1.18.0
    NetworkManager là tiện ích giúp quản lý tự động các kết nối mạng
    Phiên bản mới nhất hiện tại trên Raspbian là 1.14.6-2+deb10u1
  • Avahi >= 0.7
    Avahi là tiện ích hỗ trợ tự động phát hiện các dịch vụ trên mạng qua mDNS
    Phiên bản mới nhất hiện tại trên Raspbian là 0.7-4+b1
  • AppArmor == 2.13.x (built into the kernel – phải được kèm sẵn trong nhân hệ điều hành)
    AppArmor là một module bảo mật giúp giới hạn khả năng của các phần mềm trên Linux
    Phiên bản mới nhất hiện tại trên Raspbian là 2.13.2-10
  • Debian Linux Debian 10 aka Buster (no derivatives)
    Debian là một bản phân phối Linux lâu đời nhất, các derivatives – dẫn xuất, biến thể nổi tiếng của nó bao gồm Ubuntu, Raspbian và Armbian (vâng, đây là các derivatives)
    Điều này có nghĩa là chỉ Debian nguyên gốc (và bạn đừng ngạc nhiên, không có Debian nguyên gốc nào chạy trên Raspberry Pi 4) mới được tính (?).
    Debian mới nhất là 10.5, tên mã Buster, phát hành 01/08/2020.

Bạn có thể xem tất cả thông tin trên từ hệ điều hành của mình bằng lệnh sau đây, thực hiện qua SSH hay ngay trên máy chủ. Tất nhiên nếu đã đến đây thì bạn phải biết cách dùng các lệnh này rồi.

docker -v
dpkg --status Systemd | grep Version
dpkg --status network-manager | grep Version
dpkg --status avahi-daemon | grep Version
dpkg --status apparmor | grep Version
lsb_release -a | grep Description

Nếu chừng đó vẫn còn “chưa đủ nản” với bạn thì đây, những điều kiện sau cũng cần thiết:

  • Hệ thống này phải được dành riêng chỉ để chạy Home Assistant Supervised (bạn cài thêm OpenVPN nghĩa là bạn “tiêu”)
  • Tất cả các ứng dụng phụ thuộc phải được cài đặt theo đúng hướng dẫn
  • Không được có thêm bất cứ ứng dụng nào bên ngoài hệ sinh thái Home Assistant (như điều đầu tiên)
  • Docker cần được cấu hình sử dụng driver lưu trữ overlay2 và driver nhật ký journald (mặc định trên hầu hết hệ thống Raspbian, Armbian và Ubuntu)
  • NetworkManager phải được cài đặt và kích hoạt trong Systemd

Thôi, tới đây thì mình không muốn bình luận gì thêm nữa, ta hãy đi luôn đến phần giải pháp

Duy Trương

Giải pháp khắc phục khi bạn bị “unsupported”

Quay về supported

Nghiêm túc mà nói, đây là giải pháp tốt nhất nếu bạn muốn dùng Home Assistant với Supervisor (chỉ Core thì không tính). Home Assistant OS được cấu hình rất tốt để gia tăng hiệu năng hoạt động của Home Assistant cũng như đảm bảo sự ổn định, sử dụng các plugin được cấu hình để hoạt động tốt nhất trên đó.

Quay về Home Assistant OS rất tốt nếu bạn:

  • Muốn ổn định và chỉ sử dụng thiết bị cho Home Assistant
  • Có thể hài lòng với các giải pháp sử dụng addon (WireGuard cho VPN, Adguard cho Ads block v.v..)
  • Đang sử dụng các thiết bị như miniPC, Laptop, IntelNUC bởi vì bạn có đến 2 lựa chọn: chạy trực tiếp HassOSchạy HassOS trên một máy ảo (nếu phần cứng của bạn có hỗ trợ). Lựa chọn máy ảo cho phép bạn vẫn làm được nhiều việc khác với máy chủ và vẫn đảm bảo môi trường tối ưu cho Home Assistant.

Tất nhiên bạn còn giải pháp khác là thoả mãn tất cả yêu cầu ở trên, tuy nhiên giải pháp này thuộc dạng “khó quá bỏ qua” hoặc “ngớ ngẩn quá quên đi”.

Sống chung với unsupported

Ngoài những hạn chế đã nói ở phần đầu thì hiện mình chưa thấy có vấn đề gì nhiều với các hệ thống unsupported. Các vấn đề này có thể được khắc phục dễ dàng, tuy hơi bất tiện.

Hệ thống không báo cập nhật

Trên một số hệ thống, bạn có thể thử khởi động lại cả thiết bị và hệ điều hành để nhận được bản cập nhật qua Supervisor như bình thường. Nếu không, bạn có thể cập nhật qua cli – một plugins của Supervisor giúp điều khiển, sửa lỗi. Lệnh mẫu bên dưới:

docker exec hassio_cli ha core update --version=0.115.3

Chờ một lúc và Home Assistant sẽ được cập nhật lên phiên bản bạn yêu cầu, ở đây là 0.115.3.

Tuy nhiên, Supervisor vẫn có thể nhận nhầm và yêu cầu bạn cập nhật “xuống” phiên bản thấp hơn như ảnh dưới.

Home Assistant lỗi cập nhật
Lỗi thông tin phiên bản

Trong trường hợp đó, bạn có thể bỏ qua thông báo này hoặc nếu quá khó chịu, chạy lệnh dưới để cập nhật thủ công phiên bản cho Supervisor (nhớ thay 0.115.3 bằng phiên bản đã cập nhật ở trên):

sudo sed -i 's/"homeassistant":.\+/"homeassistant":"0.115.3",/g' /usr/share/hassio/updater.json

Riêng về tìm các bản cập nhật, bạn có thể theo dõi các bài viết về phiên bản Home Assistant trên konnected.vn hoặc vào trang chủ home-assistant.io. Bạn cũng có thể tạo một sensor có trạng thái là phiên bản mới nhất bằng cấu hình mẫu sau:

sensor:
  - platform: scrape
    resource: https://www.home-assistant.io
    name: Hass Release
    select: ".current-version h1"
    value_template: '{{ value.split(":")[1] }}'

Không tìm thấy addon

Một số add-on cho các cấu trúc CPU cũ như armv7l (mặc định cho tất cả các phiên bản Raspbian 32bit trên tất cả thiết bị Raspberry) có thể không được tìm thấy tại Supervisor > Add-on store. Trong trường hợp đó, hãy liên hệ với tác giả, cộng đồng hỗ trợ trước hoặc bạn có thể cài đặt ứng dụng tương tự trên Docker hoặc OS.

Nhiều add-on thực ra dựa trên các image Docker có sẵn rồi được cấu hình để làm việc trực tiếp với Home Assistant mà thôi.

Các addon phổ biến như Mosquitto (mqtt), Duckdns, Zigbee2mqtt, Wireguard, Adguard v.v.. đều có sẵn các giải pháp trên Docker hoặc trực tiếp trên hệ điều hành.

Lời kết

Home Assistant là nền tảng mở và được hỗ trợ rất mạnh mẽ. Bạn có quyền lựa chọn thiết bị, phương thức cài đặt và vận hành tuỳ theo nhu cầu của mình. Tuy nhiên, nhu cầu đi kèm với công sức và thời gian bỏ ra.

Nếu bạn muốn ổn định, nhanh gọn thì nên sử dụng các giải pháp được hỗ trợ (Home Assistant OS).

Nếu bạn muốn làm chủ hoàn toàn và có thời gian để cài đặt, tối ưu và sửa lỗi thì hãy tiếp tục sử dụng phương thức cài đặt dựa trên Docker như trước giờ.

Chúng tôi sẽ có thêm các hướng dẫn cài đặt, cấu hình các gói cần thiết phổ biến trên Docker để hỗ trợ các bạn giảm dần sự phụ thuộc vào Supervisor. Tuy nhiên, nếu không còn phụ thuộc vào Supervisor thì việc cài đặt Supervised là không còn nhiều ý nghĩa.

Ý nghĩa của việc sử dụng Docker không thay đổi, Docker không phải Supervised (Docker cũng không phải giải pháp ảo hoá).

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).