Package ru.gentoos.ehouse.assistant
Class ThresholdMonitorAssistant
java.lang.Object
ru.gentoos.ehouse.assistant.ThresholdMonitorAssistant
- All Implemented Interfaces:
Assistant
- Direct Known Subclasses:
ClimateAssistant,VoltageAssistant
Шаблон ассистента контроля одной метрики по порогам
(порт
e_lib.assistants.threshold.ThresholdMonitorAssistant).
Читает метрику, округляет и уведомляет через Notifier, когда
значение выходит за диапазон. Правила сравнения (паритет): value >=
thresholdHigh → handleHigh(java.lang.Object), value < thresholdLow →
handleLow(java.lang.Object). Округление: при rounding == 0 — усечение к нулю
(int()), иначе — half-even (round(x, n)).
-
Method Summary
Modifier and TypeMethodDescriptionvoidcheckValue(double value) Сравнивает значение с порогами и уведомляет при нарушении.voidcheckValue(double value, Double lowParam, Double highParam) Сравнивает значение с порогами (с возможностью переопределить их) и уведомляет при нарушении.getName()Человекочитаемое имя ассистента.abstract DoubleЧитает текущее значение метрики.booleanrun()Выполняет один цикл контроля.
-
Method Details
-
getName
Description copied from interface:AssistantЧеловекочитаемое имя ассистента. -
readMetric
Читает текущее значение метрики.- Returns:
- значение или
null, если прочитать не удалось
-
run
public boolean run()Выполняет один цикл контроля. Подкласс может переопределить, чтобы обернуть цикл в спан (паритет@observe). -
checkValue
public void checkValue(double value) Сравнивает значение с порогами и уведомляет при нарушении.- Parameters:
value- значение метрики
-
checkValue
Сравнивает значение с порогами (с возможностью переопределить их) и уведомляет при нарушении.- Parameters:
value- значение метрикиlowParam- переопределение нижнего порогаhighParam- переопределение верхнего порога
-