Home Assistant - Mở ra một thế giới mới cho công cuộc Internet of Things (IOT) của mình
Những lầm tưởng và bở ngỡ của mình khi bước vào thế giới nhà thông minh và sau khi tự mày mò tìm hiểu về HASS
Định kiến về HASS (Home Assistant)
Mình khởi đầu làm quen với thế giới smarthome nhờ những clips hướng dẫn đưa thiết bị lên IOS với Homebridge, và trong quá trình này mình cũng nhìn thấy nhiều người đã và đang sử dụng Home Assistant (cũng có thể trở thành 1 giải pháp khác để đưa thiết bị lên IOS). Tuy nhiên với HASS người ta có xu hướng dùng app và web riêng để tự xây dựng các loại giao diện điều khiển trên đó với các tùy biến phức tạp chứ không đơn thuần là một nền tảng trung gian để đưa thiết bị không hỗ trợ nền tảng homekit lên Apple Home. Vì thế mình ra những định kiến:
- Hệ thống gì vận hành nặng nề nhiều lỗi
- Chủ yếu xử lý bằng các đoạn code, khó làm quen cho người mới
- Giao diện gì cứ nhìn "quê quê", bấm vào không phản hồi lại cảm giác tương tác được, nói chung UX hay UI đều tệ
Từ những định kiến, mình phải mất hơn 1 năm lăn lộn ở các nền tảng khác chỉ để tích hợp những tiện ích mình mong muốn. Từng nghịch qua cả NodeRED để xây dựng backend logic lưu dữ liệu xuống influxDB rồi lại dựng dashboard lên bằng Grafana... Hay phải dùng prometheus để chứa dữ liệu thô thu thập từ node exporter để theo dõi sức khỏe hệ thống. Nói chung là lấy giao mô trâu giết gà khá nhiều.
Cho đến khi mình bắt buộc phải cài HASS để dùng 2 tính năng mà lập trình viên chỉ phát triển trên nền tảng này là kết nối mạch JK BMS và xem chỉ của bên điện lực. Và sau khi cài đặt thành công, mình rất bất ngờ về sự phát triển của HASS tới hiện nay khiến mọi thứ đơn giản tới không ngờ, mình đã bị cuốn vào việc tìm hiểu nền tảng này liên tục ngày đêm tới 2 tuần liền.
Tưởng phức tạp nhưng lại tối giản hóa không ngờ
Gần như mọi thiết bị phổ biến đều tự động được kết nối
Ngay lập tức phần notification hiển thị phát hiện các thiết bị mới trong cùng mạng, chỉ cần bấm đồng ý thì sẽ tự động được cấu hình và đưa lên HASS ngay lập tức. Từ các thiết bị có hỗ trợ Google Cast như Smart TV, Smart Speaker, cho tới các thiết bị Boardlink, Sonoff, Apple TV...
Đơn giản hóa việc tích hợp
Mình có thử tìm các Integration khác và cũng tìm được rất nhanh chóng các tích hợp có hỗ trợ chính thức cho HASS. Với nhu cầu chưa cần tùy biến gì thì đã quá thỏa mãn với mình. So với các nền tảng như HomeBridge bạn sẽ cần cài nhiều plugin, biết cái nào cấu hình trong config như thế nào để khai báo đúng cú pháp. HASS mang tới sự đơn giản không ngờ tới.
Thế giới OpenSource HACS
Ngoài các tính hợp chính thức, chúng ta có các Integration được phát triển từ cộng đồng giúp cho gần như mọi tích hợp mà bạn có thể nghĩ tới đều có thể thực hiện được.
Mình thậm chí còn email cho hãng cung cấp inverter điện mặt trời Solis để họ mở quyền truy cập API cho mình để tích hợp toàn bộ các chỉ số từ inverter lên trên hệ thống HASS nhằm xây dựng các kịch bản tối ưu sử dụng năng lượng. Biết khi nào nên tắt các hệ thống sạc khi điện mặt trời sản xuất ra không đủ cho tải sử dụng.
Không chỉ là bấm bấm đề điều khiển
Sức mạnh của HASS thực sự nằm ở khả năng kiểm soát các thiết bị trong nhà thông minh của bạn, với đủ các chức năng từ theo dõi chỉ số, cho tới các kịch bản tự động hóa phức tạp
Tạo dashboard theo dõi chỉ số quan trọng
Với khả năng tích hợp các hệ thống dưới dạng cảm biến, mình có thể dễ dàng xây dựng các dashboard nhằm theo dõi các chỉ số này theo cách mình muốn. Như bảng dashboard bên trên mình theo dõi và điều khiển toàn bộ hệ thống năng lượng sử dụng trong nhà trên một giao diện.
Ngoài ra mình còn có thể kiểm soát thêm các chỉ số quan trọng khác của hệ thống nhằm phát hiện và ngăn ngừa các rủi ro có thể làm sập các thiết bị quan trọng như router, home server... Các chỉ số về nhiệt độ, sức khỏe thiết bị được theo dõi 24/7. Thậm chí mình thiết lập cả speedtest theo lịch để nắm rõ tốc độ tối đa mình có trong mọi thời điểm trong ngày. Chủ yếu để xác định khi nào mạng chậm do nhà mạng hay do phần cứng quá tải để còn đi kiện nhà mạng.
Tạo ra những view để theo dõi chính xác từ cảm biến vị trí, hệ thống an ninh. Hay thậm chí là theo dõi xem có quên sạc pin, thay pin thiết bị nào trong nhà không. Chứ càng ngày càng nhiều thứ sử dụng pin trong nhà, có lúc dùng tới lại hết pin thì cay lắm.
Khả năng tạo tự động hóa mạnh mẽ
Thường đối với các hệ thống tạo tự động hóa của các nền tảng hoặc ứng dụng smarthome sẽ chỉ xoay quanh các điều kiện IF ELSE dựa trên các điều kiện AND hoặc OR trên các trigger hoặc condition, vì vậy nó thường tạo ra những giới hạn nhất định khiến bạn phải làm ra các bước trung gian để thực hiện kịch bản mong muốn, hoặc chịu bó tay.
Với HASS mình có thể dễ dàng mô tả một kịch bản tự động hóa mong muốn với ChatGPT và nó có thể hỗ trợ viết cho mình một kịch bản dưới dạng yaml sau đó paste ngược lại vào giao diện Automation của HASS để tiện hình dung các điều kiện và chỉnh sửa cho phù hợp với nhu cầu.
Automation của HASS giúp mình thực hiện hoàn hảo các tự động hóa như
- Biết khi nào cả 2 vợ chồng mình đi ra khỏi phòng để tắt thiết bị, khi nào có người nào quay lại để bật
- Gửi cảnh báo chỉ khi cửa mở bất thường và chỉ khi có người ở khu vực cấm vào giờ cấm
- Cửa Garage chỉ được mở khi mình đã đứng trước cổng trong khoảng cách dưới 5m, thay vì về tới gần nhà là đã mở lên
- Tùy theo độ sáng của môi trường mà đèn sẽ sáng phù hợp, hoặc nửa đêm đi toilet đèn không mở sáng quá
- Tự động khởi động lại webserver khi phát hiện website không phản hồi
- Tự động tắt/mở sạc pin lưu trữ, xe điện...dựa vào công suất điện mặt trời. Tránh lúc dư năng lượng thì không sạc, lúc thiếu lại sạc gây tốn tiền trả cho EVN
Nói chung với tự động hóa mở mức độ này, thứ giới hạn duy nhất là ở năng lực sáng tạo của bản thân, còn công cụ thì có thừa. Mình đã có thể liên tục cập nhật các kịch bản tự động hóa để căn nhà hoạt động theo thói quen của mình và người nhà.
Tùy biến mạnh mẽ, styling như website với CSS
Tới đoạn này mình bắt đầu thấy mình là người sẽ tạo ra định kiến về sự rối rắm của HASS rồi đây :)))). Nói tóm lại HASS cho phép làm gần như mọi thứ bạn có thể nghĩ ra đối với một hệ thống theo dõi, bạn có thể tùy chỉnh nó hiển thị theo bất cứ cách nào với HTML và CSS. Kết hợp JS thì mình chưa tìm ra cách hoặc chưa hỗ trợ, nhưng cơ bản bạn đã có thể làm cả anmiation trên giao diện tùy ý thích.
Tổng kết lại
Để sử dụng HASS cho hệ thống smarthome yêu cầu phần cứng mạnh hơn Homebridge, nhưng đổi lại bạn có những trải nghiệm tuyệt vời khác, với sự đơn giản nhưng tùy biến cực kỳ nhiều nếu bạn thích. Nhưng để sử dụng ít nhất phải dùng raspberry 4,5 hoặc mấy dòng mini PC thì may ra mới vận hành ổn được. Các hệ thống chạy trên TV Box được mod lại chỉ để cho vui chứ gần như chả dùng được bao nhiêu sức mạnh của HASS.
Chúc các bạn có trải nghiệm thú vị với HASS. Có thắc mắc gì cứ hỏi mình sẽ giải đáp thông qua bài viết hoặc comment nhé. Hẹn gặp lại bạn trong các bài viết tiếp theo chia sẻ về smarthome.