Tham dự Tech Lounge

Tham dự Tech Lounge


[HASS] Hướng dẫn sử dụng cảm biến PIR2 để điều khiến công tắc Sonoff thông qua HASS

apolong
27/3/2019 6:2Phản hồi: 8
[HASS] Hướng dẫn sử dụng cảm biến PIR2 để điều khiến công tắc Sonoff thông qua HASS
Xin chào anh em, mình đã trở lại rồi đây. Mấy hôm nay bận quá nên mình không có thời gian viết bài chia sẻ với anh em. Hôm nay mình xin phép được chia sẻ với anh em về cách sử dụng các loại cảm biến mở cửa, cảm biến chuyển động để điều khiển công tắc Sonoff thông qua HASS nha.

Vì đây là mảnh ghép cuối cùng trong hệ sinh thái SONOFF mà mình đang nghiên cứu và chia sẻ với anh em, nên lượng thông tin và kiến thức ở bài này sẽ có tính tổng quát hóa và kế thừa từ những kiến thức mà mình đã chia sẻ ở những bài trước đó. À tại sao lại là kế thừa thông tin và kiến thức từ những bài trước? Mình xin phép được trả lời luôn. Vì thói quen của mình khi chia sẻ về một vấn đề gì đó với mọi người thì mình sẽ đi theo kiểu "Step-by-Step", là đi từng bước một, từ cơ bản đến nâng cao, từ 1 mới có 2, muốn xây nhà thì phải xây móng trước đã. Cho nên nếu anh em nào đọc bài chia sẻ này mà còn thấy mơ hồ, thì xin mời anh em tham khảo lại những bài chia sẻ trước đó của mình nhé

Dưới đây là mục lục danh sách những bài mà mình đã viết:
map.jpg

OK, Tiến trình chuẩn bị và thực hiện của bài chia sẻ hôm nay sẽ như sau:
I Những thứ cần chuẩn bị
1. Một con Rasberry đã cài sẵn HASS
2. Một con trung tâm Sonoff RF Bridge đã Flash (Nếu chưa flash thì xin mời đọc lại bài ở mục lục bên trên)
3. Một con công tắc Sonoff Basic, hoặc T1,v.v...
4. Một con cảm biến mở cửa Sonoff DW1 hoặc cảm biến chuyển động Sonoff PIR2
5. Một chút kiên nhẫn và thời gian của anh em. T_T

Quảng cáo


II. Tiến trình thực hiện
1. Kết nối con RF Bridge vào HASS qua MQTT Broker (Mình định làm bài riêng nhưng thôi cho vô đây luôn vì ngắn)
1.1 Khai báo thông số MQTT trên con RF Bridge
1.2 Kiểm tra kết nối giữa bộ trung tâm RF Bridge và HASS​
2. Hiểu về bản chất của việc giao tiếp giữa các cảm biến và bộ trung tâm RF Bridge
3. Thêm component cảm biến vào hệ thống HASS
3.1 Tìm mã thiết bị cảm biến
3.2 khai báo cảm biến vào HASS​
4. Tạo Automation bật/tắt công tắc khi có tín hiệu từ cảm biến.

Bây giờ chúng ta sẽ đi lần lượt từng phần một nha.

1. Kết nối con RF Bridge vào HASS qua MQTT Broker
1.1 Khai báo thông số MQTT trên con RF Bridge

Quảng cáo


Cũng như những bài chia sẻ trước của em, thì tương tự mấy con Basic hay T1, con RF Bridge này cũng làm tương tự.
Chúng ta truy cập vào địa chỉ ip của con RF Bridge, sau đó vào phần Configuration > Configure MQTT

3.jpg

Ở trong phần MQTT Parameters, chúng ta tiến hành khai báo thông tin tài khoản MQTT như sau:
1.2 Kiểm tra kết nối giữa bộ trung tâm RF Bridge và HASS
Sau khi khai báo xong, chúng ta kiểm tra xem RF Bridgr và HASS đã kết nối với nhau qua MQTT chưa nha.
Vẫn ở màn hình cấu hình của son Sonoff T1, chúng ta trở ra màn hình chính bằng cách chọn vào Main Menu. Sau đó vào phần Console.

4.jpg

Nếu ở phần này, hệ thống trả về kết quả là Connected thì chúng ta đã kết nối thành công rồi nhé, còn nếu hệ thống liên trục trả về Failed, thì hãy kiểm tra lại các thông tin trong phần cấu hình MQTT bao gồm: Địa chỉ Host, tên đăng nhập, mật khẩu.... nếu vẫn không sai thì tiến hành kiểm tra lại cấu hình Add-on MQTT trên HASS nha anh em.
2. Hiểu về bản chất của việc giao tiếp giữa các cảm biến và bộ trung tâm RF Bridge
Bản chất của việc giao tiếp giữa Cảm biến PIR2 (hoặc DW1) anh em có thể hiểu như sau:
Xin mời anh em xem lại mô hình trên và theo dõi cuộc hội thoại vui vẻ này:

map.jpg
Vậy tóm lại, theo cách hiểu của em thì như sau:
3. Thêm component cảm biến vào hệ thống HASS
3.1 Tìm mã thiết bị cảm biến
Để tìm được xem con cảm biến nào truyền lên cho RF mã thiết bị là gì thì anh em truy cập vào IP con RF Bridge nhé, sau đó vào phần Console.
Ở đây sẽ hiện toàn bộ tình trạng nhận lệnh của con RF Bride.
Tiếp theo, để biết được mã thiết bị của con cảm biến anh em muốn cài, thì anh em cho con cảm biến chạy thử (Dùng tay quét qua). Sau đó sẽ có ngay dòng Console hiện lên như sau:
6.jpg
Nội dung trong phần Data chính là mã thiết bị của chúng ta. Anh em lưu lại để tiến hành add cảm biến vào HASS trong phần tiếp theo

3.2 khai báo cảm biến vào HASS
Để khai báo cảm biến vào hass, chúng ta làm tương tự như với mấy con công tăc mà mình có chia sẻ ở những bài trước nha.
Chúng ta vào file Configuration.yaml và khai báo thông tin cho con cảm biến ở dưới thẻ Binary_sensor: như sau;
Code:
binary_sensor:
  - platform: mqtt
    name: "Cảm biến WC tầng 2"
    state_topic: "tele/sonoff_rf_bridge/RESULT"   
    value_template: '{{value_json.RfReceived.Data}}'
    payload_on: "EBA09E"
    payload_off: "EBA09Eoff"
    device_class: motion
Anh em chú ý ở các mục sau
ok, vậy là đã khai báo xong rồi đó, bước tiếp theo là sử dụng
4. Tạo Automation bật/tắt công tắc khi có tín hiệu từ cảm biến.
Để sử dụng cảm biến mới khai báo vào HASS cho một tác vụ cụ thể nào đó, chúng ta vào file Automation.yaml (Cùng thư mục Config với file Configuration.yaml)
Chúng ta khai báo một tác vụ tự động bật đèn khi cảm biến phát hiện có chuyển động như sau:

Code:
#bật đèn hành lang khi có chuyển động (Cảm biến phòng cha mẹ)
- alias: Bật đèn hành lang
  hide_entity: true
  initial_state: 'on'
  trigger:
    - platform: state
      entity_id: binary_sensor.cam_bien_cua_phong_pama
      to: 'on'
  condition:
    - condition: state
      entity_id: switch.hanh_lang_tang_2
      state: 'off'
  action:
      service: switch.turn_on
      data:
        entity_id: switch.hanh_lang_tang_2

Giải thích một số thành phần quan trọng nhé:
7.jpg

OK, vậy là đã xong rồi, bonus thêm cho anh em code Tự động tắt sau 2 phút nhé
Code:
#tắt đèn hành lang sau 120s
- alias: Tắt đèn hành lang
  hide_entity: true
  initial_state: 'on'
  trigger:
    - platform: state
      entity_id: binary_sensor.cam_bien_hanh_lang_tang_2
      from: 'on'
      to: 'off'
      for:
        seconds: 120
  condition:
    - condition: state
      entity_id: binary_sensor.cam_bien_hanh_lang_tang_2
      state: 'off'
  action:
    - service: switch.turn_off
      data:
        entity_id: switch.hanh_lang_tang_2

Bây giờ là lúc chúng ta test xem cảm biến đã thực sự chạy được hay chưa. Chúc anh em thực hành thành công và biến được những thông tin trong bài chia sẻ này thành Kiến thức của bản thân nhé.

Mình tranh thủ viết bài vào giờ nghỉ nên viết hơi vội, còn chưa đầy đủ và chi tiết, mong anh em thông cảm
Xin chân thành cảm ơn anh em đã theo dõi.
8 bình luận
Chia sẻ

Xu hướng

apolong
TÍCH CỰC
5 năm
Nhờ Mod @Duy Luân chuyển giúp mình bài này vào khu vực Nhà Thông Minh với ạ. Mình cảm ơn
Sinh TP
ĐẠI BÀNG
5 năm
@apolong Cảm ơn loạt bài viết rất chi tiết và tâm huyết của bác. Cho mình hỏi vấn đề này: Mình có công tắc tuya 3 nút đã flash tasmota, add vào hassio OK rồi, khi mình muốn khi có chuyển động bật nút số 1 thì automations action làm thế nào vậy bác?
file automations.yaml
- alias: If there is motion and its dark turn on the Bathroom light
trigger:
platform: state
entity_id: binary_sensor.motion_sensor_158d0002277825
from: 'off'
to: 'on'
action:
- service: switch.turn_off
entity_id: switch.swttuya1
---> không bật được

trong file configuration.yaml
- platform: mqtt
name: "Master BTHR light"
state_topic: "stat/swttuya1/POWER1"
# swttuya1: ten cong tac tuya 1 nut 1
command_topic: "cmnd/swttuya1/POWER1"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: true
- platform: mqtt
name: "Master BTHR fan"
state_topic: "stat/swttuya1/POWER2"
# swttuya1: ten cong tac tuya 1-nut 2
command_topic: "cmnd/swttuya1/POWER2"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: true
apolong
TÍCH CỰC
5 năm
@Sinh TP Entity là cái này này bác

- service: switch.turn_off
entity_id: switch.Master_BTHR_light
apolong
TÍCH CỰC
5 năm
@apolong Vd name của cái công tắc là: cây cam
Thì lúc vào automation bác ghi là cay_cam
Sinh TP
ĐẠI BÀNG
5 năm
@apolong Hay quá, chạy được rồi, cảm ơn bác
marklost
TÍCH CỰC
5 năm
😃 Bài tâm huyết thế này mà ít bác quan tâm nhỉ.
bynhmynh
ĐẠI BÀNG
5 năm
Kiến thức hơi chuyên sâu ạ
@apolong Cảm ơn bài viết của bạn. Cho mình hỏi là sau khi cấu hình automation theo các bước trên, event chỉ chạy 1 lần sau mỗi lần restart lại home assistant. Vấn đề mình đang gặp là gì ạ?

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