DC-UPS или BMS с подключением к NUT server

1 лайк

Итого, резюмируя по


Мощность максимальную не проверял, но подозреваю, что держит, с другой стороны, 150Вт особого смысла нет на такой емкости держать, мини ПК на 20Вт 3.5часа + еще добавлю обвязку и будет 2.5-3 часа, чего более, чем достаточно для работы мониторинга и умного дома

Емкость заявленную показывает
Вот данные, которые смог выжать из данного устройства (Используя Node-RED)

  • Напряжение и ток на входе и на выходе берутся из самого ИБП, усредняются по плавающему окну
  • Мощность на входе и на выходе считается путем перемножения
  • Максимальная мощность и процент загрузки передаются и считаются самостоятельно на основе выходной мощности
  • Время работы от батареи тоже усредняется
  • Мощность батареи считается как разница между выходом и входом, обнуляется в зависимости от статуса. Таким образом, при разрядке выдается мощность, вытекающая из батареи, при зарядке - мощность, втекающая в батарею
  • Энергия на основе мощности получается путем интегрирования в самом HA
  • Статусы в виде бинарных сенсоров берутся из основного статуса ИБП
  • Температура батареи пересчитывается путем простейшего линейного преобразования т.к. по проводу ИБП отдает неправильные значения
  • Ток батареи очень странный, такое ощущение, что более или менее близко только во время работы от батареи, но… с учетом предыдущих данных он особо то и не нужен

Вот дашборд с графиками

В HomeAssistant
Показывает мощность и состояние ИБП


Штатный дашборд с энергией (пока не особо понял инфомативность, ну только в разреще денег за месяц)

Процесс переключился на батарею, через час включил питание, видно, как энергия сначала вытекала из батареи, а потом втекала в нее

ИБП постоянно переключается в режим подзарядки батареи


За счет этого видно, что он постоянно потребляет энергию

Используемое ПО

  • NUT для взаимодействия с ИБП по проводу
  • Node-RED используется как клиент NUT
    • Пересчитывает значения и выполняет логику
    • NUT сервер, т.к. он эмулирует сетевой NUT, но уже с корректно заполненными полями
    • Экспортирует в MQTT ИБП, поддерживат Home-Assisstant discovery
    • При изменении статусов отправляет логи в Victoria Logs
  • MQTT сервер хранит данные по ИБП в режиме pub-sub
  • NUT Exporter забирает метрики из Node-RED и выгружает их в Prometheus (Victoria metrics, если быть точными, и если еще точнее, то забирает vmagent из NUT Exporter)
  • Victoria Logs хранит изменение статусов и события
  • Home-Assistant получает данные и выполняет высокоуровневую логику типа уведомлений и выключения при разряде аккумулятора
  • Grafana строит дашборд на основе данных из Victoria Logs и Victoria Metrics

В Node-RED это выглядит так

Пока не разобрался с отображением данных балансировки, но они есть в приложении

2 лайка