Есть много оборудования солнечных контроллеров, BMS и т.п. разных производителей, у каждого производителя своя программа для управления и мониторинга, например у меня Daly BMS, контроллер EASUN и ArSilicii. Производитель ArSilicii не дает спецификацию протокола и следовательно проблематично подсоединить это оборудование в общую систему, но Daly BMS и EASUN можно подключить. В статье я опишу устройства EASUN и Victron и способы их альтернативного подключения.
Оборудование WKS (EASUN и т.п.) Victron.
Установка.
заходим в консоль нашего одноплатника по ssh (в виндовс программа putty)
все команды будем выполнять от суперпользователя, по этому если Вы зашли не под пользователем root то в консоли выполним:
sudo su
вводим пароль пользователя под которым вошли. далее устанавливаем необходимые пакеты и ставим PvMonit
apt install aptitude php-cli php-yaml git sudo screen sshpass python3-pip
pip install pyserial
cd /opt
git clone https://framagit.org/kepon/PvMonit.git
cd PvMonit
cp config-default.yaml /opt/PvMonit/config.yaml
На этом установка завершена, есть несколько вариантов использования, в оригинальной статье запускается в качестве демона и устанавливается вэб сервис, но у меня Node-red и далее будет инструкция по подключению в любую систему автоматизации. Минус использования по оригинальной статье в том, что сложная интеграция например с HomeKit, сложно интегрировать другие устройства домашней автоматизации.
Настройка оборудования WKS (EASUN и т.п.).
устанавливаем необходимые пакеты
aptitude install python3-usb python3-libusb1 python3-jsonpython3 --versionpip3 install crc16git clone https://github.com/immortalserg/pycrc16.gitcd pycrc16python setup.py buildsudo python setup.py installlsusb/usr/bin/python3 /opt/PvMonit/bin/wks.py{"QPIRI": ["230.0", "13.0", "230.0", "50.0", "13.0", "3000", "3000", "48.0", "46.0", "42.0", "56.4", "53.0", "2", "15", "20", "1", "2", "2", "01", "1", "0", "54.0", "0"], "QPIGS": ["228.0", "50.0", "227.0", "50.0", "0917", "0897", "031", "476", "53.72", "001", "095", "0390", "0001", "059.6", "53.82", "00000", "10010111", "12", "04", "00052"], "QPIWS": ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]}apt install mosquitto-clientsnano /opt/PvMonit/wks#!/bin/bash RESULT=$(/usr/bin/python3 /opt/PvMonit/bin/wks.py) mosquitto_pub -h localhost -p 1883 -t wks -m "$RESULT"делаем скрипт выполняемым
chmod +x /opt/PvMonit/wkscrontab -e*/1 * * * * /opt/PvMonit/wkscp /opt/PvMonit/bin/wks.py /opt/PvMonit/bin/wks2.pyподключаем оборудование к одноплатнику и сразу смотрим его имя по id
ls -n /dev/serial/by-id/*lrwxrwxrwx 1 0 0 13 Feb 24 22:18 /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB1/opt/PvMonit/bin/vedirect.py /dev/ttyUSB1/opt/PvMonit/bin/vedirect.py /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0PID:0xA04A FW:119 SER#:HQ******** V:25660 I:500 VPV:53270 PPV:14 CS:3 ERR:0 LOAD:ON H19:3348 H20:1 H21:17 H22:33 H23:167 HSDS:52теперь по традиции всё это запихаем в mqtt, для этого сначала установим mqtt клиент
chmod +x /opt/PvMonit/vedделаем запускать каждую минуту в планировщик cron
crontab -eдобавляем строку запуска
*/1 * * * * /opt/PvMonit/vedсохраняем.
теперь все данные мы получим подписавшись на топик ved
Возможно подключение нескольких устройств, для этого надо для каждого устройства произвести настройки указанные выше только изменить название bash скрипта для каждого устройства.
BlueSolar MPPT 75/10, 70/15, 75/14, 100/15, 100/30 rev1, 100/30 rev2, 150/35 rev1, 150/35 rev2, 150/45, 75/50, 100/50 rev1, 100/50 rev2, 150/60, 150/70, 150/85, 150/100
SmartSolar MPPT 250/100, 150/100*, 150/85*, 75/15, 75/10, 100/15, 100/30, 100/50, 150/35, 150/100 rev2, 150/85 rev2, 250/70, 250/85, 250/60, 250/45, 100/20, 100/20 48V, 150/45, 150/60, 150/70, 250/85 rev2, 250/100 rev2“
Phoenix Inverter 12V 250VA 230V*, 24V 250VA 230V*, 48V 250VA 230V*, 12V 375VA 230V*, 24V 375VA 230V*, 48V 375VA 230V*, 12V 500VA 230V*, 24V 500VA 230V*, 48V 500VA 230V*, 12V 250VA 230V, 24V 250VA 230V, 48V 250VA 230V, 12V 250VA 120V, 24V 250VA 120V, 48V 250VA 120V, 12V 375VA 230V, 24V 375VA 230V, 48V 375VA 230V, 12V 375VA 120V, 24V 375VA 120V, 48V 375VA 120V, 12V 500VA 230V, 24V 500VA 230V, 48V 500VA 230V, 12V 500VA 120V, 24V 500VA 120V, 48V 500VA 120V, 12V 800VA 230V, 24V 800VA 230V, 48V 800VA 230V, 12V 800VA 120V, 24V 800VA 120V, 48V 800VA 120V, 12V 1200VA 230V, 24V 1200VA 230V, 48V 1200VA 230V, 12V 1200VA 120V, 24V 1200VA 120V, 48V 1200VA 120V