diy solar

diy solar

Solar Assistant MQTT decimal places

dddem

New Member
Joined
Jul 24, 2022
Messages
98
I have established communication with SA's MQTT server via Mosquitto but all the values I am getting are limited to one decimal place. Is there any way to adjust that?
 
Don't know about the inputs to Solar Assistant you have but none of my system data has anything beyond one decimal place to send.
 
Don't know about the inputs to Solar Assistant you have but none of my system data has anything beyond one decimal place to send.
Solarman shows 2 decimal places for the value I am interested in (grid frequency). See attached screenshot. Not sure why this does not make it to SA.

Edit: SA is connected to the inverter via RS485
 

Attachments

  • Screenshot_20230427-195358_SOLARMAN Smart.jpg
    Screenshot_20230427-195358_SOLARMAN Smart.jpg
    138.7 KB · Views: 10
Well that's why MQTT is only showing one decimal place, there is only one to send. As to why SA is truncating your input data, I don't know.
 
I'll drop a message to SA support see what comes out.
Hello, did you get any feedback?

I am interested in the same issue but for Victron SmartShunt which itself provides two decimal places. More decimal places are better for my boiler system which regulates the power based on the battery voltage, with more decimal places I can regulate it more precisely without fluctuations.

I found temporary a workaround with JK BMS (or at other BMS like DALY it will be the same) which provides minimal, average, and maximal cell voltage with a resolution of 1mV (0,001V). If I multiply the average cell voltage by the number of cells, I get the battery pack voltage with three decimal places.

The attached graph shows how it works clearly - blue is the voltage with a resolution of one decimal place, the violet is with three decimal places calculated from the average cell voltage.
 

Attachments

  • BattVoltage2.png
    BattVoltage2.png
    23.1 KB · Views: 3
  • BattVoltage.jpg
    BattVoltage.jpg
    71.5 KB · Views: 3
Last edited:
If I multiply the average cell voltage by the number of cells, I get the battery pack voltage with three decimal places.
If you only start with four significant digits, then you can't magic up more precision just by multiplying.

The result should be kept at four significant digits. Indeed the final digit will have an error range, in this case +/- 1

e.g. 3.352 could be anywhere between 3.3515 and 3.3525. Multiply by 16 and that's anywhere between 53.624 and 53.640.

Multiplying an average cell voltage of 3.352 V x 16 is 53.63 V +/- 0.01 V
 
Back
Top