NILM: Smart Meter เดียว รู้การใช้ไฟทุกเครื่อง
การติดตั้ง smart plug ทุกปลั๊กในบ้านเพื่อ monitor การใช้ไฟนั้นแพงและยุ่งยาก Non-Intrusive Load Monitoring (NILM) เป็นแนวทางที่อ่านสัญญาณจาก smart meter หลักเพียงตัวเดียว แล้วใช้ algorithm แยกแยะว่า signature ที่เห็นในกระแสไฟฟ้าเป็นของอุปกรณ์ชิ้นใด เทคนิคนี้ได้รับการวิจัยจาก MIT ตั้งแต่ปี 1992 และปัจจุบันมี open-source toolkit ให้ใช้งานได้จริง
NILMTK: Open-Source NILM Toolkit
NILMTK (Non-Intrusive Load Monitoring Toolkit) เป็น Python library หลักสำหรับงานนี้: ขั้นตอนการทำงาน:
- Data Collection: อ่านค่า active power (W) และ reactive power (VAR) จาก smart meter ทุก 1–6 วินาที 2. Event Detection: ระบุ step changes ใน power trace (on/off transients) 3. Feature Extraction: วัด ΔP, ΔQ, rise time, steady-state level ของแต่ละ event 4. Appliance Matching: เปรียบเทียบกับ signature database 5. Disaggregation: แยกออกเป็น per-appliance timeseries
Dataset: REDD และ UK-DALE
สำหรับ training และ benchmarking: - REDD (Reference Energy Disaggregation Dataset): บ้าน 6 หลังในสหรัฐฯ มีข้อมูลทั้ง aggregate และ sub-meter - UK-DALE: บ้าน 5 หลังในสหราชอาณาจักร resolution 1/16,000 Hz
Algorithm ที่แนะนำ
1. Factorial Hidden Markov Model (FHMM) แต่ละอุปกรณ์เป็น Hidden Markov Model (on/off states) และ observe aggregate power เป็น sum ของทุก HMM NILMTK implement ไว้:
2. Combinatorial Optimization (CO) Enumerate ทุก combination ของ on/off states แล้วเลือก combination ที่ผลรวมใกล้เคียง observed power มากที่สุด เหมาะสำหรับบ้านที่มีอุปกรณ์น้อย (<10 ชนิด)
3. Sequence-to-Point (seq2point) Neural Network ใช้ sliding window ของ aggregate power (599 time steps) predict state ของอุปกรณ์ที่จุดกลาง เป็น state-of-the-art สำหรับเครื่องใช้ไฟฟ้าในบ้าน เช่น เครื่องซักผ้า ตู้เย็น เตาไมโครเวฟ:
Hardware สำหรับ Data Acquisition
ต้องการ smart meter ที่อ่านค่าได้ทุก 1–6 วินาที: - Shelly EM: 2-channel, 120A CT clamps, MQTT/REST API, ~2,500 บาท - Emporia Vue Gen 2: 16 circuit monitoring, WiFi, ~3,500 บาท (นำเข้า) - CircuitSetup energy monitor (ESPHome compatible): ~2,800 บาท สำหรับ NILM ที่แม่นยำ ควรใช้ Shelly EM ที่ sample rate 1 Hz เชื่อมต่อ → MQTT → InfluxDB → Python NILM script
ผลลัพธ์และ Accuracy
| อุปกรณ์ | F1-score (seq2point) | ความคุ้มค่า | |---------|---------------------|------------| | ตู้เย็น | 0.89 | สูง (รู้การทำงานของ compressor) | | เครื่องซักผ้า | 0.94 | สูงมาก (รู้ cycle) | | เครื่องปรับอากาศ | 0.78 | ปานกลาง (compressor variation) | | หลอดไฟ | 0.65 | ต่ำ (signature คล้ายกัน) | | หม้อหุงข้าว | 0.91 | สูง (power step ชัดเจน) |
ROI และ Use Case สำหรับบ้านไทย
- ตรวจจับอุปกรณ์เสียก่อนถึงเวลา: ตู้เย็นที่ compressor ทำงานนานผิดปกติ = กำลังจะพัง - ตรวจสอบพฤติกรรมการใช้ไฟ: รู้ว่าลูกเปิด A/C ทั้งคืนหรือไม่ - เชื่อมต่อ TOU Rate: ปรับเวลาซักผ้า/ล้างจานให้ตรง off-peak - ค่าติดตั้ง Shelly EM: 2,500 บาท vs smart plug 16 ตัว = ~12,000 บาท