Tham dự Tech Lounge

Tham dự Tech Lounge


[HASS] Hướng dẫn kết nối SONOFF Basic tới HASS qua MQTT Broker

apolong
14/3/2019 17:32Phản hồi: 89
[HASS] Hướng dẫn kết nối SONOFF Basic tới HASS qua MQTT Broker
Xin chào các bác, em quay lại rồi đây. Hôm qua, em có viết bài chia sẻ về cách Flash Firmware Tasmota cho con SONOFF. Hôm nay, em xin được chia sẻ tiếp về phần kết nối con SONOFF tới hệ thống HASS thông qua MQTT Broker.

Vậy tại sao cần MQTT để kết nối SONOFF và HASS?
Đơn giản vì hiện tại HASS không add trực tiếp được các em SONOFF vào hệ thống nên phải đi qua trung gian là anh MQTT cao to đen hôi =)) (Em hiểu sơ sơ là vậy, nếu có chưa đúng thì các bác giúp em sửa lại nha)

Đây là video em test lúc chiều:

Và vẫn theo thể thức cũ, em sẽ viết theo dạng Step-by-Step để làm sao cho mọi người dễ hiểu nhất. Bắt đầu thôi.

I. Những thứ cần chuẩn bị
II. Quy trình thực hiện
III. Cách thực hiện chi tiết.
1.1 Đầu tiên, ta cần cài Add-on Mosquitto Broker (MQTT)

Để cài MQTT chúng ta truy cập vào HASS.
Ở thanh Menu dọc bên trái, chúng ta chọn Hass.io, sau đó nhấn vào Add-on Store.
Trượt xuống bên dưới tìm Add-on có tên là Mosquitto Broker.
01.PNG

Quảng cáo



Nhấn Install để cài đặt, và vui lòng chờ đợi trong ít giây để hệ thống thêm add-on này vào.
02.PNG

Sau khi tiến trình cài đặt thành công, thì chúng ta nhấn vào nút Start để khởi động MQTT.
03.PNG

1.2. Tiếp theo là chúng ta cần khai báo thông tin kết nối cho con MQTT, chính là username và password để các thiết bị khác kết nối vào.
Trong phần Config, các bác thay thế dòng "logins": [], thành
Code:
"logins": [
    {
      "username": "xxx",
      "password": "xxx"
    }
  ],
Ở phần username và password, các bác thay thế xxx thành tài khoản và mật khẩu cho con MQTT nhé.
Đặt xong thì nhớ note lại không lại quên =)) .
Sau khi khai báo xong thì nhấn Save để lưu lại nha các bác.

Quảng cáo


04.PNG


1.3. Sau khi khai báo thông tin kết nối cho MQTT
Cái này em thấy lúc có lúc không (Chắc do em cài đi cài lại nhiều lần nên nhớ ko chính xác).
Các bác vào phần Configuration ở menu dọc bên trái.
Tiếp theo nhấn vào phần Integrations.
05.PNG

Nếu như các bác thấy add-on MQTT đã nằm trong phần Configured rồi thì bỏ qua.
06.PNG

Còn nếu chưa thấy thì các bác trượt xuống tìm con MQTT trong phần Set up a new Integration và nhấn vào nút CONFIGURE ở phía sau.
Một bảng cấu hình sẽ hiện lên, các bác điền thông tin cho con MQTT như sau:
Sau khi điền và kiểm tra thông tin thì nhấn Submit để lưu cấu hình.
07.PNG

1.4. Khai báo cấu hình MQTT vào file Configuration.yaml
À, các bác lưu ý là File Configuration.yaml là file mà chúng ta sẽ phải làm việc khá nhiều với nó, ở đây sẽ là nơi chúng ta khai báo và cấu hình các Components (Các thành phần ngoại vi kết nối vào hệ thống HASS).
OK, giờ để mở được File Configuration.yaml thì chúng ta truy cập vào ổ đĩa của con HASS bằng cách vào Run (Ctrl + R trên windows) và nhập địa chỉ máy chủ HASS.
Vd máy chủ HASS của em có địa chỉ là 192.168.10.86 thì em sẽ gõ vào cửa sổ Run như sau:
Hệ thống sẽ yêu cầu đăng nhập, các bác điền thông tin tài khoản của Add-on SAMBA nha.
Sau khi vào được ổ đĩa của HASS, chúng ta mở thư mục Config, và chuột phải vào File Configuration.yaml và chọn Edit with Notepad ++.
09.PNG


Trong file Configuration.yaml chúng ta sẽ khai báo thêm đoạn sau, lưu ý là thay đổi các thông tin broker, username và password theo đúng những gì mà các bác đã khai báo ở phần Add-on MQTT nha

Code:
#MQTT Broker
mqtt:
  broker: 192.168.10.86
  username: taikhoan
  password: matkhau
  discovery: True
Lưu ý: Cần gõ chính xác, KỂ CẢ DẤU CÁCH nếu không sẽ bị lỗi.
9b.PNG

1.5 Sau khi thêm xong phần khai báo cho MQTT trong file Configuration.yaml thì chúng ta lưu lại (Crtl + S) và kiểm tra xem có bị gõ sai không bằng cách truy cập trở lại HASS, vào phần Configuration > General > Check Config. Nếu hệ thống báo Configuration Valid! thì xem như chúng ta đã thành công.
Sau đó nhấn vào Reload Core Restart để nạp lại cấu hình
10a.PNG
10b.PNG


2.1 Tiếp theo, chúng ta sẽ khai báo thông số kết nối vào MQTT trên con SONOFF.
Để truy cập vào được con SONOFF, chúng ta vào trình duyệt web và truy cập vào địa chỉ IP của nó.
Ở màn hình Menu của con SONOFF, chúng ta chọn Configuration > Configure MQTT.
11a.png
11b.PNG

Ở đây, chúng ta cần lưu ý điền thông tin cho 4 phần quan trọng là:
Sau khi điền thông tin kết nối vào MQTT xong thì chúng ta nhấn vào Save.
12.PNG

2.2. Khai báo thông tin con Sonoff vào hệ thống HASS.
Cũng giống như con MQTT sau khi cài đặt ta phải khai vào vào file Configuration.yaml, thì tương tự với con Sonoff hay bất kể thiết bị ngoại vi nào sau này chúng ta thêm vào cũng đều phải được khai báo để hệ thống nhận diện.
OK, chúng ta vào lại file Configuration.yaml. Ở đây chúng ta sẽ add thông tin con công tắc Sonoff vào. Hiện tại em đang test 2 con nên em điền như sau:

Code:
switch:
  - platform: mqtt
    name: "Cây Cam"
    state_topic: "stat/sonoff1/POWER"
    command_topic: "cmnd/sonoff1/POWER"
    qos: 0
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "Online"
    payload_not_available: "Offline"
    retain: true
  - platform: mqtt
    name: "Cây Bưởi"
    state_topic: "stat/sonoff2/POWER"
    command_topic: "cmnd/sonoff2/POWER"
    qos: 0
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "Online"
    payload_not_available: "Offline"
    retain: true
Lưu ý: Cần gõ chính xác, KỂ CẢ DẤU CÁCH nếu không sẽ bị lỗi.
13.PNG
Chúng ta cần quan tâm đến những dòng này nhé:
2.3. Sau khi thêm xong phần khai báo cho Sonoff trong file Configuration.yaml thì chúng ta lưu lại (Crtl + S) và kiểm tra xem có bị gõ sai không bằng cách truy cập trở lại HASS, vào phần Configuration > General > Check Config. Nếu hệ thống báo Configuration Valid! thì xem như chúng ta đã thành công.
Sau đó nhấn vào Reload Core Restart để nạp lại cấu hình

2.4 Kiểm tra kết nối thực tế.
Vậy là khai báo thành công rồi, giờ đến lúc chúng ta kiểm tra xem kết nối giữa Sonoff và Hass đã thông suốt hay chưa.
Chúng ta vào lại trang cấu hình của con Sonoff. Chọn vào mục Console.
14c.png
Nếu trong phần Console xuất hiện dòng Connected thì chúc mừng các bác, chúng ta đã thành công.
14b.png
Còn nếu không? Console sẽ liên tục trả về trạng thái là False. Lúc này cũng đừng quá hoảng loạn, chúng ta sẽ bình tĩnh kiểm tra từng phần 1 theo thứ tự sau:
Nếu làm đến đây thì xem như đã xong rồi nha các bác. Giờ là lúc chúng ta lôi con Sonoff ra màn hình chính để điều khiển thôi.

3. Gọi Component Sonoff vừa add xong lên màn hình chính của HASS.
3.1 Ở màn hình chính, chúng ta nhấn vào nút 3 chấm (góc trên bên phải) và chọn vào mục Configure UI (Cấu hình giao diện người dùng).
15a.PNG

Sau đó, chúng ta nhấn vào nút Thêm (Hình dấu +) để tạo thêm 1 Entity.
15b.PNG

3.2. Ở đây có rất nhiều lựa chọn để chúng ta bố trí ở màn hình chính, nhưng ở bài này em sẽ giới thiệu 2 cái cơ bản là EntitiesEntity Button.
15c.PNG

Chúng ta sẽ chọn Entities trước.
Bảng cấu hình cho Entities sẽ hiện ra, chúng ta chú ý điền như sau:
- Điền tiêu đề cho Entities, vd như Phòng khách, Phòng ngủ, Bếp,v.v... ở đây em đặt là Chuồng Cây cho nó ngầu T_T
- Lựa chọn Show Header Togger? nếu như ta muốn có một Cầu dao tổng cho cả Entities. Có nghĩa là sao? có nghĩa là nếu như Entities Chuồng Cây này của em có đến 5 công tắc Sonoff, thì ở phần trên cùng sẽ có 1 nút công tắc chung, nếu em muốn mở cả 5 con lên thì chỉ cần nhấn vào cái này, khỏi phải nhấn lần lượt 5 con chi cho mất công.
- Tiếp theo là chọn cái công tắc Sonoff của chúng ta khai báo lúc nãy trong file Configuration.yaml là xong.
15d.png

- Sau cùng là nhấn vào nút X phía bên trên để trở về chế độ bình thường.
15f.PNG

Trong demo em có gọi thêm Entity Button, các bác tham khảo thêm nhé.
15g.PNG



VÀ ĐÂY LÀ THÀNH QUẢ CUỐI CÙNG
15h.PNG


Hiện em đang đặt về một số thiết bị như Công tắc âm tường Sonoff, cảm biến chuyển động, bộ trung tâm Sonoff Bridge, Bóng đèn Phillips Hue... dần dần em sẽ nghiên cứu sâu hơn và viết bài chia sẻ với mọi người. Rất cảm ơn mọi người đã dành thời gian cho bài viết này.

Xin chân thành cảm ơn.
89 bình luận
Chia sẻ

Xu hướng

Rongconvn
ĐẠI BÀNG
5 năm
Bài viết chu đáo quá, thanks bác
apolong
TÍCH CỰC
5 năm
Sáng nay em chính thức cho HASS vào hệ thống mạng của nhà. Mong rằng sẽ có nhiều thứ để trải nghiệm
1DBA5C05-138E-4EA0-9948-4D1B540F0119.jpeg
noupfix123
TÍCH CỰC
5 năm
@apolong cái switch đen đen có thêm 4 úsb để làm gì thế bro 😃 ... trong đóng đó thích mõi routerboard
@noupfix123 Cai đó không phải switch mà nó là Rasberry Pi dùng để cài HASS
amanhunt
TÍCH CỰC
5 năm
@apolong Mạng nhà của bác vãi thật :v
@apolong Trồn như cả khu dùng ấy bác 😃 nhìn khủng thật
Rongconvn
ĐẠI BÀNG
5 năm
Nhà j ăn chơi vậy ta 😆
Thanhmaitn
ĐẠI BÀNG
5 năm
nhìn đống dây mạng này biết là dân pro rồi
bluefire153
ĐẠI BÀNG
5 năm
Sao bạn ko dùng wifi luôn mà cắm mạng? Chống hack mất wifi hả @apolong ?
apolong
TÍCH CỰC
5 năm
@bluefire153 Tuỳ mục đích của bạn thôi bạn ơi. Dùng wifi hay cắm vào mạng dây cũng được mà, mình thì thích cắm mạng dây cho ổn định.
@bluefire153 Wifi sao ổn định bằng dây =,=
AndyCafe
ĐẠI BÀNG
5 năm
@bluefire153 Tuỳ theo mục đích mỗi người. Cơ bản mình thấy dùng dây lan ổn định hơn
M@trixs
ĐẠI BÀNG
5 năm
Ngày xưa thích cách viết bài của @Duy Luân , bây giờ thích thêm @apolong. Ủng hộ bạn !
apolong
TÍCH CỰC
5 năm
@M@trixs Cảm ơn bạn, mình chỉ cố gắng viết làm sao cho đơn giản và dễ hiểu nhất. Cảm ơn bạn đã ủng hộ mình
jedi9
TÍCH CỰC
5 năm
Google Home -> Broadlink RM 3 Pro -> Sonoff
apolong
TÍCH CỰC
5 năm
@jedi9 Là sao bạn ơi
Cho mình hỏi ngu tí: HASS và Homebridge khác nhau phải không bạn?
themylovebee
ĐẠI BÀNG
5 năm
@Quang Minh GL Khác nhau nha bạn, Homebridge để biến thiết bị không hỗ trợ apple homekit có thể hoạt động như homekit. Còn hass thì làm được rất nhiều chuyện khác nữa
Đây là stupid home, cá nhân mình nghĩ ko nên làm theo, cái này nên dành cho nhà phát triển, lập trình viên..... Smarthome là để dành cho người dùng cuối, mua về chỉ việc kết nối, add thêm thiết bị và hoạt động, chứ smart kiểu này chi cho cực
demax
TÍCH CỰC
5 năm
@tuyendcc Ai đọc bài này đều là dân thích vọc. Còn người không muốn cực có ai chui vô đây đọc làm gì đâu.
em.ten.teo
ĐẠI BÀNG
5 năm
@tuyendcc Chơi hass là để vọc, để hiểu nó hoạt động thế nào, còn muốn có smarthome nhanh thì bỏ tiền ra mua là xong thôi
VuongKhanq
TÍCH CỰC
4 năm
@tuyendcc Khi bạn có ít tiền nhưng vẫn muốn hít đồ thơm thì mới nên đọc mấy cái này.

Còn có nhiều tiền thì cứ BKAV hay Javis mà chơi, ai rãnh đâu mà coi mấy này.
themylovebee
ĐẠI BÀNG
5 năm
Em xin bổ sung vài ý nha bác:
+ Mục 1.2 cái login đó là tùy chọn , không bắt buộc mình phải điền vì mình có thể dùng tài khoản user local trong hass được.
+ Mục 1.4 nếu dùng hassio và đã khai báo trong mục integration 1.3 thì không cần thêm bất cứ gì vào file configuration.yaml nữa.
+ Mục 1.3 nếu tick vào Enable discovery thì đến 2.2 không cần add thủ công vào file yaml nữa. Mấy cái như qos, topic có thể chỉnh trực tiếp trên web controller của con sonoff.
apolong
TÍCH CỰC
5 năm
@themylovebee Quá hay bạn ơi, nếu bạn không chỉ rõ như vậy thì mình cũng như anh em mới tìm hiểu sẽ bị nhầm. Như trong bài hd bên trên thì mình làm kiểu cứ làm thừa còn hơn bỏ sót. Cảm ơn bạn nha
demax
TÍCH CỰC
5 năm
Xem bài đã thấy quá công phu. Cảm ơn nhiều vì đã chia sẻ.
haind.lmp111
ĐẠI BÀNG
5 năm
đánh dấu sang tuần thực hiện 😁
2MT
ĐẠI BÀNG
5 năm
Hoa cả mắt chả hiểu gì @@
Thấy cái này khó và phức tạp quá.Chắc chơi k nổi.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019