Sau khi bạn đã lắp đặt và cho chạy được hệ thống nhà thông minh với Home Assistant (HASS), bước tiếp theo bạn cần làm là khiến cho căn nhà của bạn thật sự "smart". Smart ở đây không chỉ là bạn bật tắt đèn, bật tắt quạt, máy lạnh từ xa mà nó còn phải tự "phản ánh" theo ý bạn muốn, trong từng trường hợp khác nhau. Ví dụ, đèn và máy lạnh sẽ tự động bật lên khi bạn mở cửa vào nhà buổi chiều sau một ngày làm việc mệt mỏi chẳng hạn. Một ví dụ khác: khi thấy trời sáng lên thì tự tắt đèn trong phòng ngủ và tự mở đèn trang trí dưới phòng khách cho đẹp.
Mục tiêu
Trong bài này mình sẽ hướng dẫn các bạn làm smarthome automation ở mức cơ bản nhất, và đề bài của chúng ta sẽ rất dễ: Khi cửa mở thì đèn sáng. Nếu bạn không có sẵn cảm biến mở cửa thì có thể chuyển đề bài thành Tự bật đèn vào lúc 6 giờ tối.
Thực ra việc mở cửa bật đèn, hẹn giờ bật đèn đã là tính năng có sẵn trong gần như mọi app điều khiển nhà thông minh như Mi Home, Yeelight, Philips Hue. Tuy nhiên tính năng này chỉ giới hạn ở... mức đó thôi, muốn phức tạp hơn và muốn điều khiển được cả đồ gia dụng của hãng khác nữa thì rất khó.
Mục tiêu
Trong bài này mình sẽ hướng dẫn các bạn làm smarthome automation ở mức cơ bản nhất, và đề bài của chúng ta sẽ rất dễ: Khi cửa mở thì đèn sáng. Nếu bạn không có sẵn cảm biến mở cửa thì có thể chuyển đề bài thành Tự bật đèn vào lúc 6 giờ tối.
Thực ra việc mở cửa bật đèn, hẹn giờ bật đèn đã là tính năng có sẵn trong gần như mọi app điều khiển nhà thông minh như Mi Home, Yeelight, Philips Hue. Tuy nhiên tính năng này chỉ giới hạn ở... mức đó thôi, muốn phức tạp hơn và muốn điều khiển được cả đồ gia dụng của hãng khác nữa thì rất khó.
Nhấn mạnh lại bài này là bước làm quen, khi quen rồi bạn có thể thiết lập các tình huống sử dụng phức tạp mà app của hãng không làm được.
Hệ thống
Để làm được điều này, bạn cần:
Thiết lập xong hệ thống nhà thông minh Home Assistant (HASS) với ít nhất 1 bóng đèn thông minh. Nếu bạn có đồ gia dụng smart khác thì bắt chước theo hướng dẫn vẫn ok.
Về phần cứng thì hiện tại mình dùng 1 con Raspberry Pi / Orange Pi làm điều khiển trung tâm, ít nhất 1 bóng Xiaomi Yeelight (mình sắm vài bóng nữa gắn ở nhiều phòng khác nhau), 1 cục Xiaomi Home Hub và 1 cảm biến cửa của Xiaomi giao tiếp với con Hub. Để biết cách thêm các thiết bị không tự động xuất hiện vào HASS, mời bạn tham khảo bài sau: [HASS] Cách thêm các thiết bị vào hệ thống Home Assistant.
Nếu chưa làm quen với Home Assistant, mình khuyên các bạn dành chừng 1 ngày ra nghịch hết những tính năng có trong hệ thống smarthome của mình đi nhé, để biết luôn cả cách xài giao diện, add thiết bị, tinh chỉnh cấu hình cho từng thiết bị... rồi hãy làm tới khâu automation.
Bắt đầu làm
Giờ thì chúng ta sẽ bắt tay vào làm. Một hành động automation sẽ bao gồm 3 bước chính:
Quảng cáo
Vấn đề là làm sao chúng ta có thể biết được trigger là gì và action là gì để mà cấu hình? Không như app của hãng có sẵn hết mọi thứ, bạn phải mày mọ một chút trong HASS, nhưng cũng nhờ vậy mà nó mới mạnh hơn và tùy biến được nhiều trò hơn. HASS cung cấp cho bạn các Developer Tool (công cụ developer) để làm điều này.
1. Với trigger, quan trọng nhất là trạng thái (state). Bạn phải biết được thiết bị có những trạng thái nào. Để xem trạng thái của các thiết bị đã kết nối với HASS, bạn vào giao diện của HASS, nhấn nút như đánh dấu trong hình. Nhìn cột state là bạn sẽ biết các trạng thái được hỗ trợ, có thể thử tắt bật thiết bị hoặc mở cửa, đóng cửa để biết trạng thái. Có cái sẽ là on / off, có cái là true / false, hoặc nhiều giá trị hơn thế.
2. Làm sao biết được các action nào được hỗ trợ? Bạn cũng nhấn vào theo hình bên dưới để nghịch thử các action mà HASS có thể làm với những món đồ gia dụng trong nhà bạn.
Quảng cáo
Trong ô Service, bạn có thể chọn các hành động mà HASS có, vì là đèn nên mình sẽ search chữ "light" xem có những hành động nào. Trong ô Entity, nó là những món đồ của bạn, lựa đúng đồ bạn muốn. Bạn sẽ thấy dòng "Service Data" thay đổi, thực ra cái chuỗi trong ô này được gọi là chuỗi JSON biểu diễn thiết bị của bạn để HASS có thể biết nên kích hoạt món đồ nào.
Thử chọn hành động là light.turn_off hoặc light.turn_on để bật tắt đèn, nhấn nút Call Service là bạn sẽ thấy đèn nó bật tắt theo.
Ok, nãy giờ mới là bước làm quen thôi, giờ tới lượt cài đặt nè. Trong giao diện HASS, bạn vào Configuration > Automation > nhấn nút hình tròn màu cam để tạo automation mới. Phần Trigger và Action, bạn chọn như hình. Đây là các thông tin mà chúng ta đã tìm hiểu được ở bước trên.
Ở phần trigger, bạn chọn như hình, đây là ô khai báo khi cảm biến cửa phát hiện cửa mở ra.
Còn đây là phần thiết lập action, là hành động mở đèn. Mấy cái chuỗi và service giống với cái khi nãy bạn đã nghịch đó nhớ không?
Tạm thời chúng ta bỏ qua bước condition, làm cho chạy cái đã. Sau khii đã thiết lập xong thì nhấn nút hình cái đĩa màu cam để lưu lại automation.
Bước cuối cùng trước khi chạy automation đó là bạn phải load lại cấu hình automation, vào Configuration > General > Reload Automation.
Xong, giờ bạn có thể ra mở cửa để xem đèn có sáng hay không 😁
Để thêm điều kiện chỉ bật đèn khi trời về chiều, ở mục Condition khi nãy, bạn nhấn nút "Add condition", chọn Time và điền vào điều kiện là After dòng chữ 17:00:00, tức là sau 5h chiều thì mới sáng đèn. Lưu ý viết đúng định dạng hh🇲🇲ss, bạn viết thiếu thì HASS không nhận ra được đâu.
Vậy là bạn đã thành công trong việc làm automation rồi đấy, giờ hãy thực hành bằng cách làm đề bài này nhé: Khi cửa đóng, đèn cũng sẽ tắt. Nếu thích, bạn có thể thêm một action nữa trước action tắt đèn (nhấn nút Add action), chọn loại Action là Delay và cài 00:00:05 để 5 giây sau khi đóng cửa thì đèn mới tắt, đủ thời gian cho bạn treo chìa khóa, mở các đèn khác trong nhà...
Lưu ý: mấy cái mà có đụng tới thời gian thì đảm bảo bạn đã cài đặt múi giờ cho Home Assistant, hãy làm theo hướng dẫn trong bài Cách chỉnh file configuration.yaml.
Nâng cao
Thực ra những cái bạn chỉnh ở đây đều được phản ánh vào file automations.yaml lưu trên hệ thống Home Assistant của bạn. Bạn có thể tham khảo cách trong bài viết này để biết cách xem và chỉnh file automations.yaml.
Như bên dưới bạn có thể thấy hai hành động trong hệ thống HASS của nhà mình. Cái bạn làm trên giao diện thì chọn chọn được, còn ở đây toàn là gạch đầu dòng :D
Nếu thích, bạn có thể tìm hiểu thêm về định dạng file YAML. Nó là dạng file dùng cho mục đích cấu hình rất phổ biến, dân IT xài nhiều lắm.