MyCottage.cc

Deye
Wiren Board

проверка RS-485 перед интеграцией

Разбираем подтверждённую распиновку Deye SUN-3.6/5/6/7.6/8K-SG05LP1-EU-SM2 и границы экспериментальной интеграции с WB7/WB8.

← К списку статей

Задача

Цель — проверить возможность локального чтения параметров гибридного инвертора Deye SUN-3.6/5/6/7.6/8K-SG05LP1-EU-SM2 контроллером Wiren Board 7 или 8.

Официальное руководство подтверждает контакты выделенного RS485-порта, но не описывает его как универсальный Modbus slave для стороннего контроллера и не публикует карту регистров. Поэтому материал нельзя считать готовой монтажной инструкцией до проверки конкретной ревизии и прошивки на стенде.

Путь данных от Deye до графиков Wiren Board
Предполагаемый путь данных для стендовой проверки. Прямой Modbus-обмен этой ревизии пока не подтверждён.
Статус материала
Распиновка ниже подтверждена руководством Deye. Работу Modbus-опроса, карту регистров и готовый шаблон на физическом инверторе MyCottage.cc пока не подтвердил. До стендовой проверки статья закрыта от индексации.

Физическое подключение

В Appendix I руководства для этой серии выделенному порту RS485 назначены два контакта: pin 4 = 485-B и pin 5 = 485-A. Для остальных контактов этого порта назначение в таблице не указано. Контакты 1/2/3 относятся к соседнему BMS-порту и не должны переноситься на RS485.

Упрощенная распиновка RS-485 Deye и Wiren Board
Распиновка выделенного RS485-порта по официальному руководству Deye. Ориентацию RJ45 сверяйте по рисунку конкретной ревизии.
Deye RJ45НазначениеWiren Board
pin 4485-BB
pin 5485-AA
остальныене назначены в таблице руководстване подключать без отдельного подтверждения

Настройки порта

Параметры 9600 8N1, адрес 1 и работа порта в режиме Modbus slave встречаются в сторонних интеграциях Deye/Sunsynk, но для этой модели и конкретной прошивки они не подтверждены официальным руководством. Начинайте только с чтения и не записывайте регистры.

Как проверять путь данных в ПО WB

  1. Если инвертор отвечает как Modbus RTU slave, wb-mqtt-serial может опрашивать его через RS-485 порт контроллера.
  2. Только подтверждённый регистр следует добавлять в JSON-шаблон и публиковать как MQTT-контрол.
  3. После сверки значения с экраном инвертора wb-mqtt-db может сохранять его историю.
  4. График в Web UI настраивают последним: он не подтверждает правильность адреса, масштаба или знака регистра.

Неподтверждённая карта регистров

Следующие адреса собраны из сторонних интеграций Deye/Sunsynk. Они оставлены как план стендовой проверки, а не как официальная карта этой серии. Не используйте их для записи и сверяйте каждое значение с экраном инвертора.

РегистрКаналФорматМасштабЕд.График
184Battery SOCu161%АКБ
183Battery Voltageu160.01VАКБ
191Battery Currents160.01AАКБ
190Battery Powers161WАКБ
186PV1 Powers161WPV
187PV2 Powers161WPV
109/111PV1/PV2 Voltageu160.1VPV
110/112PV1/PV2 Currentu160.1APV
169Grid Powers161Wсеть
172Grid CT Powers161Wсеть
150Grid Voltageu160.1Vсеть
79Grid Frequencyu160.01Hzсеть
178Load Powers161Wдом
108Day PV Energyu160.1kWhэнергия
76/77Day Grid Import/Exportu160.1kWhэнергия
96/97Total PV Energyu320.1kWhэнергия
90/91/182температурыs160.1, offset −100deg Cдиагностика
План группировки проверяемых параметров Deye в Wiren Board
Предлагаемая группировка каналов после того, как адреса и масштабы будут подтверждены на стенде.

Стартовый шаблон wb-mqtt-serial

Экспериментальный JSON вынесен в отдельный файл: deye-sg05lp1-eu-sm2-wb-mqtt-serial-template.json. Поля размещены в структуре, описанной публичной JSON Schema Wiren Board, а синтаксис файла проверен JSON-парсером. Полную проверку самим wb-mqtt-serial и адреса регистров на этой серии MyCottage.cc пока не подтверждал.

{
  "device_type": "deye_sg05lp1_eu_sm2",
  "group": "g-inverters",
  "device": {
    "name": "Deye SUN-3.6/5/6/7.6/8K-SG05LP1-EU-SM2",
    "id": "deye_sg05lp1_eu_sm2",
    "max_read_registers": 32,
    "response_timeout_ms": 1000,
    "guard_interval_us": 4010,
    "protocol": "modbus",
    "channels": [
    { "name": "Battery SOC", "reg_type": "holding", "address": 184, "type": "value", "format": "u16", "scale": 1, "units": "%", "readonly": true },
    { "name": "PV1 Power", "reg_type": "holding", "address": 186, "type": "value", "format": "s16", "scale": 1, "units": "W", "readonly": true },
    { "name": "PV2 Power", "reg_type": "holding", "address": 187, "type": "value", "format": "s16", "scale": 1, "units": "W", "readonly": true },
    { "name": "Grid Power", "reg_type": "holding", "address": 169, "type": "value", "format": "s16", "scale": 1, "units": "W", "readonly": true },
    { "name": "Load Power", "reg_type": "holding", "address": 178, "type": "value", "format": "s16", "scale": 1, "units": "W", "readonly": true }
    ]
  }
}

Как добавить шаблон в WB7/WB8

В WB7 и WB8 используется один и тот же штатный механизм: wb-mqtt-serial берет JSON-шаблон устройства, а веб-интерфейс Wiren Board показывает его в списке типов Modbus-устройств. Предустановленные шаблоны лежат в /usr/share/wb-mqtt-serial/templates, а пользовательские лучше класть отдельно — в /etc/wb-mqtt-serial.conf.d/templates. Такой шаблон не потеряется при обновлении пакетов и имеет приоритет над штатными шаблонами с тем же типом.

ШагЧто сделатьЗачем
1Скачать файл deye-sg05lp1-eu-sm2-wb-mqtt-serial-template.jsonэто описание регистров Deye для wb-mqtt-serial
2Зайти на контроллер по SSH или открыть файловый менеджер WBнужно положить шаблон в системный каталог контроллера
3Создать каталог /etc/wb-mqtt-serial.conf.d/templates, если его ещё нетэто место для пользовательских шаблонов
4Скопировать JSON-файл в этот каталогпосле этого конфигуратор WB сможет увидеть новый тип устройства
5Подождать около 20 секунд или перезапустить wb-mqtt-confedконфигуратор перечитает список шаблонов
6В Web UI открыть настройку Serial-устройств и добавить Modbus-устройство DeyeWB создаст устройство на нужном RS-485 порту

Команды выполняются в двух разных местах. Сначала на контроллере создайте каталог:

ssh [email protected]
mkdir -p /etc/wb-mqtt-serial.conf.d/templates
exit

Затем на компьютере, где находится скачанный JSON-файл, скопируйте его и обновите список шаблонов:

scp deye-sg05lp1-eu-sm2-wb-mqtt-serial-template.json \
  [email protected]:/etc/wb-mqtt-serial.conf.d/templates/
ssh [email protected] systemctl restart wb-mqtt-confed

После копирования шаблона сначала проверьте его на отдельном RS-485-порту без других устройств. Параметры адреса и скорости задавайте только после сверки меню инвертора и фактического обмена. При отсутствии ответа остановитесь и повторно проверьте порт и ревизию, а не перебирайте подключения под напряжением.

systemctl restart wb-mqtt-serial
systemctl status wb-mqtt-serial --no-pager
mosquitto_sub -t '/devices/deye_sg05lp1_eu_sm2/#' -v

Если новый тип устройства не появился в списке, проверьте имя файла, валидность JSON и журнал wb-mqtt-serial. Если тип появился, но каналы остаются красными, проверяйте и физический обмен, и шаблон: порт, режим, адрес устройства, A/B, тип регистра, адрес и формат данных.

Важно для WB7/WB8
Не редактируйте штатные файлы в /usr/share/wb-mqtt-serial/templates: при обновлении системы они могут быть заменены. Для объекта используйте пользовательский каталог /etc/wb-mqtt-serial.conf.d/templates.

Как настроить графики после проверки регистров

Графики строятся по MQTT-контролам. Для этого каждый канал должен быть числовым: type: "value", единицы задаются через units, точность через precision. Для температур можно использовать type: "temperature", но для мощности, напряжения и тока сейчас лучше использовать value с единицами W, V, A.

Интервалы ниже — не спецификация Deye, а осторожные стартовые значения для уже подтверждённого чтения. Увеличьте их при ошибках обмена или высокой загрузке шины.

ГруппаКаналыСтартовый интервал
Быстрые мощностиPV1/PV2 Power, Grid Power, Load Power, Battery Power10 секунд
Сеть и температурыGrid Voltage, Frequency, DC/AC Temperature60 секунд
ЭнергияDay/Total kWh5 минут

Проверка после подключения

  1. В Web UI проверьте, что устройство Deye появилось без красной ошибки.
  2. Откройте MQTT-топики и убедитесь, что меняются PV Power, Load Power и Battery SOC.
  3. Проверьте знак Grid Power: при импорте и экспорте он должен меняться ожидаемо.
  4. Проверьте знак Battery Power: при заряде и разряде он должен отличаться направлением.
  5. Откройте историю канала и убедитесь, что точки появляются в графике.
mosquitto_sub -t '/devices/deye_sg05lp1_eu_sm2/controls/+/meta' -v
mosquitto_sub -t '/devices/deye_sg05lp1_eu_sm2/controls/+' -v

Типовые ошибки

СимптомВозможная причинаЧто проверить
Все каналы красныенет связи RS-485точный порт, адрес, скорость и полярность A/B
Ответов нетвыбран соседний RJ45-портмаркировку выделенного порта RS485 и руководство конкретной ревизии
Чтение нестабильнопомехи или неправильная топология линиикабель, длину, трассу и необходимость терминаторов по проекту RS-485; не использовать неподписанные контакты RJ45 как GND
Значения похожи на мусорневерный адрес, масштаб или знаковостьaddress, format, scale и offset по контрольному значению на экране инвертора
Энергия слишком мала или великаневерный формат 32-битного значенияu32 и порядок слов на стенде
График не появляетсянет истории или канал не числовойtype, units и работу wb-mqtt-db

Что важно проверить на объекте

  • PV1/PV2 должны расти днём и падать вечером.
  • Load Power должен примерно совпадать с реальной нагрузкой дома.
  • Grid Power должен показывать направление обмена с сетью.
  • Battery SOC должен совпадать с экраном инвертора или BMS.
  • Total Energy лучше проверить за сутки: накопление должно быть монотонным.

Источники и границы проверки

Итог

Подтверждена только физическая распиновка выделенного RS485-порта. Я не могу подтвердить прямой Modbus-опрос этой серии контроллером Wiren Board без проверки на реальном инверторе. После стендового теста нужно зафиксировать ревизию, прошивку, параметры порта и контрольные значения регистров; только затем статью можно возвращать в индекс.