Zigbee.lux() not available?

Working on a device driver for a ZigBee sensor that reports illuminance.

When cluster: 0400 reports in a read attr - raw: message, the value: data is passed on to this call:

private parseIlluminance(description) {
	def illuminInt = Integer.parseInt(description,16)
	flux = zigbee.lux(illuminInt)
	return [
		name: 'illuminance',
		value: flux,
		unit: 'lux',
		isStateChange: true,
		descriptionText: "${device.displayName}: Illuminance is ${lux} lux"
	]
}

And I get this error:

No signature of method: com.hubitat.zigbee.Zigbee.lux() is applicable for argument types: (java.lang.Integer) values: [129] Possible solutions: off(), on(), dump(), any(), any(groovy.lang.Closure), use([Ljava.lang.Object;) on line 124

I also tried flux = zigbee.lux(illuminInt as Integer) but no change in the error. The values from Integer.parseInt() are integer, as seen in the above example error (values: [129]).

So is zigbee.lux() not available to use?

Correct, it’s not implemented.
lux for a cluster 0x0400 attribute value is:
Math.pow(10,(rawValue/10000))+ 1

Thanks. I tried Math.pow() at first, but the values were far too low, and I thought maybe zigbee.lux() would be available.

As it turns out, those pesky programmers at Xioami set up the conversion to lux in hardware, and the illuminance attribute value just needs to be converted straight into an integer, which I discovered is capped at 1000 lux! Talk about bending the rules.

No big deal, since this is a motion sensor and the illuminance value is only reported when a motion active attribute report is sent.