Home Assistant

Home Assistant: khái niệm và từ khoá cơ bản, thông dụng

HA Featured Integrations

Danh sách các khái niệm, thuật ngữ thông dụng nhất trong Home Assistant: hass, hass.io, state, platform, automation, scene, script, template. Hiểu rõ các khái niệm hay thuật ngữ này sẽ giúp bạn làm chủ Home Assistant dễ dàng hơn.

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

Đây là danh sách các thuật ngữ, khái niệm thông dụng nhất trong Home Assistant. Hiểu rõ các khái niệm hay thuật ngữ này sẽ giúp bạn làm chủ Home Assistant dễ dàng hơn. Danh sách các thuật ngữ hay khái niệm này chưa hoàn toàn đầy đủ và sẽ được cập nhật, sửa đổi thêm.

Home Assistant Core / Home Assistant / Hass.io Supervisor / HassOS /Add-on
Action / Automation / Component / Condition / Cover / Customize / Device / Device Tracker / Discovery / Entity / Event / Frontend / Group / Integration / Light / Lovelace / Notification / Platform / Scene / Script / Sensor / Service / State / Switch / TTS / Template / Trigger / Zone

Home Assistant Core

Thành phần “lõi” chứa tất cả các tính năng cơ bản và cần thiết để máy chủ Home Assistant hoạt động. Trong các bài viết tại konnected.vn, Home Assistant Core thường được gọi tắt là Core. Home Assistant Core được viết bằng ngôn ngữ Python (phiên bản 3.7), hoạt động trên hầu hết các máy chủ linux/windows được hỗ trợ bởi ngôn ngữ này. Để vận hành một máy chủ Hass thì Home Assistant Core là thành phần cần thiết và duy nhất cần thiết.

Ghi chú về ngôn ngữ trong Hass

Ngôn ngữ mặc định trong Hass là tiếng Anh nhưng Hass có khả năng tự chuyển ngôn ngữ phù hợp dựa vào cài đặt ngôn ngữ hoặc vị trí của người dùng. Tiếng Việt trên Hass được hỗ trợ bởi cộng đồng người dùng Việt và vẫn đang được hoàn chỉnh. Người dùng thông thường có thể sử dụng Hass mà không cần phải biết tiếng Anh.
* KonnectED Team cũng đang tham gia phát triển ngôn ngữ Tiếng Việt cho Home Assistant và một số component khác

Tuy nhiên, với người dùng chuyên sâu hơn, mong muốn làm chủ hoàn toàn hoặc sử dụng Home Assistant cho các mục đích nâng cao thì việc biết và nhận dạng được các khái niệm, từ khoá tiếng Anh cơ bản trong Home Assistant sẽ giúp ích rất nhiều. Do vậy, chúng tôi, nhóm tác giả và KonnectED Team, mặc dù luôn dùng tiếng Việt là ngôn ngữ chính trong các nội dung của mình, cố gắng chú thích thêm bằng tiếng Anh nguyên bản đối với các từ khoá quan trọng hoặc dễ gây nhầm lẫn khi chuyển ngữ.

Mong các bạn thông cảm và ủng hộ!

Home Assistant

Home Assistant bao gồm Home Assistant Core, Supervisor và các công cụ khác giúp hỗ trợ và quản lý server Home Assistant dễ dàng hơn. Các công cụ này thường được hiểu là các Add-ons nhưng ngoài ra còn các công cụ khác như công cụ hỗ trợ DNS, Audio v.v… Các công cụ này hầu hết có thể được cài đặt, truy cập và quản lý thông qua giao diện người dùng (Front-end) của Hass, thường được truy cập nhanh qua menu Supervisor trên giao diện.
Home Assistant Core không bao gồm và không thể quản lý các công cụ này trên giao diện của Home Assistant (mà thường được bổ sung và quản lý từ hệ điều hành).

Home Assistant Supervised & Supervisor

Home Assistant Supervised là hệ thống bao gồm Home Assistant Core, Supervisor và các Add-ons hoạt động nhờ ứng dụng ảo hoá Docker và được quản lý bằng công cụ Supervisor.
Có thể hiểu Home Assistant Supervised là một phương thức/cách cài đặt và vận hành Home Assistant (có thể hiểu Home Assistant Supervised là một bản Home Assistant cài trên Docker trên một hệ điều hành Linux thông dụng).

Supervisor: phần mềm/công cụ nhằm mục đích quản lý như cập nhật, cài/xoá Home Assistant Core, Add-ons, bản thân công cụ này và cả các thành phần của hệ điều hành nếu bạn sử dụng HassOS.

HassOS

Home Assistant Operating System là hệ điều hành được tối thiểu hoá (minimized) chủ yếu để chạy trên các máy tính một bo mạch (SBC, như Pi) hoặc máy ảo. HassOS bao gồm cả hệ điều hành và Home Assistant. Ở thời điểm hiện tại thì HassOS và Home Assistant gần như tương đương về tính năng, tuy nhiên HassOS là phương thức cài đặt được khuyến nghị bởi home-assistant.io trên các thiết bị được hỗ trợ.

HassOS hiện chỉ hỗ trợ một số thiết bị như Raspberry Pi, Intel-Nuc, TinkerBoard, Odroid, các máy ảo tạo bởi: VMWare, VirtualBox.

Hass Installation Option
Các lựa chọn cài đặt và vận hành máy chủ Hass

Như vậy, khi nói về Home Assistant (Supervisor) & Home Assistant Core tức là ta chủ yếu nói đến yếu tố TÍNH NĂNG. Trong khi nói về Home Assistant Supervised (Docker) & HassOS có nghĩa là ta quan tâm chủ yếu đến PHƯƠNG THỨC cài đặt và vận hành.

Add-on

Là các ứng dụng độc lập chạy cùng với Home Assistant Core để cung cấp các tính năng, hỗ trợ thêm. Đa phần các ứng dụng này được tích hợp vào Home Assistant như các Tích hợp (xem thêm Integration) và được quản lý bằng Supervisor. Các add-on thông dụng bao gồm MQTT Broker, Samba hay Duckdns.

Giao diện công cụ Hass.io Supervisor quản lý Add-on

Action

Hành động, là một Sự kiện dành riêng cho tự động hoá, được thực hiện khi xảy ra một sự kiện kích hoạt mà các điều kiện cho trước thoả mãn.

Các action phổ biến: thay đổi trạng thái của một thực thể (đèn, công tắc, điều hoà không khí); gửi một thông báo; kích hoạt một action khác.

Automation

Tự động hoá, một trong các điểm mạnh của Hass, cho phép thực hiện một hoặc một chuỗi Action khi có một hoặc một nhóm kích hoạt (có thể rất phức tạp và linh hoạt) xảy ra. Automation cũng cho phép kiểm tra các điều kiện trước khi thực hiện action phù hợp.

Component

Còn gọi là tích hợp. Xem dưới đây.

Condition

Điều kiện, sử dụng trong Automation hay Script. Khi được cho trước, các action chỉ được thực hiện khi thoả mãn điều kiện này. Các điều kiện cho ra kết quả True/False (đúng/sai) tương đương cặp giá trị 1/0 (nghĩa là bạn có thể kiểm tra một điều kiện bằng cách kiểm tra giá trị trả về bằng 1 hay 0). Các điều kiện có thể được kết hợp với nhau theo kiểu và (and), hoặc (or) hay kết hợp nhiều cặp và/hoặc rất linh hoạt.

Cover

Che phủ, thường dùng cho các thiết bị như cửa garage, rèm hay lá sách cửa sổ. Thường được điều khiển đóng/mở hoàn toàn hoặc một phần.

Customize / Customization

Tuỳ biến, Hass cho phép bạn tuỳ ý thay đổi một vài thông số (attribute) mặc định của thực thể như tên hiển thị (friendly name), biểu tượng (icon), đơn vị đo lường (unit of measurement) v.v… để phù hợp với việc hiển thị hoặc quản lý.

Device

Thiết bị, thường dùng để chỉ đến một thiết bị vật lý mà bạn có thể tích hợp vào Hass.

Device tracker

Theo dõi thiết bị,platform dùng để nhận biết sự hiện diện (như ở trong một khu vực) hoặc vị trí của một thiết bị.

Discovery

Tự động nhận dạng, là một tích hợp của Hass nhằm mục đích tự phát hiện các thiết bị và thiết lập kèm theo hiện có trong mạng thông qua các giao thức UPnP (Universal Plug and Play, xem thêm), ZeroConf/mDNS (từng được biết đến dưới tên Avahi/Bonjour, là một nhóm các công nghệ kết hợp nhằm mục đích tạo nên một mạng lưới cho phép các thiết bị cùng mạng tìm và trao đổi thông tin với nhau, xem thêm).
zeroconf integration trong Hass sẽ thường xuyên “quét” trong mạng để tìm các thiết bị và dịch vụ có hỗ trợ (như homekit), đồng thời cũng “quảng bá” (broadcast) máy chủ Hass và các dịch vụ hiện hữu đến các thiết bị khác trong mạng.

Domain

Miền/Lĩnh vực, là tập hợp các entity (xem ở dưới) có chung một dạng trạng thái (state), kích hoạt các sự kiện giống nhau và cung cấp các dịch vụ (service) tương tự nhau. Để truy cập một entity cụ thể, bạn cần phải truy cập nó dưới một miền, ví dụ switch.den_san_vuon với den_san_vuon là entity thuộc về domain switch.

Ví dụ, miền light là tập hợp các thực thể có trạng thái là ON/OFF (bật/tắt), kích hoạt các sự kiện như State_changed (thay đổi trạng thái) và cung cấp các dịch vụ như light.turn_on, light.turn_off (bật đèn, tắt đèn) hoặc dịch vụ đặc trưng như thiết lập màu sắc và độ sáng (mà domain switch sẽ không có).

Các domain thông dụng bao gồm: automation, climate, device_tracker, group, input_***, light, media_player, scene, script, sensor, binary_sensor, switch, weather.

Entity

Thực thể, là “thể hiện” (hay đại diện – representation) của một chức năng của một thiết bị hay một dịch vụ trong Hass. Entity là đơn vị cơ bản của Home Assistant dùng để quản lý và hiện thị các chức năng hay thực hiện các hành động. Một thiết bị hay dịch vụ có thể có một hay nhiều thực thể khác nhau.

Ví dụ, một thiết bị cảm biến môi trường sẽ được thể hiện bởi nhiều thực thể trong Home Assistant như nhiệt độ (thường được thể hiện với định danh – entity_id sensor.ambient_temperature), độ ẩm, dung lượng pin, công tắc báo động v.v…

Mỗi entity trong Hass đại diện bằng một mã định danh không trùng lắp, gọi là entity_id. Các thông tin của entity như state được truy cập thông qua mã định danh này.

Event

Sự kiện, rất quan trọng với hoạt động của Hass, đặc biệt cho các chức năng xử lý cơ bản bên trong. Sự kiện được tạo ra (fired) bởi các tích hợp hoặc bản thân Hass (lưu ý, không phải bởi các entity) và cũng được lắng nghe bởi các tích hợp. Các automation đều được kích hoạt (trigger) nhờ những sự kiện này.

Frontend

Giao diện điều khiển, là một tích hợp yêu cầu phải có của Hass để hỗ trợ cho giao diện người dùng cuối (UI). Lovelace, giao diện mặc định có sẵn cho Hass dựa trên tích hợp này.

Group

Nhóm, là một phương thức để quản lý các thực thể trong Hass. Group thường bao gồm nhiều thực thể hoặc các group khác (group trong group trong group). Bạn có thể tương tác với một group thay vì tương tác với các thực thể.

Mặc định, trạng thái (state) của một group sẽ là on (bật) khi tất cả entity trong group đều có trạng thái on. Tuy nhiên bạn có thể đảo ngược điều này với tuỳ chọn all: true khi cài đặt một group.

Integration

Tích hợp, là thành phần tạo nên sự hỗ trợ phong phú và khả năng hoạt động với nhiều loại thiết bị khác nhau của Hass. Mỗi integration chịu trách nhiệm cho một domain trong Hass. Integration chịu trách nhiệm duy trì trạng thái (state), lắng nghe và tạo ra các sự kiện, cung cấp các dịch vụ.

Có một số lượng lớn integration được cung cấp sẵn bởi Hass, một số integration như switch, light được xây dựng từ ban đầu bởi nhóm phát triển Home Assistant nhưng phần lớn được phát triển và duy trì bởi cộng đồng Home Assistant.

Danh sách các integration có sẵn (built-in) trong Hass: integration

Light

Đèn, là một integration cung cấp khả năng điều khiển độ sáng hay nhiệt độ màu, sắc độ màu đối với các entity bên trong domain light.

Lovelace

Lovelace, là tên của giao diện điều khiển (frontend) mặc định, có sẵn của Hass.

Lovelace Dashboard

Bảng điều khiển, được sử dụng trong Lovelace để tập hợp một hoặc một nhóm các Chế độ xem (view) hoặc thẻ nhằm mục đích quản lý. Mỗi dashboard sẽ được tải cùng một lần trên trình duyệt và bao gồm nhiều thiết lập chung như chỉ cho phép Quản trị viên truy cập.

Bạn có thể tạo nhiều Dashboard bằng cách vào Configuration > Lovelace Dashboards.

Lovelace View

Chế độ xem, được sử dụng trong Lovelace để tập hợp một hoặc một nhóm thẻ. View được đại diện vởi một tab bên trong một bảng điều khiển Lovelace (dashboard) và bạn có thể cấu hình chung cho nó như chỉ cho phép Quản trị viên truy cập, thiết lập ảnh nền v.v..

Notification

Thông báo, là một nhóm platform nằm dưới integration notify hỗ trợ gửi tin nhắn, bao gồm cả chữ, ảnh, video v.v… đến các device, các device này có thể được tích hợp trong hass hoặc không. Các platform phổ biến bao gồm Telegram, Facebook, Google Hangouts, Discord, HTML5 Push Notifications, Twitter.

Platform

Nền tảng, giúp Hass kết nối và tương tác với một device hay service cụ thể. Để thật sự điều khiển một thiết bị hay truy cập một dịch vụ, một integration phải thông qua một platform.

! Tương tác giữa các Integration, Platform, Entity

Scene

Khung cảnh – ngữ cảnh, sử dụng trong Home Assistant để đảm bảo một hay nhiều thiết bị ở trạng thái mong muốn.

Ví dụ, một kịch bản Đi ngủ tạo ra bởi người dùng sẽ kiểm tra và chắc chắn đèn ngủ ở trạng thái bật trong khi tất cả đèn khác đều ở trạng thái tắt.

Script

Kịch bản, là một integration hỗ trợ người dùng chạy một loạt các action nối tiếp nhau khi được kích hoạt.

Sensor

Cảm biến, cho phép truy cập thông tin (bao gồm state và condition) từ chính Home Assistant (như thời gian từ lúc khởi động – uptime), từ các dịch vụ web (như dịch vụ thông tin thời tiết) hay từ các device vật lý (như thiết bị cảm biến khói, chuyển động).

Service

Dịch vụ, được sử dụng để tương tác với Hass và các integration nhằm thực hiện các action. Các service này có thể được gọi từ automation, script hay thông qua các integration khác như Google Assistant.

Bạn có thể gọi một dịch vụ bằng tên và cung cấp các thông tin cần thiết cho nó, như ví dụ sau:
service: scene.turn_on
entity_id: scene.den_gio_di_tam

State

Trạng thái, cung cấp thông tin cơ bản nhất của một entity trong Home Assistant. Các entity công bố state của mình cho Home Assistant và mọi integration đều có thể truy cập thông tin này.

Đối tượng States – States object, chứa state và một số thông tin khác của cùng một entity. States đại diện cho một entity trong Hass và luôn chứa ít nhất thông tin về entity_id, state, và mốc thời gian (timestamp) thay đổi lần cuối – last_changed, cập nhật lần cuối – last_updated. Một số thông tin khác của States bao gồm domain, name, attributes (thuộc tính).

Lưu ý rằng, (đối tượng) States chỉ đại diện cho entity chứ không thực sự là một entity, nghĩa là, nếu bạn bằng cách nào đó (như sử dụng công cụ dành cho nhà phát triển – developer tools) thay đổi trực tiếp state của một entity thì trạng thái vật lý thực sự của entity đó vẫn không thay đổi.

Switch

Công tắc, tương tự như thiết bị cùng tên phổ biến để điều khiển các thiết bị điện, là domain cơ bản của Hass, bao gồm các entitystate gồm hai giá trị on/off và bạn có thể chuyển giữa hai state này.

TTS

Chuyển chữ thành lời – Text To Speech, là một integration với chức năng chính là thông báo bằng giọng nói đến người dùng thông qua các platform như Google Translate hay Microsoft Speech.

Template

Bản mẫu hay mẫu sẵn, là một tính năng mạnh mẽ của Hass giúp bạn tự ý thay đổi các thông tin trong Hass (đa phần là các thông tin đến từ States object) theo các khuôn mẫu do bạn định sẵn. Ban đầu template được sử dụng chủ yếu trong automation, nhưng bạn cũng có thể sử dụng nó ở rất nhiều nơi với rất nhiều integration khác.

Làm chủ template giúp bạn linh hoạt hơn rất nhiều lần khi hiện thực ý tưởng của mình trong Hass.

Trigger

Kích hoạt, sử dụng trong automation bao gồm một hoặc một tập giá trị hoặc điều kiện mà khi thoả mãn sẽ kích hoạt việc thực thi action. Trigger có thể là điều kiện về thời gian, một thay đổi về state, một giá trị/điều kiện có được từ template hay một event v.v..

Zone

Vùng, là một khu vực địa lý (nhỏ) thường được giới hạn bởi một toạ độ (latitude/longitude) trung tâm và bán kính (radius). Zone được sử dụng để kiểm tra sự hiện diện của một người hay thiết bị dựa trên thông tin vị trí trực tiếp hay nội suy từ device tracker.

Về Bài viết

Bài viết chưa đầy đủ hoặc bạn còn có ý kiến khác? Bạn có thắc mắc và cần thêm thông tin. Vui lòng đăng ý kiến vào mục bình luận để tác giả và Team có thêm thông tin cải thiện chất lượng bài viết. Chúng tôi sẽ giải đáp các thắc mắc ngay trong mục bình luận để giúp được nhiều đọc giả với cùng vấn đề hơn hoặc chúng tôi sẽ trả lời trong một bài viết riêng. Trân trọng cảm ơn bạn!

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