diff --git a/custom_components/localthings/registry/capabilities/fridge.py b/custom_components/localthings/registry/capabilities/fridge.py index 89c7a31..0a44bea 100644 --- a/custom_components/localthings/registry/capabilities/fridge.py +++ b/custom_components/localthings/registry/capabilities/fridge.py @@ -249,7 +249,7 @@ SELF_CHECK = Capability( entity_category='diagnostic', exists_fn=lambda rep, resources: ( not rep or 'x.com.samsung.da.error' in rep), - value_fn=lambda v: ', '.join(v) if isinstance(v, list) else v), + value_fn=lambda v: (', '.join(v) if v else None) if isinstance(v, list) else v), ButtonDesc(key='selfcheck_start', field='', name='Start self-check', payload='Start', icon='mdi:play-circle-outline', entity_category='diagnostic', @@ -599,6 +599,8 @@ AI_ENERGY_LEVEL = Capability( href='/energy/ailevel/vs/0', poll_tier='cold', entities=( + # Only levels '1'/'2' have translated labels in strings.json/translations; + # a higher supportedAiLevel entry renders as its raw value until added. SelectDesc(key='ai_energy_level', field='aiLevel', name='AI energy level', icon='mdi:leaf', translation_key='ai_energy_level', diff --git a/tests/test_fridge_capabilities.py b/tests/test_fridge_capabilities.py index b57f59e..fa0f470 100644 --- a/tests/test_fridge_capabilities.py +++ b/tests/test_fridge_capabilities.py @@ -260,6 +260,12 @@ class TestSelfCheckError: desc = self._desc() assert desc.value_fn('DA_ERROR_NONE') == 'DA_ERROR_NONE' + def test_value_none_for_empty_list(self): + """An empty error list means no value to show -- None (unknown), + not an empty string.""" + desc = self._desc() + assert desc.value_fn([]) is None + class TestAiEnergyLevel: """AI energy-saving level select on /energy/ailevel/vs/0 -- only