From c721ec8f8372ee238efe7f62f1b225e2c3458f23 Mon Sep 17 00:00:00 2001 From: dnlldl <32095302+dnlldl@users.noreply.github.com> Date: Wed, 19 Aug 2026 17:45:41 -0400 Subject: [PATCH 1/3] Update apc_symmetra.py Prevents overwriting the alternate level by the regular levels and fix the label --- cmk/plugins/apc/agent_based/apc_symmetra.py | 22 ++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/cmk/plugins/apc/agent_based/apc_symmetra.py b/cmk/plugins/apc/agent_based/apc_symmetra.py index f08e9bdc8f4..7cd72500513 100644 --- a/cmk/plugins/apc/agent_based/apc_symmetra.py +++ b/cmk/plugins/apc/agent_based/apc_symmetra.py @@ -296,16 +296,20 @@ def check_apc_symmetra(params: CheckParameters, section: ParsedSection) -> Check yield from check_levels( value=battery_capacity, levels_lower=("fixed", (alt_crit_capacity, alt_crit_capacity)), - label="delay after calibration", + metric_name="capacity", + render_func=render.percent, + boundaries=(0, 100), + label="Capacity during/after calibration", + ) + else: + yield from check_levels( + value=battery_capacity, + levels_lower=params["capacity"], + metric_name="capacity", + render_func=render.percent, + boundaries=(0, 100), + label="Capacity", ) - yield from check_levels( - value=battery_capacity, - levels_lower=params["capacity"], - metric_name="capacity", - render_func=render.percent, - boundaries=(0, 100), - label="Capacity", - ) if battery_time_remain: battery_time_remain = battery_time_remain / 100.0 From 2ccd15bc205c7f7c16b4b2e29097a4cf9a5149f2 Mon Sep 17 00:00:00 2001 From: dnlldl <32095302+dnlldl@users.noreply.github.com> Date: Wed, 19 Aug 2026 23:22:19 -0400 Subject: [PATCH 2/3] Update apc_symmetra.py I'm not sure I understand the whole original logic but the way I changed it, an additional condition is required --- cmk/plugins/apc/agent_based/apc_symmetra.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmk/plugins/apc/agent_based/apc_symmetra.py b/cmk/plugins/apc/agent_based/apc_symmetra.py index 7cd72500513..69f8bc30527 100644 --- a/cmk/plugins/apc/agent_based/apc_symmetra.py +++ b/cmk/plugins/apc/agent_based/apc_symmetra.py @@ -292,7 +292,7 @@ def check_apc_symmetra(params: CheckParameters, section: ParsedSection) -> Check ) if battery_capacity: - if alt_crit_capacity is not None and diff_sec < allowed_delay_sec: + if alt_crit_capacity is not None and diff_sec < allowed_delay_sec and calib_result is 3: yield from check_levels( value=battery_capacity, levels_lower=("fixed", (alt_crit_capacity, alt_crit_capacity)), From 2584e8223c230403c52e10eb9bb62445834748ab Mon Sep 17 00:00:00 2001 From: dnlldl <32095302+dnlldl@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:28:21 -0400 Subject: [PATCH 3/3] Update apc_symmetra.py --- cmk/plugins/apc/agent_based/apc_symmetra.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmk/plugins/apc/agent_based/apc_symmetra.py b/cmk/plugins/apc/agent_based/apc_symmetra.py index 69f8bc30527..5888533070a 100644 --- a/cmk/plugins/apc/agent_based/apc_symmetra.py +++ b/cmk/plugins/apc/agent_based/apc_symmetra.py @@ -292,7 +292,7 @@ def check_apc_symmetra(params: CheckParameters, section: ParsedSection) -> Check ) if battery_capacity: - if alt_crit_capacity is not None and diff_sec < allowed_delay_sec and calib_result is 3: + if alt_crit_capacity is not None and diff_sec < allowed_delay_sec and calib_result == "3": yield from check_levels( value=battery_capacity, levels_lower=("fixed", (alt_crit_capacity, alt_crit_capacity)),