Skip to content

ESPHome custom component to monitor APC UPS via RS232

License

Notifications You must be signed in to change notification settings

DieMetRik/esphome_apc_ups

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UPS APC <-> ESP32 <-> Home Assistant

disclaimer: Сразу скажу, что я не проф. программист, поэтому код может где то быть не элегантен.

Мой UPS: APC by Schneider Electric Smart-UPS SUA1500I, Имеет на борту USB и RS232

За основу протокола: http:https://www.apcupsd.org/manual/#apc-smart-protocol

Cхема кабеля: http:https://www.apcupsd.org/manual/#id40

По итогу все работает, интервал обновления ~10 сек

Было проведено порядка 10 различных схем подключения и только на 10-11 получилось.

Что тянется:

  • Входное напряжение
  • Выходное напряжение
  • Напряжение батареи
  • Уровень заряд батареи
  • Оставшееся время на батарее
  • Нагрузка
  • Температура
  • Частота сети
  • Последнее сообщение с UPS
  • Статус bit

Что считается и передает в esp32:

  • Статус: ONLINE/OFFLINE/ONBATT
  • Дата последнего обновления данных (время берется по NTP, нужно ESP в интернет)
  • Кол-во переходов с ONLINE на ONBATT (Сохраняется в EEPROM)

Использовал сделующие компоненты:

  • ESP32 38pin
  • Logic Level shifter
  • TTL <-> RS232
  • DB9 male connector

Покупал тут:

Схема подключения: Image alt

Кабель:

Image alt

Код для ESPhome в файле /esp32/ups-apc-protocol.yaml Папку /esp32/apc положить на сервер: /config/esphome/apc/

Пример для Home Assistant:

Image alt

About

ESPHome custom component to monitor APC UPS via RS232

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published