dSolar - real-time моніторинг сонячної станці на обладнанні Deye, Sunsynk, Epever, Victron

Щиро дякую за активність!!! Сам, не геть далеко від електронного світу, тому розумію що активність запит-відповідь забиває не такий вже і потужний канал передачі даних. Потрібно буде експерементувати (якби ж були в наявності всі пристрої для цього:cool:). Home Assistant підтримується у нас на рівні запитання - відповідь, нове оновлення і все вже по іншому! Думаю розуміють всі про що мова.
 
Почав дуже тормозити ПК ORANGE PC на якому стоїть dSolar. Зараз будь який запит до бази даних (наприклад відобразити графік PV, тільки одну криву дженерал), може виконуватись до хвилини. Монітор показує що в цей час процесор завантажений на 100%.
А в налаштування (запстити з опцією /configure) та зніміни будь що взагалі неможливо. Пише що зміни збережені успішно, а при переході у звичний режим видно що зміни не збереглись.

Як пришвидшити роботу? Допоможе тільки переход на біль нову платформу, чи діло в SD карці? Оперетивки там 1 ГБ, але показує що використовує\ тільки до 150 мб.
 
Почав дуже тормозити ПК ORANGE PC на якому стоїть dSolar. Зараз будь який запит до бази даних (наприклад відобразити графік PV, тільки одну криву дженерал), може виконуватись до хвилини. Монітор показує що в цей час процесор завантажений на 100%.
А в налаштування (запстити з опцією /configure) та зніміни будь що взагалі неможливо. Пише що зміни збережені успішно, а при переході у звичний режим видно що зміни не збереглись.

Як пришвидшити роботу? Допоможе тільки переход на біль нову платформу, чи діло в SD карці? Оперетивки там 1 ГБ, але показує що використовує\ тільки до 150 мб.
Зупиніть коректно сервер.
Коректно, це коли в каталозі dbs відсутні транзакційні файли
dsolar.dbs-shm
dsolar.dbs-wal.
Якщо вони є, запустіть сервер з консолі, дождіться падіння навантаження процесора до 1-5 відсотків і зупиніть сервер натиснувши в консолі ctrl+c.
Зробіть вакуум бази даних.

Для цього запустіть dSolard з опцією truncatetotime

Дождіться виконання. Може працювати кілька десятків хвилин.
Зупиніть коректно сервер.
Запустіть сервер в нормальному режимі.
Якщо не допоможе - проблема поза програмою.
 
Автоматичне керування сонячною електростанцією через зміну параметрів системи.
В вашому розпорядженні більше 30 сенсорів, віртуальних сенсорів, функцій дата-час, включаючи прогноз сонячної генерації, адаптований під особливості розміщення ваших сонячних панелей.
На основі сенсорів, ви створюєте математичні вирази, поєднуєте їх логічними операціями в правило.
При істинності правила виконуються, створені вами, команди керування обладнанням.
Наприклад:
* Ви можете ввімкнути заряд акумулятора при низьких цінах на електроенергію, та ввімкнути продаж на повну, в тому числі і з акумулятора, при високих.
* Можете зменшити струм заряду акумулятора при вході в стадію заряду абсорбція.
* Можете підтримувати SOC акумулятора в певних межах, а заряджати до абсорбції раз на визначену вами кількість днів.
* Або, сьогодні підзарядити АКБ більше, бо на завтра низький прогноз сонячної радіації.

Керованість обладнанням практично не обмежена. Керуванню підлягає будь-яке обладнання яке підтримує протокол modbus.

Дательніше:
http://doro.poltava.ua/dsolar/index.html#EnergyControl
 
Автоматичне керування сонячною електростанцією через зміну параметрів системи.
В вашому розпорядженні більше 30 сенсорів, віртуальних сенсорів, функцій дата-час, включаючи прогноз сонячної генерації, адаптований під особливості розміщення ваших сонячних панелей.
На основі сенсорів, ви створюєте математичні вирази, поєднуєте їх логічними операціями в правило.
При істинності правила виконуються, створені вами, команди керування обладнанням.
Наприклад:
* Ви можете ввімкнути заряд акумулятора при низьких цінах на електроенергію, та ввімкнути продаж на повну, в тому числі і з акумулятора, при високих.
* Можете зменшити струм заряду акумулятора при вході в стадію заряду абсорбція.
* Можете підтримувати SOC акумулятора в певних межах, а заряджати до абсорбції раз на визначену вами кількість днів.
* Або, сьогодні підзарядити АКБ більше, бо на завтра низький прогноз сонячної радіації.

Керованість обладнанням практично не обмежена. Керуванню підлягає будь-яке обладнання яке підтримує протокол modbus.

Дательніше:
http://doro.poltava.ua/dsolar/index.html#EnergyControl
Здесь бы подробнее, потому как не очень понятно)
На каком-нибудь примере.
 
Здесь бы подробнее, потому как не очень понятно)
На каком-нибудь примере.
Приклад є на скріншоті сайту.
Виконується команда для однофазного інвертора Deye, яка зменшує струм заряду акумулятора до 10 ампер якщо поточний стан заряду акумулятора є абсорбція і в налаштуваннях інвертора заданий струм заряду аумулятора більший за 10 ампер.
 
Приклад є на скріншоті сайту.
Виконується команда для однофазного інвертора Deye, яка зменшує струм заряду акумулятора до 10 ампер якщо поточний стан заряду акумулятора є абсорбція і в налаштуваннях інвертора заданий струм заряду аумулятора більший за 10 ампер.
А как снизить ток заряда АКБ например при 98%. И при зарядке до 100% через 2 часа вернуть значение тока обратно.
 
А как снизить ток заряда АКБ например при 98%.
Створіть правило з сенсором SOC, і опишіть модбас команду встановлення нового знначення заряду.
И при зарядке до 100% через 2 часа вернуть значение тока обратно.
Створіть правило з сенсором LastAbClockseconds, і опишіть модбас команду встановлення нового знначення заряду.
Але стан абсорбції програма повинна змогти визначити.
Для цього треба вказати параметри які розглядаються тут:

Але коректніше, струм повернути назад не при 100% а при переході в стан bulk.
Тобто після абсорбції і після флоат.
 

Вкладення

  • 1749724574759.png
    1749724574759.png
    100,8 Кб · Перегляди: 6
  • 1749724598356.png
    1749724598356.png
    14,5 Кб · Перегляди: 6
А где брать Modbus function, Address, Value?
Function & address з опису modbus протоколу вашого пристрою.
Value - задаєте ви, враховуючи коефіціент, який описаний в тому ж документі.

Для однофазної деї функція 0x10
Адреса регістру зі струмом заряду батареї - 210
 
Function & address з опису modbus протоколу вашого пристрою.
Value - задаєте ви, враховуючи коефіціент, який описаний в тому ж документі.

Для однофазної деї функція 0x10
Адреса регістру зі струмом заряду батареї - 210
Хорошо, а как тогда объяснить устройству, что снижение тока нужно выполнить именно в момент нароста SOC, а не в любой другой момент когда он выше 95%?

Или может просто создать два правила:
- 95% - снизить ток
- 94% - вернуть назад значение.
 
Останнє редагування:
Хорошо, а как тогда объяснить устройству, что снижение тока нужно выполнить именно в момент нароста SOC, а не в любой другой момент когда он выше 95%?
описати правило SOC >= 95.
soc 94 - правило не спрацьовує бо хибне
soc 95 - правило спрацювало бо істинне, запустило виконання команди
soc 96 - правило спрацьовує бо істинне, команда не виконується бо вже виконана
soc 94 - правило не спрацьовує бо хибне, ініціалізація дозволу на наступні виконання команди
soc 95 - правило спрацювало бо істинне. команда запущена бо в попередній раз виконана ініціалізація виконання

Тобто, вам нічого додатково робити не треба для того щоб після виконання команди при SOC 95 команда не виконувалась при SOC 96.

Команда виконується раз при істинності правила.
Наступне виконання команди буде після того як правило стане хибним, а потім істинним.
 
При під'єднані до програми двух інверторів, треба використовувати два USB-rs458, чи один і до нього під'єднати два інвертора та виставити різні адреси?

Зараз використовую два різні USB-rs458. Та є декілька зауважень, але хотілось би розуміти що я правельно роблю.

1. До одного інвертора під'єднаний АКБ. До другого ні (оба гибрідні Дея 48 в АКБ). Один інвертор показує 51,2 вольта (реальні), другий 11 вольт бо немає АКБ. Програма показує 31 вольт :)

2. Здається що PV входа переплутались. Ті до під'єднані до 1 інвертора, відображаться на 2му. І навпаки.
 
А как в этот конструкт добавить исполнение "только по нечётным дням", например?
Існує багато способів:
MonthDay in 1 3 5 7 9 ...... 29 31
або
MonthDay == $MonthDay % 2 + $MonthDay - 1
або
MonthDay == ($MonthDay % 2 == 1 ? $MonthDay + 0 : $MonthDay + 1)
 
При під'єднані до програми двух інверторів, треба використовувати два USB-rs458, чи один і до нього під'єднати два інвертора та виставити різні адреси?
Два кабелі. Адреси ті що в налаштуваннях інвертора
Зараз використовую два різні USB-rs458. Та є декілька зауважень, але хотілось би розуміти що я правельно роблю.

1. До одного інвертора під'єднаний АКБ. До другого ні (оба гибрідні Дея 48 в АКБ). Один інвертор показує 51,2 вольта (реальні), другий 11 вольт бо немає АКБ. Програма показує 31 вольт :)

При відсутності одного вимірювальника напруги, загальна напруга обчислюється як середнє значення.
Що є більш точним результатом якщо всі інвертори підключені до акб.
Відсутність акб не обробляється.
Можете або підключити акб, або описати цей інвертор в карті Modbus без опису регістрів батареї.
Або чекайте коли я допишу конфігурацію інвертора без АКБ якщо інвертор показує нільовий струм,
інакше все піде в розрахунок енергії і тут я нічого не зможу зробити - буде повна брехня,
і єдиний вихід - конфігурація цього інвертора через карту Modbus.

2. Здається що PV входа переплутались. Ті до під'єднані до 1 інвертора, відображаться на 2му. І навпаки.
дивно. поспостерігайте щоб впевнитись що дійсно так.
наприклад, почергове відключення стрінгів та перевірка потужності в програмі.
перепутатись якось складно. де це видно?
 
При під'єднані до програми двух інверторів, треба використовувати два USB-rs458, чи один і до нього під'єднати два інвертора та виставити різні адреси?

Зараз використовую два різні USB-rs458. Та є декілька зауважень, але хотілось би розуміти що я правельно роблю.

1. До одного інвертора під'єднаний АКБ. До другого ні (оба гибрідні Дея 48 в АКБ). Один інвертор показує 51,2 вольта (реальні), другий 11 вольт бо немає АКБ. Програма показує 31 вольт :)

2. Здається що PV входа переплутались. Ті до під'єднані до 1 інвертора, відображаться на 2му. І навпаки.
Если они работают на одну домашнюю сеть, то оба входа АКБ должны быть запараллелены на обоих инверторах (батарея общая).
 
Если они работают на одну домашнюю сеть, то оба входа АКБ должны быть запараллелены на обоих инверторах (батарея общая).
В теорії так. На практиці, при зеленом тарифі, для роботи з АКБ досить тільки одного інвертора. Другий працює як мережевий, тільки на віддачу в мережу. Навіть до порту LOAD не під'єднані споживачі. Точніше вимкнений автомат, бо в мене немає споживання одночасного більше 6 кВт по перше, а по друге, показники на інверторах стають дивні. Один все в мережу пхає, другий бере з мережі та віддає в навантаження. В результаті Лічильник рарахував одне, а ці двоє інверторів якусь нісенітницю. Тож поки вимкнув автомат на порту LOAD другого інвертора. Увімкнути паралельний режим роботи - поки не пробовув. На форумі кажуть не спрацює, бо один 6 кВт, другий 5 кВт, а треба однакові. Хоча хочу спробувати. Кабель для з'єднаня вже проклав, та тестувати немає коли :(

Якимсь дивом (враховуючи що я нічого не міняв), в мене запрацював зв'язом з інвертором по какбелю замість вайфай. То небо та земля! ні помилок, ні затримок :)
дивно. поспостерігайте щоб впевнитись що дійсно так.
наприклад, почергове відключення стрінгів та перевірка потужності в програмі.
перепутатись якось складно. де це видно?

В налаштуваннях поміняв /dev/ttyUSB1 та /dev/ttyUSB0 місцями. Все стало на місця. Дякую.
 
Назад
Угорі