Correct ZHA illumination conversion (#23853)
* fix illumination values * correct formula * update illuminance calculation * update test
This commit is contained in:
parent
9b21774392
commit
128ce589e1
2 changed files with 9 additions and 1 deletions
|
@ -24,6 +24,13 @@ def pass_through_formatter(value):
|
||||||
return 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):
|
def temperature_formatter(value):
|
||||||
"""Convert temperature data."""
|
"""Convert temperature data."""
|
||||||
if value is None:
|
if value is None:
|
||||||
|
@ -58,6 +65,7 @@ FORMATTER_FUNC_REGISTRY = {
|
||||||
TEMPERATURE: temperature_formatter,
|
TEMPERATURE: temperature_formatter,
|
||||||
PRESSURE: pressure_formatter,
|
PRESSURE: pressure_formatter,
|
||||||
ELECTRICAL_MEASUREMENT: active_power_formatter,
|
ELECTRICAL_MEASUREMENT: active_power_formatter,
|
||||||
|
ILLUMINANCE: illuminance_formatter,
|
||||||
GENERIC: pass_through_formatter,
|
GENERIC: pass_through_formatter,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -139,7 +139,7 @@ async def async_test_pressure(hass, device_info):
|
||||||
async def async_test_illuminance(hass, device_info):
|
async def async_test_illuminance(hass, device_info):
|
||||||
"""Test illuminance sensor."""
|
"""Test illuminance sensor."""
|
||||||
await send_attribute_report(hass, device_info["cluster"], 0, 10)
|
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):
|
async def async_test_metering(hass, device_info):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue