paolosabatino / saj-mqtt

Python library and code to read and write registers via MQTT to SAJ H1 and similar power inverters
GNU General Public License v3.0
5 stars 2 forks source link

Parsing of registers #3

Open h3llrais3r opened 10 months ago

h3llrais3r commented 10 months ago

I see some weird (zero values) for registers where I would expect to see something. Let me explain with an example. This parsing is the result when my PV was producing, battery is charging, there is a load in the house, and no import/export from/to grid.

Sequence number: 00000000, packet datetime: 2023-11-09 10:06:48
Inverter type:    0, working mode: 2
Sample datetime: 2023-11-09 10:00:35
Heatsink temp: 24°C, leakage current: 3mA, iso4: 32767kΩ, Reconnection time: 0

Grid data:
Voltage: 231.5V         Current: 2.000A         Frequency: 49.98Hz
DC current: -366ma      Active power: 405W      Apparent power: 463W    Power factor: 0.9

Inverter data:
Voltage: 231.5V         Current: 1.680A         Frequency: 49.97Hz
Active Power: 361W      Apparent Power: 382W    Power factor: 0.945
Master Bus voltage: 387.1V      Slave bus voltage:388.0V

Output data:
Voltage: 231.7V         Current: 0.280A         Frequency: 49.98Hz
DC voltage: 13020mV     Active Power: 0W        Apparent power: 64W     Power factor: 0.0

Battery data:
Voltage: 53.5V          Current: -12.600A               Control Current 1: -6.300A      Control Current 2: -6.300A      
Power: -631W, -674VA            Temperature: 14.0 °C    Charge: 24.00%

Photovoltaic Arrays:
Array #1:       Voltage: 263.8V         Current: 1.5A           Power: 385W
Array #2:       Voltage: 273.6V         Current: 2.9A           Power: 791W

Current direction:
Photovoltaic: producing - Battery: charging - Grid: standby - Output: consuming

Power summary:
System total: 527W              Photovoltaic total: 1162W       Battery total: -635W    Grid total: 0W (0VA)
Inverter power: 0W (0VA)        Backup load: 0W (64VA)  unkown parameter: 0W
Smart meter power: 0W

I have some trouble with understanding the data outputs for grid, inverter, output and battery. Not sure what these current and volt values exactly mean... As I don't often see them matching the results in the "power summary". Not sure if you know what they exactly mean (active power vs apparent power) and if those values are useful for something?

If you look at the Power summary, it seems that:

Do you see similar results on your inverter? Or could it be that some registers are sending other values depending on the firmware/type of inverter? If you see similar results, maybe we can rename some outputs?

Example when no more PV production, battery was already discharged and all load is taken from the grid:

Current direction:
Photovoltaic: standby - Battery: standby - Grid: importing - Output: consuming

Power summary:
System total: 2965W             Photovoltaic total: 0W  Battery total: -1W      Grid total: 0W (0VA)
Inverter power: 0W (0VA)        Backup load: 0W (58VA)  unkown parameter: -2966W
Smart meter power: 0W

Here you can see that the unknown parameter shows the import from grid value. I would also expect that the smart meter power would show the same value as the unknown parameter as everything is taken from the grid in this case. (And I do have a smart meter connected 😉)

paolosabatino commented 10 months ago

This is my current output:

Sequence number: 00000000, packet datetime: 2023-11-09 12:49:47
Inverter type:    0, working mode: 2
Sample datetime: 2023-11-09 12:53:16
Heatsink temp: 36°C, leakage current: 3mA, iso4: 0kΩ, Reconnection time: 0

Grid data:
Voltage: 228.6V         Current: 4.090A         Frequency: 49.99Hz
DC current: -203ma      Active power: 906W      Apparent power: 934W    Power factor: 1.0

Inverter data:
Voltage: 228.1V         Current: 4.080A         Frequency: 50.00Hz
Active Power: 927W      Apparent Power: 947W    Power factor: 0.979
Master Bus voltage: 373.0V      Slave bus voltage:373.5V

Output data:
Voltage: 227.8V         Current: 0.830A         Frequency: 50.00Hz
DC voltage: 7520mV      Active Power: 33W       Apparent power: 189W    Power factor: 0.2

Battery data:
Voltage: 50.3V          Current: 0.600A         Control Current 1: 0.300A       Control Current 2: 0.300A
Power: 0W, 30VA         Temperature: 22.0 °C    Charge: 79.00%

Photovoltaic Arrays:
Array #1:       Voltage: 265.5V         Current: 1.7A           Power: 451W
Array #2:       Voltage: 270.3V         Current: 1.9A           Power: 505W

Current direction:
Photovoltaic: producing - Battery: standby - Grid: exporting - Output: consuming

Power summary:
System total: 62W               Photovoltaic total: 956W        Battery total: 0W       Grid total: 906W (0VA)
Inverter power: 927W (0VA)      Backup load: 33W (0VA)  unkown parameter: 894W
Smart meter power: -894W

photovoltaic energy     Today: 11.52 KWh                Month: 74.81 KWh                Year: 6764.49 KWh               Total: 6853.84 KWh
battery charge energy   Today: 3.30 KWh         Month: 24.02 KWh                Year: 945.52 KWh                Total: 989.53 KWh
battery supplied energy Today: 0.40 KWh         Month: 11.36 KWh                Year: 546.22 KWh                Total: 578.68 KWh
load power energy       Today: 1.49 KWh         Month: 27.77 KWh                Year: 1437.00 KWh               Total: 1492.10 KWh
backup load energy      Today: 0.79 KWh         Month: 19.30 KWh                Year: 1101.46 KWh               Total: 1151.22 KWh
grid exported energy    Today: 7.26 KWh         Month: 41.09 KWh                Year: 4959.66 KWh               Total: 4959.66 KWh
grid imported energy    Today: 0.13 KWh         Month: 6.31 KWh         Year: 154.28 KWh                Total: 154.28 KWh

As already said, some registers are incorrectly described in the documentation so they were guessed or also show something incoherent (for example the backup load: both mine and your case show something non coherent, but the documentation says the register contains that value... :man_shrugging: )

About the System load and grid load, it depends on the way your house load is connected. In my case, everything is on the backup line, so system load is "residual". To get correct reading though, you need the DSU666 smart meter correcly installed and connected to the inverter, otherwise the inverter can't get precise statistics of the current that goes to the grid and the current that goes to the house.

About the difference between Active and Apparent power, if you need an explanation of the difference between the two and how they are linked and you can check google for that. As general rule of thumb, keeping Apparent power as much close as possible to Active power is a good idea, and the inverter does some magic to adjust the power factor to do that.

h3llrais3r commented 10 months ago

To get correct reading though, you need the DSU666 smart meter correcly installed and connected to the inverter, otherwise the inverter can't get precise statistics of the current that goes to the grid and the current that goes to the house.

I have the DSU666 correctly installed and connected to the inverter (originally it was not working because the distance between my inverter and the smart meter was too long; my inverter didn't see any load from the house, but that's fixed now), but still not getting info for grid total, inverter power and smart meter power.

paolosabatino commented 10 months ago

I have the DSU666 correctly installed and connected to the inverter (originally it was not working because the distance between my inverter and the smart meter was too long; my inverter didn't see any load from the house, but that's fixed now), but still not getting info for grid total, inverter power and smart meter power.

Then I don't know; smart meter power is not described in the PDF document, but if I recall correctly, I found a mention on a PDF for another model, checked the registers and found it was populated.

I wonder if you see the value in the stats directly on the inverter display: you should see the realtime values reported by the smart meter looking into the grid statistics.

h3llrais3r commented 10 months ago

I wonder if you see the value in the stats directly on the inverter display: you should see the realtime values reported by the smart meter looking into the grid statistics.

Yes, values are correctly displayed on the inverter display... that's why I find it a bit strange that all these values are reporting 0...

h3llrais3r commented 10 months ago

Maybe the data that comes through is depending on how the setup is done. In my case, I have a 3 phase (3x400V + N) system, but I'm running a single phase H1 inverter. The smart meter is necessary to get the proper load detected in the inverter (which originally was not the case). Once the smart meter was properly working, the data on the inverter and the app seems correct. I still find it strange that things like load and grid are 0, but maybe that comes from the fact that it's not detected by the inverter itself, and the inverter relies on the values coming from the smart meter. But then I would expect to have a value for the smart meter... which I don't... However, I see some other power values on other non documented registers... 🤯

paolosabatino commented 10 months ago

I attach the document for another model (AS1). It is quite outdated, but can be inspected for some hints about other registers.

AS1Main control board and display board communication protocol.pdf