#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2 # This file is part of Checkmk (https://checkmk.com). It is subject to the terms and # conditions defined in the file COPYING, which is part of this source code package. from cmk.gui.i18n import _ from cmk.gui.plugins.wato.utils import ( CheckParameterRulespecWithItem, rulespec_registry, RulespecGroupCheckParametersEnvironment, ) from cmk.gui.valuespec import Dictionary, Integer, TextInput, Tuple def _parameter_valuespec_clever_pdu(): return Dictionary( elements=[ ( "voltage", Tuple( title=_("Voltage on Line"), elements=[ Integer(title=_("warning at"), unit=_("V")), Integer(title=_("critical at"), unit=_("V")), ], ), ), ( "current", Tuple( title=_("Current on Power Channel"), elements=[ Integer(title=_("warning if below"), unit=_("A")), Integer(title=_("critical if below"), unit=_("A")), ], ), ), ( "energy", Tuple( title=_("Active Energy of Line"), elements=[ Integer(title=_("warning at"), unit=_("W")), Integer(title=_("critical at"), unit=_("W")), ], ), ), ], ) rulespec_registry.register( CheckParameterRulespecWithItem( check_group_name="clever_pdu", group=RulespecGroupCheckParametersEnvironment, item_spec=lambda: TextInput( title=_("Line"), help=_("The Line Number. Example: 'Line 1'.") ), match_type="dict", parameter_valuespec=_parameter_valuespec_clever_pdu, title=lambda: _("Levels for Clever AC PDU Devices"), ) )