Jump to content

Anyone noticed weird behaviour from their Sunsynk inverter? Charging when not supposed to, resetting daily totals, etc?


Recommended Posts

Hi folks,

I noticed on Saturday that my Sunsynk 8kva inverter was charging the battery from grid when it was not supposed to (was in the "No charge from gen or grid" program after 8am). I've also seen weird behaviour with the daily totals, which were resetting during the day, rather than at midnight.

image.thumb.png.b1e2f664647fc5ea10396b33c02014ff.png

In the above image, you can see normal behavior for a Day Grid Import value, increasing until midnight, when it resets to zero again, Monday to Friday. On Saturday and Sunday, the graph is all over the place, resetting several times each day to zero. Then suddenly, it starts behaving itself again this morning.

My readings are coming via RS485 using kellerza/sunsynk, which has been working perfectly for months, and yes, the Sunsynk dongle is still connected. I tried to correlate with the Sunsynk app, but was unable to find any graphs showing the Daily Grid Import.

Did anyone else see anything like this?

Link to comment
Share on other sites

Can't comment on the RS485 integration/reporting you use, but I've seen Time of Use settings get ignored on my own unit when the first/last time on System Mode/System-1 isn't midnight; at least with the firmware I'm on. Can you share a photo of your settings there?

21 minutes ago, RoganDawes said:

Hi folks,

I noticed on Saturday that my Sunsynk 8kva inverter was charging the battery from grid when it was not supposed to (was in the "No charge from gen or grid" program after 8am).

 

 

Link to comment
Share on other sites

2 hours ago, JayMardern said:

Can't comment on the RS485 integration/reporting you use, but I've seen Time of Use settings get ignored on my own unit when the first/last time on System Mode/System-1 isn't midnight; at least with the firmware I'm on. Can you share a photo of your settings there?

 

Thanks for the response!

I can confirm that the first/last time on my inverter is midnight. It has been working perfectly like this for about a year, with Home Assistant switching "Use Timer" on and off every time my geyser starts heating in the evenings. Something went weird over the weekend. Just trying to see if anyone else saw similar things.

Link to comment
Share on other sites

29 minutes ago, RoganDawes said:

Thanks for the response!

I can confirm that the first/last time on my inverter is midnight. It has been working perfectly like this for about a year, with Home Assistant switching "Use Timer" on and off every time my geyser starts heating in the evenings. Something went weird over the weekend. Just trying to see if anyone else saw similar things.

Yeah then your issue was probably related to Sunsynk's portal downtime as mentioned by @Jacques Ester which lasted from Friday evening to Sunday afternoon. I just had regular app downtime (my time/settings were OK), but some other members using more complex interfaces reported inverter time changes whilst it happened that likely interfered with your time-of-use settings.

Link to comment
Share on other sites

3 hours ago, Jacques Ester said:

I saw on the Fb page that someone said that there was an issue with the time zones and dates. This could have created havoc with the time settings.

Yeah, that could explain it. But it doesn't REALLY explain why a serverside mixup should mess with readings taken directly from the inverter! 😠 I guess if the server is pushing the time down to allow the inverter to maintain accurate time, and the server doesn't have accurate time, the inverter will simply accept it. Judging by the number of times my daily figures were reset, they tried a bunch of things over a couple of days to try and get the time zones right!

Guess I need to put a read-only filter in between the dongle and the inverter to stop this sort of crap happening. Or just disconnect it entirely. (And by "read-only filter", I mean a program that is making sure that only modbus read commands are passed through). Crap that should not be required if Sunsynk was not messing around, and limited themselves to only issuing read commands. 

Link to comment
Share on other sites

55 minutes ago, RoganDawes said:

Yeah, that could explain it. But it doesn't REALLY explain why a serverside mixup should mess with readings taken directly from the inverter! 😠 I guess if the server is pushing the time down to allow the inverter to maintain accurate time, and the server doesn't have accurate time, the inverter will simply accept it. Judging by the number of times my daily figures were reset, they tried a bunch of things over a couple of days to try and get the time zones right!

Guess I need to put a read-only filter in between the dongle and the inverter to stop this sort of crap happening. Or just disconnect it entirely. (And by "read-only filter", I mean a program that is making sure that only modbus read commands are passed through). Crap that should not be required if Sunsynk was not messing around, and limited themselves to only issuing read commands. 

Just turn off the "Time sync" option on the inverter. That way the totals won't be mucked up like that.

Link to comment
Share on other sites

Yeah, I think I'm going to look at flashing ESPHome onto the Sunsynk Dongle. That will let me eliminate the RS485 connection from the inverter, as well as stop outside interference. If anything changes, it will be because I did it, not anybody else!

Will back up the e-linter firmware in case I need to update inverter firmware for any reason, but disconnecting it from outside influence is appealing to me.

Link to comment
Share on other sites

In my opinion, disabling time sync in the setup is a much less destructive option. Surely you will require that dongle if the firmware ever needs to be updated?

Link to comment
Share on other sites

  • 1 month later...
On 2024/03/05 at 11:04 AM, RoganDawes said:

Yeah, I think I'm going to look at flashing ESPHome onto the Sunsynk Dongle. That will let me eliminate the RS485 connection from the inverter, as well as stop outside interference. If anything changes, it will be because I did it, not anybody else!

Will back up the e-linter firmware in case I need to update inverter firmware for any reason, but disconnecting it from outside influence is appealing to me.

Did you get that done Rogan? If so, is it reversible, and how's ESPHome working?

Link to comment
Share on other sites

On 2024/03/05 at 11:06 AM, p_i said:

In my opinion, disabling time sync in the setup is a much less destructive option. Surely you will require that dongle if the firmware ever needs to be updated?

Yes, potentially. It should be easy enough to flash it back should it be needed, just take a backup before overwriting it.

(Sorry, I missed this when originally posted)

56 minutes ago, Soutsuur said:

Did you get that done Rogan? If so, is it reversible, and how's ESPHome working?

No, I haven't done it yet, but cannot imagine it will be terribly difficult. You only have to do the manual flash using a USB-UART the first time, after that you should be able to do OTA (assuming you included the `ota:` configuration). I used a regular USB-TTL UART (3.3v) which showed no conficts with the RS232 transceiver, but perhaps because it is a CP2104-based adapter and has high drive strength to override pullup/pulldowns. (e.g. see https://diysolarforum.com/threads/hacking-the-new-growatt-wifi-f-modules.43231/ for some discussion about reflashing dongles for Growatt inverters)

It should certainly be reversible if you take a backup of the firmware before flashing ESPHome, that you can then flash back if you need the firmware update capability.

Link to comment
Share on other sites

Posted (edited)
On 2024/03/05 at 11:04 AM, RoganDawes said:

Yeah, I think I'm going to look at flashing ESPHome onto the Sunsynk Dongle. That will let me eliminate the RS485 connection from the inverter, as well as stop outside interference. If anything changes, it will be because I did it, not anybody else!

So, it wasn't as simple as I thought it would be to get ESPHome running on the Sunsynk dongle.

Flashing is not too tricky, although I do end up contorting my fingers a little, holding 3 jumper wires for G,R,T and a pair of header pins with a jumper on them to bridge GPIO0 (aka "short for ISP" - edit: turns out this is GPIO8 on the C3) with one finger, and holding 3v3 against the capacitors to the left of the C3-Mini module to power it.

I used:

esptool.py -p /dev/cu.usbserial-01E7DF5F -b 230400 read_flash 0 $((4*1024*1024)) sunsynk2.bin

to take a backup (it's a 4MB part, so you can do the calculation manually if you are using Windows).

Flashing a minimal config ended up in a boot loop when powered as above via a 3v3 supply, held against the decoupling caps. I guess it wasn't enough to power the WiFi when it initialises. So, using a DE9 breakout, and feeding 12V on the RI (pin 9), and ground on pin 5, I was able to get it running stably. It took me an AGE to figure out what pins to use for the uart! I first thought I'd be clever and use the ESPHome kickstart firmware to dynamically adjust the pins, and wasted a few hours trying to get that to work, firstly making changes for the ESP32C3, and then just iterating through the pins and looking for behaviour on the RX and TX pins of the DE9 connector. All for naught, the kickstart firmware just wasn't working properly for some reason.

BTW, I did test restoring the backup firmware, and it worked perfectly (when powered using 12V). It was actually the stock firmware boot loop when powered via 3v3 to the capacitors that clued me in to checking for power problems.

In the end, my diff to slip06x's config on github was pretty minimal:

diff -w ESPHome-1P-Sunsynk-Deye.yaml sunsynk_dongle.yaml
12c12
<   board: nodemcu-32s
---
>   board: airm2m_core_esp32c3
14a15
>   variant: esp32c3
60,61c61,62
<   tx_pin: GPIO1
<   rx_pin: GPIO3
---
>   tx_pin: GPIO5
>   rx_pin: GPIO6
67d67
<   flow_control_pin: GPIO16

I did also figure out the GPIOs for the LEDs (3 and 7 for the red and green LEDs, respectively), but haven't yet bothered adding those to the config.

With that, you can now flash ESPHome onto your Sunsynk dongle, and detach yourself from the cloud entirely.

Edited by RoganDawes
clarified GPIO0 vs GPIO8
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...