Real time solar station monitoring system
What is dSolar?
dSolar is a complex of programs for monitoring and managing your solar power plant.
dSolar consists of:
- dSolard - the server program for collecting and processing information from equipment sensors
- dSolar - the client program is designed for data visualization
- dSolarLite - the combined application (both server and client) in one application
Dashboard
Video
Presentation
dSolarLite: first start
and configuration
Critical message
in Telegram
PV dynamic data
When clicking on the Solar Panel Indicator opens the PV dynamic data window. This window presents the data in section
existing equipment (MPPT tracker). Textual, graphical, diagrammatic information is displayed dynamically with a second-by-second change based on the latest
sensor values. For graphs, you can specify the visualization of data for the last minute, the last ten minutes, or the last hour.
PV historical data
Clicking on the icon located in the lower right corner of the solar panel indicator opens a
window of historical PV data. Histogram of energy and graphs by sensors.
Historical data on equipment sensors is available for any day. Graphs can be scaled to the seconds interval.
Battery dynamic data
When clicking on the Battery Panel Indicator opens the Battery dynamic data window. This window presents the data in section
existing equipment (Inverter). Textual, graphical, diagrammatic information is displayed dynamically with a second-by-second change based on the latest
sensor values. For graphs, you can specify the visualization of data for the last minute, the last ten minutes, or the last hour.
Battery historical data
Clicking on the icon located in the lower right corner of the Battery Panel Indicator opens a
window of historical Battery data. Histogram of energy and graphs by sensors.
The energy diagram is supplemented by two graphs:
- "Δ Delta" - the difference between charge and discharge energy
- "Σ Summation" - the amount of energy from the beginning of the day/month, year
Historical data on equipment sensors is available for any day. Graphs can be scaled to the seconds interval.
Energy use
Clicking on the icon located in the lower right corner of the transducer panel indicator opens a
window of Energy use data.
Power use
Clicking on the icon located in the lower right corner of the transducer panel indicator opens a
window of Power use data.
Solar generation forecast
Based on forecasts of solar radiation and real energy generation by your solar station for the previous days,
forecasts of solar generation for the next 7 days and daily forecast charts are created.
Server message
The program informs about server communication problems with the equipment by showing the server message icon on the dashboard.
Clicking on the icon takes you to the window with list of all existing server messages.
Also, this list is available from the main menu.
Viewing the full text of the server message is also available.
Messages in Telegram
The program can send critical messages to the Telegram messenger.
By default, messages are not sent.
To send critical messages, it is necessary to activate a specific message and specify the limit parameters of sensor values.
Also, you need to connect the dSolard_bot
Winter ESS
Winter ESS is designed to optimally use energy from various sources (PV, Battery, Grid) to ensure minimal energy
loss and increase battery life.
Winter ESS manages the moments of connection/disconnection from the grid, battery charging/discharging,
and battery charging to the absorption state depending on the set SOC and charging current values.
The current state in which the Winter ESS is located is displayed on the instrument panel,
with information about the main parameters of the transition from one state to another.
For correct operation of Winter ESS, the following options must be set in the Deye/Sunsynk inverter settings:
- Disable "Time of use" mode
- Choose Energy pattern "Load First" mode
To connect/disconnect from the grid, a controlled external relay must be used.
Solar panel indicator
If the indicator is used on the main instrument panel where they are displayed
generalized data on all generating equipment. Otherwise, data on specific equipment is displayed.
Indicators of the indicator (from left to right, top to bottom):
- Maximum power for the current day
- Cyclic values of voltage, current, power, temperature separately for each of the strings
- Instantaneous power value
- Percentage of the instantaneous power value relative to the nominal value (set during equipment configuration)
- Energy generated during the current day
- Solar generation forecast for today
- Solar generation forecast for tomorrow
Battery indicator
If the indicator is used on the main instrument panel, they are displayed
generalized data on batteries. Otherwise, data on specific equipment is displayed.
Indicators of the indicator (from left to right, top to bottom):
- Cyclic values of voltage, current, power, SOC separately for each of the device
- Battery state: Charge(Ch), Discharge(Di), Float(Fl), Absorption(Ab)
- Maximum charging current for the current day
- Maximum discharge current for the current day
- Maximum charge capacity for the current day
- Maximum discharge capacity for the current day
- Battery charge in percent
- Battery voltage
- Instantaneous charge/discharge power value
- Instantaneous charge/discharge current value
- Percentage of power from maximum
- Total charge energy for the current day
- Total discharge energy for the current day
- Remaining charge/discharge time
- Energy in ampere-hours until fully charged
Load indicator
If the indicator is used on the main instrument panel, they are displayed
generalized load data. Otherwise, data on specific equipment is displayed.
Indicators of the indicator (from left to right, top to bottom):
- Maximum load capacity for the current day
- Instantaneous load power value
- Percentage of power from maximum
- Total energy consumed by the load for the current day
Grid indicator
If the indicator is used on the main instrument panel, they are displayed
data over the public grid.
Indicators of the indicator (from left to right, top to bottom):
- Frequency of alternating current of the grid
- Maximum power consumption for the current day
- Maximum export capacity for the current day
- Off Grid - signals the physical disconnection of the grid from the inverters
- Instantaneous values of power, voltage and percentage of instantaneous power from equipment power
- Total energy consumption for the current day
- Total energy exported for the current day
Transducer indicator
Indicator is used on the main instrument panel where they are displayed
data from the sensors of the transducer.
Temperature indicator sliders have dynamic initial and final temperature values, which are, respectively, the minimum
and the maximum temperature value for the current day.
Indicators of the indicator (from left to right, top to bottom):
- AC frequency of the transducer
- Transducer voltage
- Transducer efficiency(useful energy ÷ all energy) and the power lost during invertion
- Current temperature value of the DC transformer
- Current radiator temperature value
- The transducer's own energy consumption for the current day
Architecture
The real-time solar monitoring system is built on the basis of client-server technology.
dSolard server program (or dSolarLite all in one program) operates on a Raspbery or Linux x86_64 microcomputer
(Android and Linux x86_64 for dSolarLite) and communicates with the equipment
by receiving and storing sensor data every seconds.
The dSolar client program is designed for data processing and visualization, it runs on Windows and Android.
Number of dSolar client programs that can be connected to one server dSolard or dSolarLite is not limited.
All of them will receive data from the server in asynchronous mode.
That is, immediately as soon as the data arrives from the equipment sensors.
The dSolarLite program is both a server and a client (all in one).
To receive monitoring data via the Internet,
you need to mapped port 7493 through your router to the dSolard or dSolarLite server.
Two ways to use
The first way - with use dSolard:
- Install the dSolard server progran on the Linux MiniPC for store data in the database and
communicate with equipment via rs485 or wifi;
- Use the dSolar client program for local or remote monitoring;
The second way - with use dSolarLite:
- Install the dSolarLite progran on the Linux desktop for communicate with equipment via rs485 or wifi
and store data in the database and for local monitoring,
or on the Android tablet for communicate with equipment via wifi and
store data in the database and for local monitoring;
- Use the dSolar client program for remote monitoring;
Step by step actions when using: |
dSolard |
dSolarLite |
1. Install the dSolard server program on mini-PC |
1. Install the dSolarLite program on Android or mini-PC |
2. Run the dSolard server program in configure mode as: $ ./dSolard configure |
2. Run the dSolarLite program |
3. Install the dSolar client program to any device in the local network |
3. Add equipment using the dSolarLite program interface |
4. Connect via local network to the dSolard server from the dSolar client |
4. Restart the dSolarLite program |
5. Add equipment using the dSolar program interface |
|
6. Restart the dSolard server |
|
7. In addition, you can use the dSolar client program to communicate with the dSolard(dSolarLite) server
both from the local network and from the Internet.
|
Differences when using dSolard or dSolarLite programs for data storage |
Property |
dSolard server |
dSolarLite |
1. Data storage period with a second interval |
40 days |
24 hours |
2. Data storage period with a 10 second interval |
forever |
forever |
3. Connect to equipment |
rs485 or wifi |
rs485 or wifi for Linux; wifi for Android |
Equipment
The dSolard server or dSolarLite processes data from the following equipment:
The equipment is connected to the Raspberry or MiniPC using specialized cables with a built-in inverter
interfaces rs485 to USB (for Deye, SunSynk and Epever) or wifi (for Deye, SunSynk), VE.Direct to USB (for Victron SmartShunt).
Connector for Deye
SUN-6K-SG03LP1-EU
Pinout of RS485 cable for
Deye, Sunsync
Victron
For testers only.
If you have time and inspiration, you can join in testing the program for interaction with Victron equipment.
To do this, you need to install the dSolard server on the Cerbo device.
Current dSolard server version is 3.0.0-alpha1
ChangeLog
ver 3.0.0-alpha1 (17.12.2024)
- Scaning all victron devices connected to VECan bus
- Receiving ProductID and ProductSN for all detected device
- Receiving data from the device's battery input sensor
Installation steps:
- Connect to the Cerbo via ssh. Please, read the documentation
Venus OS: Root Access
- Run the following commands in sequence:
# cd /data/home
# mkdir dSolar
# cd dSolar
# wget http://doro.poltava.ua/dsolar/dSolardvenus.zip
# unzip dSolardvenus.zip
Upgrade steps (after the release of a new test version):
- Connect to the Cerbo via ssh
- Run the following commands in sequence:
# cd /data/home/dSolar
# rm -rf dbs dsolard.log dSolardvenus.zip
# wget http://doro.poltava.ua/dsolar/dSolardvenus.zip
# unzip dSolardvenus.zip
Test steps:
- Connect to the Cerbo via ssh
- Run the following commands in sequence:
# cd /data/home/dSolar
# ./dSolard
- After 60 seconds of program running, stop it by pressing the control-c button.
- Send file dsolard.log to email: gpsmd@ukr.net
Thank you very much!
Four channel relay block
I use the first channel of the relay block to dump the excess energy to heat the water.
And uses the second channel of relay block for disconnects the grid when it is not needed.
Consider the rules for turning on and off the water heating relay:
Water heating is turned on if:
Battery current exceeds 115 ampers or battery SOC exceeds 98 percents and battery current is greater -40 ampers.
Water heating is turned off if:
Battery current less than 70 ampers and battery SOC less than 97.5 percents or battery current less than -75 ampers.
Manual relay control is also possible:
The current state of the relay is displayed on the dashboard:
The list of relay events for the last 7 days:
I am using dtwonder four channel relay block.
Bought here:
dtwonder relay block
dtwonder Relay
To make the relay work with the dSolar server, you need to perform the following settings:
- Configure relay as TCP client
- Choose a Dingtian string as a protocol
- Set parameter Remote address as a dSolard server ip-address
- Set parameter Remote port as a 7494
- Set parameter Keep Alive Second as a 1
dSolard server installation
The dSolard, dSolarLite and dSolar programs do not require any additional configuration
operating systems on which they function.
Step-by-step instruction for install dSolard on Raspberry PI or Debian:
For run in command-line mode:
- Install Raspberry Pi OS (64-bit)
from Raspberry OS download or
Debian OS from Debian OS download
- Connect to Raspberry or Debian in console mode
- Run the following commands in sequence:
$ mkdir dSolar
$ mkdir dSolar/server
$ cd dSolar/server
Download
dSolard server for Raspberry or
Download
dSolard server for Linux x86_64
$ unzip dSolard.zip or dSolardlin.zip
- The application is ready to run. start server in console mode:
$ ./dSolard
For run in service mode:
- Follow up the procedures described for installation in command-line mode
- Edit the etc/dsolard file to replace all paths starting with /home/doro with your path (eg: /home/me)
according to which directory dSolard is located in.
- Run the following commands in sequence:
$ sudo cp etc/dsolard /etc/init.d
$ sudo ln -s /etc/init.d/dsolard /etc/rc3.d/S99dsolard
$ sudo ln -s /etc/init.d/dsolard /etc/rc5.d/S99dsolard
$ sudo ln -s /etc/init.d/dsolard /etc/rc0.d/K01dsolard
$ sudo ln -s /etc/init.d/dsolard /etc/rc6.d/K01dsolard
- It may be necessary to add your user to the dialout group if device files /dev/ttyUSB* are not accessible:
$ usermod -a -G dialout me
- Service is ready to run. start server in service mode:
$ sudo /etc/init.d/dsolard start
- If you need to stop the server, please execute the command:
$ sudo /etc/init.d/dsolard stop
Server upgrade
Step-by-step instruction for upgrade dSolard on Raspberry PI or Debian:
- Connect to Raspberry or Debian in console mode
- Stop dSolard server:
$ sudo /etc/init.d/dsolard stop
- Run the following commands in sequence:
$ cd dSolar/server
Download
dSolard server for Raspberry or
Download
dSolard server for Linux x86_64
$ unzip dSolard.zip or dSolardlin.zip
- The application is ready to run. Start server in console mode:
$ ./dSolard
or service mode:
$ sudo /etc/init.d/dsolard start
dSolar client installation
First of all, you need to specify the IP-address or dns-name of the dSolard(dSolarLite) server in the dSolar program settings.
Use all other settings according to your own preferences.
To receive monitoring data via the Internet, you need to mapped port 7493 through your router to the
dSolard or dSolarLite server.
Here is an example of a router configuration for mapping a dSolard or dSolarLite server port:
Configuration
After starting the client program for the first time, you must specify the IP address of the dSolard server in the settings:
The equipment configuration is allowed only when the dSolard server is running in configuration mode:
$ ./dSolard configure
For dSolarLite the equipment configuration is allowed only from local device on which the dSolarLite program is running.
And add your equipment:
When changing equipment communication data ("Port" or "MODBUS Address") or adding new equipment - it is necessary
restart the dSolard server or dSolarLite program.
After completing the equipment configuration, it is necessary to start dSolard server in
normal mode (without attribute "configure"):
Run in console mode:
$ ./dSolard
or run in service mode:
$ sudo /etc/init.d/dsolard start
Raspberry or mini PC
For the dSolard server I have successfully used raspberry, but recently, there has been a significant shortage of Raspberry computers. For my own use, I switched to a mini-PC.
Bought here: Beelink Mini S
I am satisfied with the computer.
Mini-PC as dSolard server
Privacy Policy
All programs presented on this site do not collect, transmit or use any personal information in any way.
License Policy
- The programs are offered for use on an "AS IS" basis. The programs are available for download from the developer's website.
Permission to run programs is provided by the developer. The program functions as long as the "License ID" key is valid.
Use of programs without the permission of the developer is prohibited.
Whether or not you use the programs is at your own discretion.
- The "License ID" key is created automatically when the program is first started.
This key gives you allowed to use the program.
When deleting, renaming, uninstalling programs, the key may change.
The key can be used to provide users who have donated funds with additional bonuses in the form of additional functionality.
Keep save your key for which bonuses are issued.
- The developer does not guarantee absolute uninterrupted or error-free operation of the programs.
But makes all reasonable efforts and measures to prevent this.
- The developer does not bear any responsibility for direct or indirect damage,
indirectly or directly caused to anyone when using, refusing to use or not being able to use the programs.
- Running any of the programs means that you agree and accept this license policy.
Download ver: 2.5.0
dSolarLite (all in one):
Android (arm64-v8a, armeabi-v7a, x86_64)
Linux (x86_64)
dSolard (server):
Linux (x86_64)
Raspberry Pi (aarch64)
For testers only!
Please, go to the section Victron
Victron VenusOS (armv7l)
dSolar (client):
Android (x86, arm64-v8a, armeabi-v7a, x86_64)
Linux (x86_64)
Windows (x86_64)
ChangeLog
ver 2.5.0 (07.12.2024)
- Dashboard for portrait screen orientation
ver 2.4.0 (26.11.2024)
- Winter ESS
- Calculating load current based on values ??of other modbus registers,
rather than fake values ??of the corresponding Deye register
- Visual Load cos(phi)
- Modbus processing for high-power inverter series
- Program Configure: Degree as an integer on the Dashboard
ver 2.3.1 (04.11.2024)
ver 2.3.0 (29.10.2024)
ver 2.2.0 (15.10.2024)
- Sending critical messages in Telegram
ver 2.1.0 (24.09.2024)
ver 2.0.0 (20.08.2024)
- Use own charging algorithm
- Connect to Deye inverter via wifi
- dSolarLite - program assembly all in one (server and client)
- Communicate with Epever MPPT Tracer AN
ver 1.2.0 (26.04.2024)
- Press Key Control-plus/Control-minus for zoom graph
- Press Key Left,Right,Up,Down for move zommed graph
- PV historical data: Gistogram "Hour every Day"
- Transducer historical data: Gistogram "Energy Use"
- Load dynamic data
- New device: Wheather station via Ecowitt protocol
- Sheduler for ON/OFF Relay
- Server message for inverter grid relay on/off
- Extreme value PV General Power for dynamic PV graph
- Energy difference for the same roof of strings for dynamic PV graph
- Text to speach
- Solar Generation forecast
- PV historical data: Gistogram "Month every Year"
- Energy difference for the same roof of strings for historical PV graph
ver 1.1.0 (01.06.2023)
ver 1.0.0 (09.05.2023)
ver 0.0.5 (13.04.2023)
- Sensor portrait orientation of the screen
- Message from the server
- Optimization of statistical requests to the database
- Assembling the dSolar server for Linux x86_64 architecture
ver 0.0.4 (27.03.2023)
- Added German interface language selection (thanks Michael Killermann)
- Optimization of statistical queries to the database
- Added to the converter indicator the energy consumed by the equipment for the current day
- Bug Fix
ver 0.0.3 (23.03.2023)
- Converter indicator
- Network indicator
- Dashboard complete
ver 0.0.2 (15.03.2023)
- Histogram of energy PV from solar panels
- Battery indicator
- Consumption indicator
- Client version for Android
ver 0.0.1 (28.02.2023)
- General settings window
- List of equipment. Adding, removing, editing equipment.
- Receiving, storing, analyzing data from equipment sensors (Deye/Sunsync) related to the generation of solar panels.
- Solar panel indicator.
- Visualization window of detailed dynamic information in a section of specific equipment (MPPT tracker)
Copyright © Eduard Zozulya