kellerza / sunsynk

Deye/Sunsynk Inverter Python library and Home Assistant OS Addon
https://kellerza.github.io/sunsynk/
MIT License
209 stars 88 forks source link

Optimal Read Batch Size & Allowable Gap for Solarman Dongle #313

Open alistairts opened 2 months ago

alistairts commented 2 months ago

What is the optimal batch size and allowable gap for the Solaman Dongle interface? I am hitting read/write limitations within my dongle which causes it to reboot and ponder life for up to 10min, so I want to know what values are best for these settings? For example, when moving the slider to set the battery SoC values, I land up selecting several incorrect values until I reach my desired value. But the interface has actually been writing each value in succession and I believe this is overloading the dongle. Here are my latest settings FYI...

MANUFACTURER: Sunsynk READ_ALLOW_GAP: 2 READ_SENSORS_BATCH_SIZE: 30 SCHEDULES:

kellerza commented 2 months ago

Do you have known SOC values? What if you set these via scripts, does it work any better?

I've never played around too much with the Solarman dongle... it's no fun waiting for something that ponders life for 10minutes at a time.

alistairts commented 2 months ago

Yes the SoC value is know, my work around is to use the "box" number entity mode so I can type in the desired value. But I am still interested in the actual limitations of the dongle... For my understanding as per my settings, the addon will read 30 registers per a cycle, then it will not read any registers for 2 cycles, then it will read the next 30 registers and repeat? If so, how long does a read cycle take? Despite having not used the dongle very much, have you any tips for improving the update time of the data read. I can't get less than 60s per update even though my setting states 15s.

kellerza commented 3 weeks ago

I don’t have any suggestion beyond what is documented

the callback stats can show improvement/not if you do play around with different schedules

all reads all sensors (batch-by-batch) before waiting for the next schedule. If this read for too long the the long callback stat should increase