Skip to content
View in the app

A better way to browse. Learn more.

Power Forum - Renewable Energy Discussion

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

My Sunsynk 8Kw & data collection setup

Featured Replies

On 2024/01/11 at 6:11 PM, iiznh said:

There is a big difference between a direct lightning strike and an induced spike. Induced spikes will kill circuits connected to a long wire (that acts as a signal amplifier). 

You Esp32 is still working and sending wifi packets which is a good sign. Maybe just the MAX485 chip that was harmed in the process. Do like mechanics do. Start replacing parts till it starts working again...

So i replaced the RS485-TTL board and made no difference...

I'm starting to worry that things may be broken on the inverter side... Is this possible?

 

  • Replies 657
  • Views 178.8k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • If you want to try this card in home assistant follow these steps. 1. Create a new directory under www/community/ and name it sunsynk-card. If you don't have HACS installed you can create directo

  • Hi all. Here is my version to get Sunsynk 8.8 Modbus metrics in Home Assistant: Required Hardware: ESP32 Development Board @R149.95 https://www.diyelectronics.co.za/store/espressif-iot/1495-

  • Thought I would also contribute with something small. Not as impressive as what some of the others here but a contribution nonetheless. The GUI for Sunsynk System Mode, or lack thereof, has reall

Posted Images

  • Author
2 hours ago, fStof said:

So i replaced the RS485-TTL board and made no difference...

I'm starting to worry that things may be broken on the inverter side... Is this possible?

 

Hi @fStof 

I am in Kyalami if you want to borrow a working ESP32 & interface to try out to check if your port is maybe faulty

It is possible it is faulty. 

You can split the BMS port out into RS485 & Canbus if you are using the canbus for the battery BMS

 

Edited by Sc00bs

13 hours ago, fStof said:

So i replaced the RS485-TTL board and made no difference...

I'm starting to worry that things may be broken on the inverter side... Is this possible?

Yes it is possible. Unlikely but still possible. Replace the ESP32 and the cable too.

You can measure with a multimeter between pin 3 and 1... and 2 and 3... they should measure 4V and 1V more or less from the inverter. Pin 3 is ground and 1,2 the rx/tx lines

Hi,

I have problems reading data from a Deye SUN-15K-SG01HP3-EU using a waveshare RS485 <-> TCP RTU Adapter https://eckstein-shop.de/WaveShare-Rail-Mount-Serial-Server-RS485-to-WIFI-Ethernet-Module-Modbus-MQTT-Gateway?gad_source=5

I can connect to it but it always returns either "Wrong CRC for frame: 1,3,0,0,255" or "Request timed out" or "Client in error state".

 

Maybe I did not set up the settings correctly?

image.thumb.png.19b30f6eb8a58aba44acd87e58ba385c.pngimage.png.dc485c46edf972249f9d0e475afca120.png

My Modbus settings are

image.png.0cd64c664fd6a43fbd19761f75e659ae.png

 

MQTT does not work either, it just shows no effect. I can see the RX Lamp blinking though on my waveshare...

image.png.e7fb6d0dbd5a973de6c68fd9f4c6261f.png

Anyone any ideas what could be the problem? Are these settings correct and it is an hardware issue?

Thanks for any suggestions.

 

 

On 2024/01/15 at 10:51 PM, Sc00bs said:

Hi @fStof 

I am in Kyalami if you want to borrow a working ESP32 & interface to try out to check if your port is maybe faulty

It is possible it is faulty. 

You can split the BMS port out into RS485 & Canbus if you are using the canbus for the battery BMS

 

I got bought another esp32 but that one's wifi was bonkers... so waiting for Micro Robotics to check it... 
Meantime I have an esp32 Cam which i might give a shot.

As for splitting the canbus... I am using canbus between inverter and battery... then rs485 between the batteries.  But splitting that guy sounds complicated... I do hope it doesn't come to that.

 

On 2024/01/16 at 8:33 AM, sgs said:

When mine did something similar, it was the USB power supply that went out of spec. Swopped it out, problems went away.

I'm not using USB Power... I have a buck converting 12v from inverter to 5v for esp and rs485 boards

 

On 2024/01/16 at 10:23 AM, iiznh said:

Yes it is possible. Unlikely but still possible. Replace the ESP32 and the cable too.

You can measure with a multimeter between pin 3 and 1... and 2 and 3... they should measure 4V and 1V more or less from the inverter. Pin 3 is ground and 1,2 the rx/tx lines

So pin 2/3 gives me +-4.5v and pin 1/3 gives me +-0.01v (I don't have the best multimeter ever)

  • 2 weeks later...

Something has gone completely bonkers with my setup. It's been working beautifully for months, then out of the blue it started sending weird data, inconsistently

e.g.the 76% was correct, but lots of ZEROS as well

Quote

[07:58:48][D][sensor:094]: 'SunSynk Battery SOC': Sending state 0.00000 % with 0 decimals of accuracy
[07:59:03][D][sensor:094]: 'SunSynk Battery SOC': Sending state 0.00000 % with 0 decimals of accuracy
[07:59:18][D][sensor:094]: 'SunSynk Battery SOC': Sending state 0.00000 % with 0 decimals of accuracy
[07:59:33][D][sensor:094]: 'SunSynk Battery SOC': Sending state 0.00000 % with 0 decimals of accuracy
[07:59:48][D][sensor:094]: 'SunSynk Battery SOC': Sending state 76.00000 % with 0 decimals of accuracy
[08:00:03][D][sensor:094]: 'SunSynk Battery SOC': Sending state 0.00000 % with 0 decimals of accuracy
[08:00:18][D][sensor:094]: 'SunSynk Battery SOC': Sending state 0.00000 % with 0 decimals of accuracy
[08:00:33][D][sensor:094]: 'SunSynk Battery SOC': Sending state 0.00000 % with 0 decimals of accuracy

 

All my sensors had wacko values.

I read a previous post that looked similar, so i did as suggested changed my power supply (usb cell charger) data looked good on almost all sensors except for one that i wanted. and now suddenly I am getting no data (see log attached)

 

Did something vrek? how can i troubleshoot it? Think my esp32 died? or the RS485 (i hope not that - it was a pain in the butt to get setup between soldering, removing the R7 etc etc)
 

 

logs_esphome-web-e3b6e0_logs (9).txt


Hi.

I wonder if you could give a second, third or 4th eye to what I have done for pulling my DEYE data with ESPhome. I have tried for a week now to pull data from it into the ESPhome without success. I went over all the pages on this thread (and some others) and I extracted good ideas to try out, but without luck.

My setup:
Single DEYE SUN-5K-SG03LP1-EU with a single 5KW pylontech battery. Inverter has Solarman adapter (I'm pulling data from it into to Home assistant with the HACS integration)

Since I want to control it from Home Assistant, I'm trying to connect it with the RS485, as done in these cases:
https://github.com/klatremis/esphome-for-deye
https://www.youtube.com/watch?v=odajXzCnIpE&t=1s
https://www.youtube.com/watch?v=89Yne9QNv0w

I have an ESP32dev with a TTL-RS485 (CP2102 USB-UART 6 in 1, https://es.aliexpress.com/item/1005004948562313.html). See photos below of the connections (not intendeed to be the final implementation :) )

20240205_145108.thumb.jpg.f39c1015d8f825af7b3d07832cc52c72.jpg

20240205_145147.thumb.jpg.06948b624bd8f57c3ab448af481faa97.jpg
 

20240205_145446.thumb.jpg.a27ff4ab6218f191394510867a6d05c9.jpg

 

ESPhome is installed and yaml file is placed and running (I attach the file I used and the logs from ESPhome)
On home assistant all entities are enabled, but with unknown value. I believe the problem is between the RS485 and the inverter given the logs I get from the ESPhome (attached)
I'm running out of ideas about what to do. On YAML file I mostly tried different values for the modbus_controller address: 1, 0x1, 0x01. But all the rest seems ok
For LAN connector I tried using pin 1 and 2, or 7 and 8, or 6 (ground) 7 8 (polarity is correct). Last I tried 1/8 (B) and 2/7 (A) simultaneusly. Although, given the photo from the port in the inverter it seems only pins 6 to 8 are wired in the board.
At the end of the RJ45 I measure around 3.3v between pin 7 and 8 . There is no voltage between GND (6) and B (8)

I also have doubts about the ports. I tried with the BMS 485 (top left) and the 485 (bottom right). No luck on either. The CAN 485 is used for the battery and honestly I don't dare to use it, but from the ports available and from what I have read, it shouldn't be used.
On the Inverter, the modbus is set to 01 (it was 00 originally).

 

20240205_195740.thumb.jpg.d345cecafe27aad53ecde8e2ee046cc4.jpg

20240206_180324.thumb.jpg.27f82e877ea4035ae427663e72d51398.jpg

 

I'm a little bit temped to change the TTL-RS485, however, from the logs my interpretation is that the TTL-RS485 is doing the conversion. But maybe I should try buying this one?

image.png.738abdb6fd9e2140b068bdda414f70dd.png

Any help / ideas is highly apreciated. Thanks!
 

EspHomeDeye.yaml logs_inverter_logs.txt

  • 2 weeks later...

mbusd question

I have a sunsynk-multi docker container connecting to my mbusd docker container via TCP over port 502, and it is sending the data perfectly to HomeAssistant

But I wanted to try the Node-Red flows and changed the Modbus-Client node settings to
Type - TCP
Host 192.168.1.xx
Port 502
TCP type Default

But this didn't seem to work, and actually seemed to interfere with the data to Home Assistant

What are the correct port details, or what SHOULD work ?

I searched this thread since the node-red flows originated here, but I didn't see the specifics mentioned anywhere

Edited by championc

10 hours ago, championc said:

mbusd question

I have a sunsynk-multi docker container connecting to my mbusd docker container via TCP over port 502, and it is sending the data perfectly to HomeAssistant

But I wanted to try the Node-Red flows and changed the Modbus-Client node settings to
Type - TCP
Host 192.168.1.xx
Port 502
TCP type Default

But this didn't seem to work, and actually seemed to interfere with the data to Home Assistant

What are the correct port details, or what SHOULD work ?

I searched this thread since the node-red flows originated here, but I didn't see the specifics mentioned anywhere

I'm using mbusd on a RPI3b and I can connect to it from node-red running on another device using the same settings you listed (apart from the IP). Maybe the docker container is preventing you from accessing it? Maybe try to telnet to that IP on port 502 from another device on the same subnet? If telnet fails to connect, you might have a docker issue.

Hello @kellerza and @Sc00bs,

With the amount of struggle @Gary Waterworth is experiencing with the Sunsynk API. Has anyone ever tried to use a CANbus interface to communicate with the Sunsynk inverters. I ask this because of the installation I have at my parents is using the RS-485 comms for the BMS.

 

Secondly, how do I go about doing testing and providing feedback on the Sunsynk 50kW HV unit with the KellerZA Sunsynk integration. When I last testing the integration with the inverter it kept bombing out.

Kind Regards,

 

Hello @kellerza,

 

I see there is reference in the definitions for device type.

0x0601: "High voltage three phase hybrid 20-50kw"

Does this help define the sensor definitions and register positions?

I see that battery 1 is reporting a temperature that is out of range. It is reporting 129 and should be 29.

I will go through the dev branch and add sensors one by one until I workout which ones do not align. It looks like the settings registers do not align on the 50kW HV sunsynk unit.

 

3:14:21 INFO    Schedules:
+-----------+-----+------+--------+-----------+----------+------------+
|    Key    | src | Read | Report | Change by | Change % | Change any |
+-----------+-----+------+--------+-----------+----------+------------+
| date_time |     |  60  |   60   |           |          |    True    |
|     rw    |     |  5   |  300   |           |          |    True    |
|    enum   |     |  5   |  300   |           |          |    True    |
|     w     |  *  |  5   |   30   |     80    |          |            |
|    kwh    |     | 300  |  300   |           |          |            |
|  any_unit |     |  15  |  300   |           |          |            |
|  no_unit  |     |  15  |  300   |           |          |    True    |
+-----------+-----+------+--------+-----------+----------+------------+

+-----+------------------------------------------------------------------------------+
|  s  |                                   Sensors                                    |
+-----+------------------------------------------------------------------------------+
|  5  |    pv2_power, pv1_power, pv_power, pv3_power, battery_1_power, pv4_power     |
|  15 |    battery_1_voltage, pv4_current, pv1_current, pv2_current, pv3_voltage,    |
|     |   pv2_voltage, battery_1_soc, pv4_voltage, pv1_voltage, battery_1_current,   |
|     |                      pv3_current, battery_1_temperature                      |
| 300 | total_pv_energy, total_grid_export, total_battery_charge, total_grid_import, |
|     |                           total_battery_discharge                            |
+-----+------------------------------------------------------------------------------+
13:14:22 INFO    Report every (inverter 1)
+-----+----------------------------------------------------------------------------------+
|  s  |                                     Sensors                                      |
+-----+----------------------------------------------------------------------------------+
|  30 |      pv2_power, pv1_power, pv_power, pv3_power, battery_1_power, pv4_power       |
| 300 | total_pv_energy, battery_1_voltage, total_grid_export, pv4_current, pv1_current, |
|     | total_battery_charge, pv2_current, total_grid_import, pv3_voltage, pv2_voltage,  |
|     |     battery_1_soc, pv4_voltage, pv1_voltage, battery_1_current, pv3_current,     |
|     |                  total_battery_discharge, battery_1_temperature                  |
+-----+----------------------------------------------------------------------------------+
13:15:41 ERROR   OSError in read_sunsynkmb: timeout reading 12 registers from 672 poll_need_to_read
13:16:04 ERROR   OSError in read_sunsynkmb: timeout reading 1 registers from 590; timeout reading 4 registers from 672 poll_need_to_read
13:16:11 WARNING Did not complete read, only read 12/6
13:16:45 ERROR   OSError in read_sunsynkmb: timeout reading 6 registers from 586; timeout reading 12 registers from 672 poll_need_to_read
13:20:00 ERROR   (8 in 5 min) OSError in read_sunsynkmb: timeout reading 6 registers from 586; timeout reading 12 registers from 672 poll_need_to_read
13:20:00 ERROR   (1 in 5 min) OSError in read_sunsynkmb: timeout reading 12 registers from 672 poll_need_to_read
13:21:08 ERROR   OSError in read_sunsynkmb: timeout reading 4 registers from 516; timeout reading 4 registers from 522; timeout reading 2 registers from 534; timeout reading 6 registers from 586; timeout reading 12 registers from 672 poll_need_to_read

Are there any settings I should try change with the polling rates and reporting rates?

Edited by WazzaCPT
additional information

Hi guys,
Trying to help my mate get his 2 x 5Kw Sunsynk's (connected in parallel) into HA.

I've already made up an RS485-TTL Converter for him.

Does anyone have some input on how I would go about helping him?

4 minutes ago, Muttley said:

Hi guys,
Trying to help my mate get his 2 x 5Kw Sunsynk's (connected in parallel) into HA.

I've already made up an RS485-TTL Converter for him.

Does anyone have some input on how I would go about helping him?

You will need two RS485 converters. There is ESPHome Yaml floating around for that method.

Otherwise there is the option of running a TCP Modbus gateway device and use tyhe KellerZA integration.

Alternatively you can direct connect to the HA machine with the WaveShare RS485 USB adaptors using the KellerZA integration. I believe there may be some limitations on the RS485 cable length.

Another option is to use the KellerZA integration with the Solarman dongles. Not sure if this would work with parallel inverters though.

A third option is using the Sunsynk API and the Node-Red flows from this guide if you are using the Sunsynk connect app:
E-Linter Logger API access
and the forum post: Sunsynk Logger Integration

2 minutes ago, WazzaCPT said:

You will need two RS485 converters. There is ESPHome Yaml floating around for that method.

Otherwise there is the option of running a TCP Modbus gateway device and use tyhe KellerZA integration.

Alternatively you can direct connect to the HA machine with the WaveShare RS485 USB adaptors using the KellerZA integration. I believe there may be some limitations on the RS485 cable length.

Another option is to use the KellerZA integration with the Solarman dongles. Not sure if this would work with parallel inverters though.

A third option is using the Sunsynk API and the Node-Red flows from this guide if you are using the Sunsynk connect app:
E-Linter Logger API access
and the forum post: Sunsynk Logger Integration

Wowzers, thanks for this input - need to try find the YAML and would preferably like go the 2x RS485 method.

Would you know if this method would require a single ESP32 or 2 of them?

 

46 minutes ago, slipx said:

Here is an example config for a master/slave setup on one ESP32. There is room for improvement though i.e. using packages as templates

https://github.com/slipx06/Sunsynk-Home-Assistant-Dash/blob/main/ESPHome-1P-Sunsynk-Deye-Master-Slave.yaml

 

Thanks - just to find the correct, wiring diagram now... 13 pages of this thread to go :D

52 minutes ago, Muttley said:

Wowzers, thanks for this input - need to try find the YAML and would preferably like go the 2x RS485 method.

Would you know if this method would require a single ESP32 or 2 of them?

 

To be honest, not sure if you would need to ESP32 or one. But you can have a look at the following GitHub repo ESPHome Stream Server, it is possible that this might work with KellerZa integration.

Alternatively, the following is some ESPHome things for Sunsynk Sunsynk ESPHome.

There may be more up to date code somewhere.

Hi All
I've successfully connected my Sunsynk 8kW inverter to my Loxone automation system and can read/write most of the modbus registers I need but I am struggling to find which registers are used for the toggle switches on the basic setup page, as below. I can't find in any documentation I've located which registers these are or if they are combined and I need to read specific bits from a 16bit register. It's the time sync one i'm mainly interested in.
Thanks

image.thumb.png.b47fe02843dbd5af840552628bcb363b.png

Edited by Rob99

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.