10/28/2019

Home Assistant : ติดตั้ง Tracking Wifi แจ้งเตือนผ่าน Slack+Mail

Home Assistant : ติดตั้ง Tracking Wifi แจ้งเตือนผ่าน Slack+Mail
IP: 192.168.0.50:8123
1. ติดตั้ง Home Assistant + Mqtt
https://intranet.sci.com/blog.php?u=281&b=1603

** ใช้วง 0 เพราะ Access point TP-Ling TL-WR841ND ไม่รองรับการ Ping ข้าม Subnet คนละวง ทำให้ Track Ping ไม่ติด**

2. สร้าง Device สร้างไฟล์ known_devices.yaml เพื่อให้นำมา Track ได้หลาย Devices เช่น
  1. 19LIB:
  2.   hide_if_away: false
  3.   icon:
  4.   mac:
  5.   name: 19LIB
  6.   picture:
  7.   track: true
  8.   vendor:
  9.   gravatar: suwit@scivalve.com
  10. 20WH:
  11.   hide_if_away: false
  12.   icon:
  13.   mac:
  14.   name: 20WH
  15.   picture:
  16.   track: true
  17.   vendor:
  18.   gravatar: suwit@scivalve.com
  19. 226MN:
  20.   hide_if_away: false
  21.   icon:
  22.   mac:
  23.   name: 226MN
  24.   picture:
  25.   track: true
  26.   vendor:
  27.   gravatar: suwit@scivalve.com


3. แก้ไฟล์ configuration.yaml
  1. #//////////// SCI ADD //////////////////#
  2. # interval_seconds ping every 30 seconds.
  3. # consider_home if ping not reply 300 seconds change status to away. Mark Not Use.
  4. device_tracker:
  5.   - platform: ping
  6.     interval_seconds: 30
  7.     #consider_home: 300
  8.     hosts:
  9.       19LIB: 192.168.0.19
  10.       20WH: 192.168.0.20
  11.       226MN: 192.168.0.226
  12.       223S2: 192.168.0.223
  13.       221PD1: 192.168.0.221
  14.       227PD2: 192.168.0.227
  15.       37QA: 192.168.0.37
  16.       173Test: 192.168.0.173
  17.  
  18. mqtt:
  19.   broker: 127.0.0.1
  20. notify:
  21.   - name: ha_slack
  22.     platform: slack
  23.     api_key: XXXXXXXXXXXXXXXXXXXXXXX Token ID
  24.     default_channel: '#wifi'
  25.  
  26.   - name: "SendMail"
  27.     platform: smtp
  28.     server: smtp.gmail.com
  29.     port: 587
  30.     timeout: 15
  31.     sender: scivalve.suwit@gmail.com
  32.     encryption: starttls
  33.     username: scivalve.suwit@gmail.com
  34.     password: xxxxxxxx
  35.     recipient:
  36.       - suwit.jph@gmail.com
  37.       - komkid@gmail.com
  38.       - seksan.kamt56@gmail.com
  39.     sender_name: Home Assistant Check WIFI


4. สร้าง Automation ส่งเมล์ และ ส่ง Slack เมื่อ Status Wifi ไม่ใช่ Home เช่น
  1. - id: '1569644672332'
  2.   alias: Check_173Test
  3.   trigger:
  4.   - entity_id: device_tracker.173test
  5.     platform: state
  6.   condition:
  7.   - after: '8:00'
  8.     before: '18:00'
  9.     condition: time
  10.   - condition: state
  11.     entity_id: device_tracker.173test
  12.     state: not_home
  13.   action:
  14.   - data:
  15.       message: 'Can''t connect WIFI 192.168.0.173 Test.! : {{ now ().year }}-{{ now
  16.         ().month }}-{{ now ().day }}_{{ now ().hour }}-{{ now ().minute }}-{{ now
  17.         ().second }}'
  18.     service: notify.sendmail
  19.   - data:
  20.       message: 'Can''t connect WIFI 192.168.0.173 Test.! : {{ now ().year }}-{{ now
  21.         ().month }}-{{ now ().day }}_{{ now ().hour }}-{{ now ().minute }}-{{ now
  22.         ().second }}'
  23.       target:
  24.       - '#wifi'
  25.       title: Wifi Loss
  26.     service: notify.ha_slack


5. สร้าง Channel ชื่อ wifi ที่ slack เพิ่ม User และต้อง add app sci-bot ด้วยไม่อย่างนั้นจะส่ง slack มาไม่ผ่าน
https://app.slack.com/client/T03LZ3H08/CNN6QLQ9F/user_profile/UG00D2V5F

Track Multi Device Example:
https://joshmccarty.com/track-homeaway-status-household-using-smart-phones-home-assistant/

https://www.home-assistant.io/components/device_tracker/


No comments:

Post a Comment