Journal

Energy Disaggregation with NILM: Identify Per-Appliance Consumption from a Single Smart Meter

Energy Disaggregation ด้วย NILM: ระบุการใช้พลังงานรายเครื่องจาก Smart Meter เพียงตัวเดียว

May 12, 2026 · 1 min read
Energy Disaggregation with NILM: Identify Per-Appliance Consumption from a Single Smart Meter

NILM: One Smart Meter, Full Appliance-Level Insight

Installing smart plugs on every outlet is expensive and impractical. Non-Intrusive Load Monitoring (NILM) reads a single main smart meter and algorithmically disaggregates the aggregate power signal to identify individual appliance consumption — a technique pioneered at MIT in 1992 with modern open-source toolkits now making it practical for homes.

NILMTK: The Standard Toolkit

NILMTK is the primary Python library for NILM research and deployment. The pipeline: collect aggregate power at 1–6 second intervals → detect step-change events (on/off transients) → extract features (ΔP, ΔQ, rise time, steady-state level) → match against appliance signature database → output per-appliance timeseries.

Training Data: REDD and UK-DALE

REDD (6 US households with sub-metered ground truth) and UK-DALE (5 UK households at 1/16,000 Hz) are the standard benchmarks. NILMTK provides built-in loaders for both, enabling algorithm comparison before deploying on your own home data.

Recommended Algorithms

Factorial Hidden Markov Model (FHMM): Each appliance modeled as a 2-state HMM; observed aggregate power = sum of all HMM states. Computationally tractable for ≤15 appliances.

Seq2Point Neural Network: A 1D CNN operating on 599-sample sliding windows of aggregate power predicts the center-point state of a target appliance. State-of-the-art F1-scores: washing machine 0.94, rice cooker 0.91, refrigerator 0.89.

Hardware for Data Acquisition

  • Shelly EM (2,500 THB): 2-channel, 120A CT clamps, 1 Hz MQTT — recommended for NILM - CircuitSetup energy monitor (2,800 THB): ESPHome-compatible, 16-circuit Data flows Shelly EM → MQTT → InfluxDB → Python NILM inference script, with results feeding Home Assistant energy dashboards.

Thailand Use Cases

NILM enables detecting failing appliances before failure (refrigerator compressor running unusually long), monitoring children’s A/C usage without confrontation, and optimizing appliance scheduling to align with MEA off-peak TOU rates. Cost of one Shelly EM (2,500 THB) versus 16 individual smart plugs (~12,000 THB) makes the ROI compelling.

Questions & answers

How accurate is NILM for Thai household appliances?
Seq2point achieves F1-scores of 0.78–0.94 for major appliances, but requires training data from Thai homes to calibrate signatures — 220V 50Hz appliance models differ from the US-based REDD dataset.
What sample rate is required for accurate NILM?
Event-based NILM requires minimum 1 Hz (Shelly EM provides this). High-frequency NILM analyzing harmonic signatures requires >1 kHz but at significantly higher hardware cost.
Does NILM work with solar PV installations?
Yes, but use a 2-channel Shelly EM to separately measure grid import/export and solar generation. Calculate net consumption before feeding to the NILM algorithm to avoid solar intermittency corrupting appliance signatures.

Related reading