Correct ZHA illumination conversion (#23853)

* fix illumination values

* correct formula

* update illuminance calculation

* update test
This commit is contained in:
David F. Mulcahey 2019-05-14 01:16:41 -04:00 committed by Paulus Schoutsen
parent 9b21774392
commit 128ce589e1
2 changed files with 9 additions and 1 deletions

View File

@ -24,6 +24,13 @@ def pass_through_formatter(value):
return value
def illuminance_formatter(value):
"""Convert Illimination data."""
if value is None:
return None
return round(pow(10, ((value - 1) / 10000)), 1)
def temperature_formatter(value):
"""Convert temperature data."""
if value is None:
@ -58,6 +65,7 @@ FORMATTER_FUNC_REGISTRY = {
TEMPERATURE: temperature_formatter,
PRESSURE: pressure_formatter,
ELECTRICAL_MEASUREMENT: active_power_formatter,
ILLUMINANCE: illuminance_formatter,
GENERIC: pass_through_formatter,
}

View File

@ -139,7 +139,7 @@ async def async_test_pressure(hass, device_info):
async def async_test_illuminance(hass, device_info):
"""Test illuminance sensor."""
await send_attribute_report(hass, device_info["cluster"], 0, 10)
assert_state(hass, device_info, '10', 'lx')
assert_state(hass, device_info, '1.0', 'lx')
async def async_test_metering(hass, device_info):