Inverter Voltronic

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Вольтроник

Инструкция


Voltrronic 2E VP.JPG
Файл:Axpert V PF1 manual.pdf

Снимать данные с линукса

mpp-solar -p /dev/hidraw0 -c QPIGS   -I -P PI30

но работает лучше как минимум у меня через ком-порт и /dev/ttyUSB0
Но для этого нужен переходник USB -> COM
Если переходников несколько то лучше указывать by-id - /dev/serial/by-id/usb-1a86_USB2.0-Ser_-if00-port0

NUT

так как я хотел что бы инвертор прикинулся нормальным UPS а не вот это вот все то набросал простой скрипт для снятия данных (драйвер встроенный в NUT не заработал, написать свой на основе скрипта я не осилил)
Весь код написан на скорую руку, с кучей хардкода, так как надо было прям сейчас, а передывать пока нет времени
Логика работы такая:

  • скрипт mpp_nut_bridge.py (через systemd unit) работает в вечном цикле и складывает результат в файл /var/lib/nut/mpp.state
  • NUT умеет читать данные из внешнего файла через driver = dummy-ups
[mpp]
    driver = dummy-ups
    port = /var/lib/nut/mpp.state
    desc = "MPP via mppsolar"
  • для того что бы отдавать данные на zabbix используется бридж в SNMP

mpp_nut_bridge.py

mpp-nut-bridge.service

snmpd.conf

Часть конфига ответвенная за "проброс" запросов к snmpd
Тут три ветки

  • .1.3.6.1.2.1.33 "Стандартный" MIB - просто для теста, у меня в заббиксе он не используется
  • .1.3.6.1.4.1.318 MIB специфичный для APC - все части взяты из конфига темплейта zabbix, возможно в оригинальном MIB больше данных
  • .1.3.6.1.4.1.418 - ветка выбрана от фонаря и используется для мониторинга BMS батареи (это отдельная задача - мониторинг батареи Daly BMS)
  • ups-snmp-passpersist.py имя файла который дергать на запрос (ему передается тип изапроса GET/GETNEXT и OID, другие типы игнорируем)
pass .1.3.6.1.2.1.33 /etc/nut/ups-snmp-passpersist.py
pass .1.3.6.1.4.1.318 /etc/nut/ups-snmp-passpersist.py
pass .1.3.6.1.4.1.418 /etc/nut/batt-dale-snmp.py

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


ups-snmp-passpersist.py