Check this thread, it's quite useful.
The idea is that an app monitors device/events and sends the value of specific attributes ("power" in our case) to an InfluxDB server. So you'll have a database of time-series data, and you can set up a web-based Grafana server to create amazing visualizations (eye candy) about virtually anything in your system.
I host both InfluxDB and Grafana server on my NAS (Odroid HC2 with openmediavault).