ก่อนหน้านี้ผมใช้งาน Smart Plug ของ Sonoff มาตลอด เพราะราคาที่ถูกและความเสถียรของตัวปลั๊กที่ทำงานได้ค่อนข้างดี เมื่อเทียบกับ TP-Link ตระกูล HS110 ที่เคยใช้มานาน และมักจะมีปัญหาต้องคอยรีบูตทุกๆ อาทิตย์

การใช้งาน Sonoff Smart Plug ก็ใช้งานมาได้เป็นอย่างดี โดยผมจะใช้ Sonoff ผ่าน Sonoff LAN โดย Integrate ผ่าน HACS อีกที (ไม่อยาก flash) และมีใช้งานผ่าน App eWelink บ้าง ในกรณีที่อยู่ตจว. และอยากเช็คสถานะของปลั๊ก

อย่างไรก็ตาม ในช่วงเดือนที่ผ่านมา กลับพบปัญหาคือ Plug หายไปใน eWelink App ซึ่งเข้าใจว่า เกิดจาก server side ของทาง eWelink เอง และดูเหมือนว่าตัวปลั๊กที่ผมใช้งานนั้น ทำ hard reset เพื่อ setup ใช้งานใหม่ไม่ได้

เมื่อความยุ่งยากเกิดขึ้น เลยจำเป็นต้องหาทางเลือกใหม่ และหันไปมอง TP-Link อีกครั้ง ก็พบว่า มีการออก product line "Tapo" ออกมาใหม่ ซึ่งใช้แอพ Tapo แทน Kasa เดิม แถมราคาก็เป็นมิตรมากขึ้น (หาซื้อได้ในราคา 2 ตัว ~ 500 บาท ** Aug 2021**) และเมื่อสำรวจคร่าวๆ ก็พบว่าเราสามารถ integrate เจ้า Tapo Smart Plug นี้ได้ไม่ยากมากมาย ผ่าน custom_components folder ได้เลย

ขั้นตอน Basic Setup

  • Download/Install App "Tapo" จาก Google Play/Apple App Store
  • เสียบปลั๊ก P100 (หาจุดที่อยู่ใกล้ๆ WIFI 2.4 GHz)
  • เปิดแอพ Tapo เพื่อลงทะเบียนใช้งาน
  • กดปุ่มเพิ่มอุปกรณ์ ในแอพจะบอกให้รอปลั๊กขึ้นสีส้มสลับเขียว แต่ที่ผมเจอคือมันเป็นสีส้มกระพริบอย่างเดียว ซึ่งก็สามารถเพิ่มปลั๊กเข้าไปได้ปกติ
  • หลังจากนั้น ก็ทดสอบใช้งาน โดยการเปิดปิดปลั๊ก (ใช้ได้ทาง Local WIFI หรือผ่าน Cloud)
  • Click ปุ่ม Setting เลือก "Device Info" เพื่อตรวจสอบ IP Address

ขั้นตอน Integrate กับ HA

  • Download custom integration script จาก github ไปไว้ที่ custom_components folder
cd /tmp
apk add git
git clone https://github.com/fishbigger/HomeAssistant-Tapo-P100-Control.git
mv tapo_p100_control /root/config/custom_components
  • Restart HA
  • เพิ่ม Tapo config เข้า configuration.yaml
switch:
  platform: tapo_p100_control
  ip_address: 192.168.x.x
  email: email@gmail.com
  password: Password123
  • Restart HA

เพียงเท่านั้นก็สามารถควบคุม TP-Link Tapo P100 ผ่าน HA ได้อย่างง่ายดาย ลองทดสอบการใช้งานผ่าน service: "switch.turn_on" หรือ "switch.turn_off" ได้เลย (Device/Entity: จะอ้างอิงตามชื่อ Plug ที่ตั้งชื่อใน app Tapo เช่น switch.MyPlug)