
Dùng HomeKit và Siri để điều khiển nhà thông minh ngay cả khi thiết bị của bạn không hỗ trợ
04/12/2020
Cách tự động hoá nhà thông minh bằng chuỗi hành động, để ngôi nhà thật sự “smart”
04/12/2020Home Assistant (HASS) là một hệ thống chạy trong mạng nội bộ, nhưng cũng có khi bạn cần truy cập nó từ ngoài đường, chẳng hạn như khi ra đường rồi mới nhớ quên tắt đèn hay tắt máy lạnh ở nhà thì phải làm sao? Có nhiều cách, và đây là cách mà mình thấy là đơn giản nhất để setup, giá cũng chỉ có 4,5$ / tháng mà thôi, rất hợp lý.
Cách khó: bạn phải mua IP tĩnh từ nhà mạng, sau đó trỏ tên miền và IP tĩnh, sau đó thiết lập thêm HTTPS để bảo mật. Cái này anh em nào rành thì mới làm dễ, còn không thì tốn khá nhiều thời gian để mày mò và setup. Mình sẽ hướng dẫn trong một bài riêng.
Cách dễ, là trong bài này mình sẽ nói: sử dụng một dịch vụ gọi là WebHook Relay, dịch vụ của họ sẽ chạy trên Raspberry Pi hay bất cứ chiếc máy tính nào bạn đang dùng để chạy Home Assistant. Dịch vụ này sẽ kết nối lên máy chủ của WebHook Relay và họ sẽ đứng ra làm “trung gian” để bạn kết nối từ ngoài đường vào nhà. Tên miền, HTTPS… sẽ do WebHook Relay tự xử lý, bạn không cần làm gì. Bạn chỉ cần trả cho họ 4,5$ / tháng
Cài khi Home Assistant được cài đặt trên Raspberry Pi
Giờ chúng ta sẽ làm theo cách dễ 😀
Bước 1. Đăng kí tài khoản trên web webhookrelay.com. Kích hoạt tài khoản qua email. Mua gói Basic của họ với giá 4,5$ / tháng (bản Free không xài được, nó bị lỗi với kết nối WebSocket của giao diện HASS).
Bước 2: Vào trang my.webhookrelay.com/tunnels, tạo một Tunnel mới. Tunnel ở đây giống như là một cái “ống” để nối từ máy tính HASS ở trong nhà của bạn lên máy chủ của WebHook Relay.
Thông số điền như hình, nhớ chọn Authentication type là Basic. Bạn sẽ được yêu cầu nhập Username và Password để có thể vào tiếp giao diện của HASS (lưu ý lúc này bạn sẽ phải đăng nhập tới 2 lớp, 1 lớp của WebHook Relay Tunnel, sau đó tiếp tục đăng nhập bằng HASS như bình thường, hơi phiền tí nhưng an toàn hơn. Nếu bạn muốn tiếp tục dùng app của HASS cung cấp, bạn phải chọn Authentication Type là None nhưng như vậy sẽ kém an toàn hơn).
Lưu ý: ở ô Destination, đây sẽ là nơi mà dịch vụ của WebHook Relay kết nối vào, nó chính là link tới trang web giao diện của Home Assistant trong nhà bạn đấy. Thường thì nó sẽ là http://hassio.local:8123.
Kế tiếp, bạn vào mục Access Tokens > Create token. Ở đây bạn sẽ thấy dòng Token và Secret, tí nữa chúng ta sẽ cần tới chúng.
Bước 3: Trên Home Assistant của bạn, bạn làm như sau:
- Vào HASS, nhấn menu bên tay trái > Hass.io > Add-on
- Ở mục Repository > Add new Repository by URL, dán dòng https://github.com/webhookrelay/home-assistant vào
- Kéo xuống dưới cùng của giao diện Add-on, nhấn và cài đặt add on Webhook Relay
- Sau khi cài xong, bạn cuộn xuống dưới mấy dòng giới thiệu sẽ thấy ô config. Sử dụng cấu hình như sau, đừng quên nhập Tokey key, secret và domain bạn đã chọn ở bước 2 vào. Nhấn Save.
- Cuộn lên lại nhấn Start để chạy add on.
- Vậy là xong, bạn có thể thử vào link https://<domain bạn đã chọn>.webrelay.io để truy cập vào hệ thống Home Assistant của mình. Ở đây bạn sẽ phải đăng nhập bằng thông tin đã nhập ở phần Authentication Type khi nãy, còn nếu bạn muốn dùng với app trên iOS thì cần chọn Authentication Type là None nhưng như vậy có nguy cơ dễ bị hack hơn (nếu kẻ tấn công đoán được tên miền của bạn và biết nó dùng làm gì).
- Thử nghiệm tiếp bằng cách ngắt Wi-Fi chuyển sang dùng 4G, 3G, nếu bạn vẫn có thể điều khiển nhà của mình là ổn.
Ngoài cách sử dụng tên miền do WebHook Relay cung cấp, anh em cũng có thể tự tạo domain của riêng mình và thiết lập thêm một số tùy chỉnh khác nữa. Nếu nhu cầu của anh em cao như vậy thì có thể xem tài liệu hướng dẫn tại đây.
Không cài HASS theo chuẩn
Trong trường hợp bạn không cài Home Assistant thông qua Raspberry Pi chính thức mà cài trên Orange Pi Lite hay một máy Linux nào đó khác, bạn sẽ cần làm theo hướng dẫn sau:
1. Cài docker lên máy của bạn. Docker là một dịch vụ để chạy container, có thể tạm hiểu như các máy ảo.
2. Chúng ta sẽ lấy container của WebHook Relay về chạy trên máy với các lệnh sau:
Tới đây là cài docker xong, chúng ta sẽ chạy WebHook Relay lên.3. Tạo Tunnel và Access Tokens giống như hướng dẫn trên. Nhớ ghi lại thông tin của access key và secret.
4. Nhập lệnh sau để chạy container của WebHook, nó sẽ đóng vai trò trung gian để chuyển tiếp kết nối lên máy chủ của WebHook Relay.
5. Thử nghiệm xem bạn đã vào được Home Assistant từ 4G, 3G hay chưa, nếu đã vào được là thành công rồi đó.