Inverter Voltronic: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
| Строка 216: | Строка 216: | ||
==<code>mpp-nut-bridge.service</code>== |
==<code>mpp-nut-bridge.service</code>== |
||
{{#spoiler:mpp-nut-bridge.service| |
{{#spoiler:mpp-nut-bridge.service| |
||
| + | <BR> |
||
* <code>/usr/local/virtualenvs/mppsolar/bin/python3 </code> - этот путь к <code>virtualenv</code> |
* <code>/usr/local/virtualenvs/mppsolar/bin/python3 </code> - этот путь к <code>virtualenv</code> |
||
| + | <BR> |
||
<PRE> |
<PRE> |
||
[Unit] |
[Unit] |
||
Версия 17:25, 15 января 2026
Вольтроник
Инструкция
Снимать данные с линукса
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.318MIB специфичный для 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
По сути этот конфиг на каждый запрос вызывает скрипт с параметрами (хорошо бы конечно сделать постоянно висящего демона что бы не форкать на каждый запрос но пока и так сойдет)