
Советник по поливу должен объяснять решение, а не просто выдавать команду "полить". У растения много причин выглядеть хуже: сухой субстрат, перелив, жара, слабый свет, пересадка, повреждение корней или ошибка датчика. Поэтому хорошая рекомендация строится на нескольких слоях данных и всегда учитывает безопасность.
В GrowerHub советник полезен тогда, когда показывает ход рассуждения: какие данные свежие, какой тренд влажности, когда был последний полив, есть ли лимиты, какая стадия роста и что записано в дневнике. Если этих данных нет, честнее попросить пользователя проверить растение, чем уверенно включать насос.
Слой 1: свежесть данных
Первый вопрос - можно ли доверять датчику прямо сейчас. Если влажность не обновлялась несколько часов, батарея почти разряжена или устройство потеряло связь, советник не должен считать значение актуальным. Старые данные лучше превращать в уведомление о проверке датчика.
Свежесть важнее точности до процента. Даже хороший датчик бесполезен, если контроллер принимает решение по вчерашнему значению. Поэтому рекомендации должны учитывать availability и время последнего измерения.
Слой 2: тренд, а не одно число
Одна точка влажности мало говорит. Если значение ниже порога, но резко упало после перестановки датчика, это не то же самое, что постепенное пересыхание за два дня. Если после полива влажность не поднялась, возможно, вода не дошла до датчика или трубка не работает.
Советник должен смотреть динамику: скорость падения, реакцию после полива, повторяемость цикла. Это помогает отличать нормальное высыхание от аварии. Подробная диагностика есть в статье перелив или недолив.
Слой 3: история действий
Последний полив, объем, подкормка, пересадка и изменение света меняют интерпретацию данных. Если растение пересадили вчера, оно может временно выглядеть хуже без немедленного изменения полива. Если недавно была подкормка, симптомы нужно рассматривать осторожнее. Если человек вручную поливал ночью, автоматический запуск утром может быть лишним.
Здесь нужен дневник. Он не заменяет датчики, а объясняет графики. Как вести записи без лишней нагрузки, описано в статье дневник растения.
Слой 4: стадия и зона
Рассада, взрослое растение и восстановление после пересадки требуют разных ожиданий. Один и тот же порог влажности может быть нормальным для одной стадии и рискованным для другой. Кроме того, советник должен понимать зону: горшок, грядка, бокс, теплица, общий резервуар, тип субстрата.
Если зона не описана, рекомендация должна быть осторожной. Лучше попросить пользователя уточнить, чем применять общий совет. Подробнее о стадиях - в статье стадии роста и настройки ухода.
Слой 5: безопасность
Даже если советник считает, что полив нужен, контроллер должен проверить лимиты: пауза после прошлого запуска, максимальная длительность, суточный объем, протечка, сервисный режим. Рекомендация не должна обходить аварийные стопы. Это особенно важно, если советник связан с автоматическим действием.
Вывод
Хороший советник не угадывает. Он проверяет свежесть данных, тренд, историю, стадию и безопасность, а затем объясняет рекомендацию. Такой подход делает GrowerHub помощником для наблюдения, а не черным ящиком, который поливает по одному числу.