Есть много оборудования солнечных контроллеров, 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-json
python3 --version
pip3 install crc16
git clone https://github.com/immortalserg/pycrc16.git
cd pycrc16
python setup.py build
sudo python setup.py install
lsusb
/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-clients
nano /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/wks
crontab -e
*/1 * * * * /opt/PvMonit/wks
cp /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-port0
PID: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