Measuring calibrated Hue energy usage via bridge

By Atomstar on Sunday 4 August 2019 11:21 - Comments (1)
Category: Smarthome, Views: 1.348

I'm trying to break down where my household electricity usage goes, and lighting is one rather difficult to quantify since there are many devices that have somewhat irregular usage patterns. To alleviate this, I wrote a script to query the Hue (compatible) bulb brightness from the Hue bridge, convert this to power via brightness-to-power calibration curves, and store this to InfluxDB.

I also documented this along with the script at Github.


To store the energy usage in InfluxDB, I use the approach below in
  • Per lamp, query brightness, state (=on/off), uniqueid, modelid
  • Per lamp, compute power_min + (brightness*state)**2 * (power_max - power_min)
  • Query last data point from InfluxDB including timestamp
  • Write new energy use point in InfluxDB
Note that the state is required because the brightness is preserved even when the bulb is off.


To get brightness to power mapping, I used a Brennenstuhl PM 231 E power meter with rated power measurement precision of +/-1% or +/-0.2 W. For idle power, in some cases I confirmed the meter's linearity by a constant base load of 15W (incandescent bulb). The results are shown in the below table and graph.

TypeModelIDRated brightness (lm) Rated power (W) Measured max power (W) Idle power (W) Efficiency (lm/W)
Ikea Trådfri E27 TRADFRI bulb E27 W opal 1000lm 100012.512.80.378
Ikea Trådfri E14 TRADFRI bulb E14 WS opal 400lm 4005.34.40.491
Philips Hue White Ambiance E27 LTW010 80696.80.3118
Philips Hue White Ambiance E14 LTW01247064.50.3104
Philips Hue LightStrip+ (2 meter) LST002160020.516.70.196
Philips Hue LightStrip+ (4 meter) LST002350043.523.00.1152

Hue and Trådfri brightness to power calibration

Note that I have three different lightstrips, one of nominal 2.0m length, one of 2.7m, and one of 4.0m length. Surprisingly, the 4.0m version only uses ±40% more power (instead of expected 100%). It could be that the adapter/driver is overspec'ed for only 2m strips (since they can drive up to 10m), and therefore become more efficient at higher loads.

After getting brightness to power data, I normalized these and subtracted the 0 brightness (idle) power to get the curves below.

Hue and Trådfri brightness to normalized power calibration

Finally, I fitted the curve (yeah yeah, that's Excel, apologies) to get a calibration curve for all lights. I could have made a curve per bulb, but didn't feel this was worth the trouble.

Hue and Trådfri brightness to normalized power calibration with polynomial fit

Although I expected an exponential response curve due to eyesight behaving logarithmically, it turns out the response is quadratic. For simplicity I ignored the factor 0.88 and the linear component of the response.

Volgende: Upgrading Macbook SSD with Sintech m.2 adapters 09-'19 Upgrading Macbook SSD with Sintech m.2 adapters
Volgende: InfluxDB retention policy and data downsampling 06-'19 InfluxDB retention policy and data downsampling


By Tweakers user Kecin, Sunday 4 August 2019 11:43

Als iemand met veel Hue producten vind ik dit zeer interessant. Thanks for sharing!

Comments are closed