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

  • Replies 657
  • Views 178k
  • 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

1 hour ago, Donovan_kk1997 said:

@georgelza A family friend has one 16kW per phase and is wanting some help with HA. Does each inverter need an ESP controller with the RS485 module? In other words, one connected to each inverter.

A better option could be the HF5142? - see https://kellerza.github.io/sunsynk/guide/wiring#ethernet-to-rs485-gateways 

Some of the 16kW Inverters seem to be read-only on their RS485 ports, in which case you have to connect them with RS232

2 hours ago, georgelza said:

different question, on my mate HA platform, got the Custom Flex Horseshoe card installed, but when i try and add a dashboard using it it tells me no such entity/feature.

and yes have restarted.


G

Once you add cards (HACS I assume) you have to reload the frontend / Ctrl-F5. Restarting your HA won't do anything

1 hour ago, Donovan_kk1997 said:

@georgelza A family friend has one 16kW per phase and is wanting some help with HA. Does each inverter need an ESP controller with the RS485 module? In other words, one connected to each inverter.

i'd say ask Scoob or Slips rather. I'm dangerous when it comes to Sunsynk, but believe if they configured in master/slave/slave then you'd only need one..

G

  • Author
2 hours ago, georgelza said:

i'd say ask Scoob or Slips rather. I'm dangerous when it comes to Sunsynk, but believe if they configured in master/slave/slave then you'd only need one..

G

Thanks @georgelza , lol

@Donovan_kk1997

My understanding/assumption is that most of the settings etc are managed on the "Master" inverter and there is very little that you need to change/setup on the "Slave"  once they are connected.  As a result I would guess that you would only need to connect to the Master Inverter to be able to change "Work Mode" settings, read production data etc  as these are all read from the master inverter. 

It is however important to bear in mind that I have had no actual experience with a multi-Inverter setup and that this is all a guess and I could be totally wrong 🙂  

I would start with one ESP32 or KellerZA connection and see what happens, worst case you have to get another one and try and work out how to set it up. 

Edited by Sc00bs

2 hours ago, Sc00bs said:

I have a DEYE 16kw that is read/write on the RS485 port

In a recent issue there was one user where it worked perfectly, and another that could not write at all. 
Turned out that Solar-Assistant also has it documented that the RS485 could be read-only.
So you are one of the lucky ones...

2 hours ago, Sc00bs said:

Thanks @georgelza , lol

@Donovan_kk1997

My understanding/assumption is that most of the settings etc are managed on the "Master" inverter and there is very little that you need to change/setup on the "Slave"  once they are connected.  As a result I would guess that you would only need to connect to the Master Inverter to be able to change "Work Mode" settings, read production data etc  as these are all read from the master inverter. 

It is however important to bear in mind that I have had no actual experience with a multi-Inverter setup and that this is all a guess and I could be totally wrong 🙂  

I would start with one ESP32 or KellerZA connection and see what happens, worst case you have to get another one and try and work out how to set it up. 

With a multi-Inverter setup the first inverter controls settings, but to get proper stats you need to read them individually. It was discussed extensively here (some install pics as well) - https://github.com/kellerza/sunsynk/issues/39

The latest addon ships with these default sensors:

  SENSORS:
    - energy_management
    - power_flow_card
  SENSORS_FIRST_INVERTER:
    - settings

 

Hello Guys, @Sc00bs and @kellerza,

Have you done any experimentation with communicating on the parallel ports?

I have an interesting problem, using the REVOV R9 units with the TIAN POWER BMS modules which only have RS485 comms and thus if you want the inverters to connect to the BMS then you only have access to the Parallel ports or the RS232 port.

At my house I am using Solar-assistant and the RS232 port but then cannot get inverter firmware updates or inverter status. I will message the guys at Solar-assistant and ask if the inverter status could be included in their MQTT messages.

Would you recommend that I move over to the integration for Solarman? Does this now support changing of settings on the inverter?

My parents house have the same batteries but with 2 x 12kw 3 phase inverters and the E-linter logger units, I do not want to use the E-linter to log data from the cloud and wanted a local solution. But require the E-linter units to remain connected as they have an SLA with the installer and the system is remote monitored.

I also experienced some strange behaviour of not getting their BMS units to talk with the inverters on RS485 in the dual port. I have the Revov RCU v2 to convert the RS485 to CAN (you get very limited battery information on CAN), and then have Solar-assistant connecting on the RS485 portion of the dual purpose RJ54 BMS port.

Their setup is further complicated by the inclusion of SolarEdge inverter providing feed on the aux input as a micro inverter. So getting all the data is quite a challenge.

Solar-assistant say that both Sunsynk inverters need to have their own RS485 connection in order to get all the data. This does not really make much sense to me as all the data should be shared between inverters.


Any input would be great.

1 hour ago, WazzaCPT said:

Hello Guys, @Sc00bs and @kellerza,

Have you done any experimentation with communicating on the parallel ports?

Are you referring to those 25-pin behemoth connectors that used to be popular with printers? Haven't seen one in 15 years...

1 hour ago, WazzaCPT said:

I have an interesting problem, using the REVOV R9 units with the TIAN POWER BMS modules which only have RS485 comms and thus if you want the inverters to connect to the BMS then you only have access to the Parallel ports or the RS232 port.

At my house I am using Solar-assistant and the RS232 port but then cannot get inverter firmware updates or inverter status. I will message the guys at Solar-assistant and ask if the inverter status could be included in their MQTT messages.

Pierre is quite responsive.

1 hour ago, WazzaCPT said:

Would you recommend that I move over to the integration for Solarman? Does this now support changing of settings on the inverter?

Not sure which one you refer to. The Solarman integration in my addon is fairly new. Changing settings is possible.

1 hour ago, WazzaCPT said:

My parents house have the same batteries but with 2 x 12kw 3 phase inverters and the E-linter logger units, I do not want to use the E-linter to log data from the cloud and wanted a local solution. But require the E-linter units to remain connected as they have an SLA with the installer and the system is remote monitored.


I also experienced some strange behaviour of not getting their BMS units to talk with the inverters on RS485 in the dual port. I have the Revov RCU v2 to convert the RS485 to CAN (you get very limited battery information on CAN), and then have Solar-assistant connecting on the RS485 portion of the dual purpose RJ54 BMS port.

Their setup is further complicated by the inclusion of SolarEdge inverter providing feed on the aux input as a micro inverter. So getting all the data is quite a challenge.

Solar-assistant say that both Sunsynk inverters need to have their own RS485 connection in order to get all the data. This does not really make much sense to me as all the data should be shared between inverters.
 

Yes, you would need a cable to each to pull individual power/energy stats. It's only the settings/system mode controlled from the master.

  • Author
14 hours ago, kellerza said:

Not sure which one you refer to. The Solarman integration in my addon is fairly new. Changing settings is possible.

Yes, you would need a cable to each to pull individual power/energy stats. It's only the settings/system mode controlled from the master.

@kellerza I think that @WazzaCPT is referring to the E-Linter platform that Sunsynk is using now instead of the Solarman platform that is used by DEYE and the older Sunsynk inverters. 

You can write settings using the apps/web interface back to the inverter using either platform. 

I don't think that it is currently possible to write the settings back using either of the Home Assistant integrations. 

The Solarman integration does have the advantage of speaking directly to the Wifi dongle rather than going via the cloud API that the Sunsynk/E-Linter integration uses. 

I personally use the Solarman dongle on my DEYE but have a Sunsynk dongle as well for video's and testing. 

There was some talk of the Solarman and Sunsynk platforms cloud server update frequencies being increased to every 60 seconds instead of the default 3 minutes (I think). Not sure what the status is of this. 

 

 

  • Author
16 hours ago, kellerza said:

With a multi-Inverter setup the first inverter controls settings, but to get proper stats you need to read them individually. It was discussed extensively here (some install pics as well) - https://github.com/kellerza/sunsynk/issues/39

The latest addon ships with these default sensors:

  SENSORS:
    - energy_management
    - power_flow_card
  SENSORS_FIRST_INVERTER:
    - settings

 

@kellerzaDo you know if you have two dongles installed if you have a multi-inverter setup? 

2 hours ago, Sc00bs said:

@kellerzaDo you know if you have two dongles installed if you have a multi-inverter setup? 

If you do monitoring, you need two RS485 adaptors (for my addon & solar-assistant). Even for ESPHome based solution.

Can't tell you specifically for solarman or e-linter.

2 hours ago, Sc00bs said:

@kellerza I think that @WazzaCPT is referring to the E-Linter platform that Sunsynk is using now instead of the Solarman platform that is used by DEYE and the older Sunsynk inverters. 

You can write settings using the apps/web interface back to the inverter using either platform. 

I don't think that it is currently possible to write the settings back using either of the Home Assistant integrations. 

The Solarman integration does have the advantage of speaking directly to the Wifi dongle rather than going via the cloud API that the Sunsynk/E-Linter integration uses. 

I personally use the Solarman dongle on my DEYE but have a Sunsynk dongle as well for video's and testing. 

There was some talk of the Solarman and Sunsynk platforms cloud server update frequencies being increased to every 60 seconds instead of the default 3 minutes (I think). Not sure what the status is of this. 

 

 

@Sc00bs with my addon, you can connect directly to your solarman dongle as well (not the new e-linter one) - you need a DONGLE_SERIAL_NUMBER and PORT: tcp://<local-ip>:8899

You should be able to read every 10 seconds - so probably need to supply less aggressive SCHEDULES than the default

The author of the PR did write settings with it AFAIU. I must have a dongle somewhere around the house, will try test over the weekend.

On 2023/08/28 at 5:21 PM, caswell1000 said:

I am indeed pulling two datasets from two inverters, master and slave, master address is 0x01 slave 0x02, I have made two esp32 modules each connected to one inverter, my ether ports are slightly different on the two, for master I had to connect on the rs485/Can port, it shares the port with the battery cable via a splitter. For slave I used bms 485 port, it does not share the port. 

Thanks to @Magetsi I managed to ignore the initial errors and connected to the shared port on the master and got readings, my TX rx are 1and 3 and 16 is the control pin. I had errors before finding the right port in both instances. Aport from the pins and the soldering, finding the right port is important, I used @slipx yaml, it allows for reading and writing data,no more having to manually change the grid charging settings 1 by one, I do that on homeassistant with scenes as per the YT video from solar integrations.

 

Good Luck

Thanks for your reply, so after trying many different things, i have now managed to connect an esp to each inverter and can see the date of each. this part is now working perfectly. 

My next challenge is as follows: Not sure if you have managed to find a solution. 

I am using values taken from two sensors and adding them in a template sensor.

sensor.sunsynk1_slave_total_load_energy (slave inverter)
sensor.sunsynk_master_total_load_energy. (Master inverter)

#  sensor.sunsynk_total_pv_energy
      sunsynk_total_pv_energy:    
        friendly_name: Sunsynk Total PV Energy
        value_template: "{{ states('sensor.sunsynk_master_total_pv_energy') | float + states('sensor.sunsynk1_slave_total_pv_energy') | float }}"  
        unit_of_measurement: "kWh"

I have renamed the template sensor sensor.sunsynk.total_pv_energy

This value however does not display correctly on the graph and shows as “undefined”
Below is the .yaml code used for the graph.

type: custom:plotly-graph
view_layout:
  grid-area: daily
entities:
  - entity: sensor.sunsynk_total_pv_energy
    statistic: state
    name: |
      $fn ({ ys,meta }) =>
        "Solar" + "🔆" + "(" +ys[ys.length - 1]+"kWh)"
    period: day
    type: bar
    texttemplate: '%{y}'
    filters:
      - filter: i>0
    marker:
      color: rgb(255, 155, 48)

 

image

 

I have tried to include device_class as per a suggestion i received on another post but it still does not read the value.
However when entering the entity it shows a state in this case 9793.6.

 

 

Below is the code showing device_class

Does anyone know what could be the problem. 

#  sensor.sunsynk_total_pv_energy
      sunsynk_total_pv_energy:    
        friendly_name: Sunsynk Total PV Energy
        value_template: "{{ states('sensor.master_master_total_pv_energy') | float + states('sensor.sunsynk1_slave_total_pv_energy') | float }}"  
        unit_of_measurement: "kWh"
        device_class: energy_storage

It has been running like this for days now and there is no if shown on the solar. , 

The issue I have with the template sensor created for "sensor.sunsynk_total_day pv" is that it does not read the state. State is shown as undefined.  the other sensors read correctly, however this is info taken either form the master or the slave inverter. As soon as I create ethe combines sensor template, I get the same result. 

 

image.png.dc83c9c30489fba48963c32b33d4ae26.png

On 2023/08/31 at 5:21 PM, kellerza said:

Are you referring to those 25-pin behemoth connectors that used to be popular with printers? Haven't seen one in 15 years...

Pierre is quite responsive.

Not sure which one you refer to. The Solarman integration in my addon is fairly new. Changing settings is possible.

Yes, you would need a cable to each to pull individual power/energy stats. It's only the settings/system mode controlled from the master.

Thank you for the response.

I have your integration running at home and have disconnected Solar-assistant.

They are not the old parallel connectors from printers. They are actually using DSUB like connectors. Like 15 pins times two for each battery module. These BMS units actual have a temp sensor per cell apparently.

But as for my parents setup, there I need to try figure out why their batteries are not actually able to communicate over RS485. Could only get them to work with the Revov RCUv2 RS485 to CAN module. What would be awesome is being able to tunnel the RS485 comms of the battery through a Pi or ESP32 to the inverter and have the comms to the inverter. This is only really for my parents setup as the have the newer E-linter units and I do not want to rely on the cloud for data to HA.

Thank you for an excellent integration addon.

There is a LAN version of the E-linter dongle on its way. I just need to ask my contact to push them for direct LAN access to the units. Would be useful on the Wifi versions as well.

1 hour ago, lun123 said:

It has been running like this for days now and there is no if shown on the solar. , 

The issue I have with the template sensor created for "sensor.sunsynk_total_day pv" is that it does not read the state. State is shown as undefined.  the other sensors read correctly, however this is info taken either form the master or the slave inverter. As soon as I create ethe combines sensor template, I get the same result. 

 

image.png.dc83c9c30489fba48963c32b33d4ae26.png

 

Can you see the sensor under the statistics tab in developer tools? 

image.thumb.png.fe6c60c3f47e7ec55d27dbd0f7ed58e7.png

Hi, I am new here, however I managed to install the dashboard. 

I have a problem with displaying the forecast production for the following days. As you can see below I only have what PV is currently producing.

obraz_2023-09-03_173602326.thumb.png.da9bef2978e008b99fc1cee7831f8604.png

I checked the data and it seems to be correct:

image.thumb.png.ce14f0b3c9e6162f0c6b21c249e8a9fe.png

 

Today there was an update to the program, I currently have version 4.0.2

image.thumb.png.725e5d01d2c45924838895f799a9d03d.png

 

Thanks for all the tips!

 

That looks correct. Check these entities in your graph, specifically the data generator part as this renders the grey solar forecast for D1, D2 and D3


  - entity: sensor.solcast_forecast_today
    name: Solar Forecast (D1)
    extend_to: false
    color: grey
    opacity: 0.3
    stroke_width: 0
    yaxis_id: kWh
    show:
      legend_value: false
      in_header: false
    data_generator: |
      return entity.attributes.detailedForecast.map((entry) => {
            return [new Date(entry.period_start), entry.pv_estimate*2];
          });
  - entity: sensor.solcast_forecast_tomorrow
    name: Solar Forecast (D2)
    float_precision: 3
    extend_to: false
    color: grey
    opacity: 0.3
    stroke_width: 0
    yaxis_id: kWh
    show:
      legend_value: false
      in_header: false
    data_generator: |
      return entity.attributes.detailedForecast.map((entry) => {
            return [new Date(entry.period_start), entry.pv_estimate*2];
          });
  - entity: sensor.solcast_forecast_d3
    name: Solar Forecast (D3)
    float_precision: 3
    extend_to: false
    color: grey
    opacity: 0.3
    stroke_width: 0
    yaxis_id: kWh
    show:
      legend_value: false
      in_header: false
    data_generator: |
      return entity.attributes.detailedForecast.map((entry) => {
            return [new Date(entry.period_start), entry.pv_estimate*2];
          });

 

44 minutes ago, slipx said:

That looks correct. Check these entities in your graph, specifically the data generator part as this renders the grey solar forecast for D1, D2 and D3


  - entity: sensor.solcast_forecast_today
    name: Solar Forecast (D1)
    extend_to: false
    color: grey
    opacity: 0.3
    stroke_width: 0
    yaxis_id: kWh
    show:
      legend_value: false
      in_header: false
    data_generator: |
      return entity.attributes.detailedForecast.map((entry) => {
            return [new Date(entry.period_start), entry.pv_estimate*2];
          });
  - entity: sensor.solcast_forecast_tomorrow
    name: Solar Forecast (D2)
    float_precision: 3
    extend_to: false
    color: grey
    opacity: 0.3
    stroke_width: 0
    yaxis_id: kWh
    show:
      legend_value: false
      in_header: false
    data_generator: |
      return entity.attributes.detailedForecast.map((entry) => {
            return [new Date(entry.period_start), entry.pv_estimate*2];
          });
  - entity: sensor.solcast_forecast_d3
    name: Solar Forecast (D3)
    float_precision: 3
    extend_to: false
    color: grey
    opacity: 0.3
    stroke_width: 0
    yaxis_id: kWh
    show:
      legend_value: false
      in_header: false
    data_generator: |
      return entity.attributes.detailedForecast.map((entry) => {
            return [new Date(entry.period_start), entry.pv_estimate*2];
          });

 

Thanks for the suggestion. I had the wrong attribute detailedForecast.map. 

In addition, there is some error after the update: 

Ten błąd pochodzi z niestandardowej integracji.

Logger: custom_components.solcast_solar.sensor
Source: custom_components/solcast_solar/sensor.py:382
Integration: Solcast PV Forecast (documentation, issues)
First occurred: 20:02:00 (21 occurrences)
Last logged: 20:21:00

SOLCAST - unable to get sensor value Incorrect number of forecasts returned. 17 Traceback (most recent call last): File "/config/custom_components/solcast_solar/sensor.py", line 344, in extra_state_attributes return self.coordinator.get_sensor_extra_attributes( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/solcast_solar/coordinator.py", line 195, in get_sensor_extra_attributes return self.solcast.get_forecast_day(0) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/solcast_solar/solcastapi.py", line 297, in get_forecast_day raise ValueError(f"Incorrect number of forecasts returned. {len(h)}") ValueError: Incorrect number of forecasts returned. 17

 

Edited by Dariusz

On 2023/09/01 at 10:58 PM, slipx said:

 

Can you see the sensor under the statistics tab in developer tools? 

image.thumb.png.fe6c60c3f47e7ec55d27dbd0f7ed58e7.png

no the sensor does not show up there. 

No template sensors are shown, only the original "Master" and "Slave" entities

Is there something i can do to show these sensors? 

image.thumb.png.dd132a1c7bcc9711edc29e6ef6935999.png

  • Author
3 hours ago, lun123 said:

no the sensor does not show up there. 

No template sensors are shown, only the original "Master" and "Slave" entities

Is there something i can do to show these sensors? 

image.thumb.png.dd132a1c7bcc9711edc29e6ef6935999.png

What does it say in ESPhome? 

 

Should look something like this but with 2 devicesimage.png.17e96da579b5cbf63fa1065de917ca67.png

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.