Задача
Цель — проверить возможность локального чтения параметров гибридного инвертора Deye SUN-3.6/5/6/7.6/8K-SG05LP1-EU-SM2 контроллером Wiren Board 7 или 8.
Официальное руководство подтверждает контакты выделенного RS485-порта, но не описывает его как универсальный Modbus slave для стороннего контроллера и не публикует карту регистров. Поэтому материал нельзя считать готовой монтажной инструкцией до проверки конкретной ревизии и прошивки на стенде.
Физическое подключение
В Appendix I руководства для этой серии выделенному порту RS485 назначены два контакта: pin 4 = 485-B и pin 5 = 485-A. Для остальных контактов этого порта назначение в таблице не указано. Контакты 1/2/3 относятся к соседнему BMS-порту и не должны переноситься на RS485.
| Deye RJ45 | Назначение | Wiren Board |
|---|---|---|
pin 4 | 485-B | B |
pin 5 | 485-A | A |
| остальные | не назначены в таблице руководства | не подключать без отдельного подтверждения |
Настройки порта
Параметры 9600 8N1, адрес 1 и работа порта в режиме Modbus slave встречаются в сторонних интеграциях Deye/Sunsynk, но для этой модели и конкретной прошивки они не подтверждены официальным руководством. Начинайте только с чтения и не записывайте регистры.
Как проверять путь данных в ПО WB
- Если инвертор отвечает как Modbus RTU slave, wb-mqtt-serial может опрашивать его через RS-485 порт контроллера.
- Только подтверждённый регистр следует добавлять в JSON-шаблон и публиковать как MQTT-контрол.
- После сверки значения с экраном инвертора wb-mqtt-db может сохранять его историю.
- График в Web UI настраивают последним: он не подтверждает правильность адреса, масштаба или знака регистра.
Неподтверждённая карта регистров
Следующие адреса собраны из сторонних интеграций Deye/Sunsynk. Они оставлены как план стендовой проверки, а не как официальная карта этой серии. Не используйте их для записи и сверяйте каждое значение с экраном инвертора.
| Регистр | Канал | Формат | Масштаб | Ед. | График |
|---|---|---|---|---|---|
184 | Battery SOC | u16 | 1 | % | АКБ |
183 | Battery Voltage | u16 | 0.01 | V | АКБ |
191 | Battery Current | s16 | 0.01 | A | АКБ |
190 | Battery Power | s16 | 1 | W | АКБ |
186 | PV1 Power | s16 | 1 | W | PV |
187 | PV2 Power | s16 | 1 | W | PV |
109/111 | PV1/PV2 Voltage | u16 | 0.1 | V | PV |
110/112 | PV1/PV2 Current | u16 | 0.1 | A | PV |
169 | Grid Power | s16 | 1 | W | сеть |
172 | Grid CT Power | s16 | 1 | W | сеть |
150 | Grid Voltage | u16 | 0.1 | V | сеть |
79 | Grid Frequency | u16 | 0.01 | Hz | сеть |
178 | Load Power | s16 | 1 | W | дом |
108 | Day PV Energy | u16 | 0.1 | kWh | энергия |
76/77 | Day Grid Import/Export | u16 | 0.1 | kWh | энергия |
96/97 | Total PV Energy | u32 | 0.1 | kWh | энергия |
90/91/182 | температуры | s16 | 0.1, offset −100 | deg C | диагностика |
Стартовый шаблон 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-устройство Deye | WB создаст устройство на нужном 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, тип регистра, адрес и формат данных.
/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 Power | 10 секунд |
| Сеть и температуры | Grid Voltage, Frequency, DC/AC Temperature | 60 секунд |
| Энергия | Day/Total kWh | 5 минут |
Проверка после подключения
- В Web UI проверьте, что устройство Deye появилось без красной ошибки.
- Откройте MQTT-топики и убедитесь, что меняются PV Power, Load Power и Battery SOC.
- Проверьте знак
Grid Power: при импорте и экспорте он должен меняться ожидаемо. - Проверьте знак
Battery Power: при заряде и разряде он должен отличаться направлением. - Откройте историю канала и убедитесь, что точки появляются в графике.
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 лучше проверить за сутки: накопление должно быть монотонным.
Источники и границы проверки
- официальное руководство Deye SUN-3.6–8K-SG05LP1-EU-SM2 — распиновка выделенного RS485-порта, Appendix I;
- официальная JSON Schema wb-mqtt-serial — структура пользовательского шаблона;
- официальная документация драйвера wb-mqtt-serial — каталоги пользовательских шаблонов и перезагрузка конфигуратора;
- обсуждение kellerza/sunsynk #489 — только сторонний опыт, не замена документации Deye.
Итог
Подтверждена только физическая распиновка выделенного RS485-порта. Я не могу подтвердить прямой Modbus-опрос этой серии контроллером Wiren Board без проверки на реальном инверторе. После стендового теста нужно зафиксировать ревизию, прошивку, параметры порта и контрольные значения регистров; только затем статью можно возвращать в индекс.