RoganDawes Posted March 4 Share Posted March 4 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. 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? Quote Link to comment Share on other sites More sharing options...
Jacques Ester Posted March 4 Share Posted March 4 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. RoganDawes and JayMardern 1 1 Quote Link to comment Share on other sites More sharing options...
JayMardern Posted March 4 Share Posted March 4 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). WannabeSolarSparky 1 Quote Link to comment Share on other sites More sharing options...
RoganDawes Posted March 4 Author Share Posted March 4 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. Quote Link to comment Share on other sites More sharing options...
JayMardern Posted March 4 Share Posted March 4 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. Quote Link to comment Share on other sites More sharing options...
RoganDawes Posted March 4 Author Share Posted March 4 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. Quote Link to comment Share on other sites More sharing options...
p_i Posted March 4 Share Posted March 4 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. RoganDawes 1 Quote Link to comment Share on other sites More sharing options...
RoganDawes Posted March 5 Author Share Posted March 5 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. Quote Link to comment Share on other sites More sharing options...
p_i Posted March 5 Share Posted March 5 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? Quote Link to comment Share on other sites More sharing options...
Soutsuur Posted April 15 Share Posted April 15 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? Quote Link to comment Share on other sites More sharing options...
RoganDawes Posted April 15 Author Share Posted April 15 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. Quote Link to comment Share on other sites More sharing options...
RoganDawes Posted April 16 Author Share Posted April 16 (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 April 17 by RoganDawes clarified GPIO0 vs GPIO8 slipx, DeonBez and WazzaCPT 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.