fix: render selfcheck_error as no-value on empty list; document ai_energy_level level labels

This commit is contained in:
Tim Schindler
2026-07-22 09:04:24 +02:00
parent 2a0a9f32ee
commit 0cc9d8e511
2 changed files with 9 additions and 1 deletions
@@ -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',
+6
View File
@@ -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