Class ThresholdMonitorAssistant

java.lang.Object
ru.gentoos.ehouse.assistant.ThresholdMonitorAssistant
All Implemented Interfaces:
Assistant
Direct Known Subclasses:
ClimateAssistant, VoltageAssistant

public abstract class ThresholdMonitorAssistant extends Object implements Assistant
Шаблон ассистента контроля одной метрики по порогам (порт 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 Type
    Method
    Description
    void
    checkValue(double value)
    Сравнивает значение с порогами и уведомляет при нарушении.
    void
    checkValue(double value, Double lowParam, Double highParam)
    Сравнивает значение с порогами (с возможностью переопределить их) и уведомляет при нарушении.
    Человекочитаемое имя ассистента.
    abstract Double
    Читает текущее значение метрики.
    boolean
    run()
    Выполняет один цикл контроля.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getName

      public String getName()
      Description copied from interface: Assistant
      Человекочитаемое имя ассистента.
      Specified by:
      getName in interface Assistant
    • readMetric

      public abstract Double readMetric()
      Читает текущее значение метрики.
      Returns:
      значение или null, если прочитать не удалось
    • run

      public boolean run()
      Выполняет один цикл контроля. Подкласс может переопределить, чтобы обернуть цикл в спан (паритет @observe).
      Specified by:
      run in interface Assistant
      Returns:
      true, если цикл выполнен успешно; false при пропуске (недоступное состояние, ошибка) — паритет с возвратом True/False у DogWaterAssistant/ DogHeaterAssistant в Python
    • checkValue

      public void checkValue(double value)
      Сравнивает значение с порогами и уведомляет при нарушении.
      Parameters:
      value - значение метрики
    • checkValue

      public void checkValue(double value, Double lowParam, Double highParam)
      Сравнивает значение с порогами (с возможностью переопределить их) и уведомляет при нарушении.
      Parameters:
      value - значение метрики
      lowParam - переопределение нижнего порога
      highParam - переопределение верхнего порога