Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatible inverters #41

Closed
kbialek opened this issue Mar 19, 2023 · 38 comments
Closed

Compatible inverters #41

kbialek opened this issue Mar 19, 2023 · 38 comments
Labels

Comments

@kbialek
Copy link
Owner

kbialek commented Mar 19, 2023

Please report here inverter models that work with this tool. This will let me build a database of compatible inverters. Thanks!

Please report:

  1. Inverter model
  2. Used metric groups
@kbialek kbialek pinned this issue Mar 19, 2023
@aresius
Copy link

aresius commented Mar 20, 2023

It seems to work with
Model: Deye SUN300G3-EU-230
Firmware: MW3_16U_5406_1.53
Metric groups: micro

Thank you very much!

@UltimateGER
Copy link

It seems to work with
Model: Deye SUN600G3-EU-230
Firmware: MW3_16U_5406_1.56

Thank you very much!

@parkpirat
Copy link

  1. Deye SUN1600G3-EU-230
  2. micro

-> in general working, not finally tested all collected data
Did you use the file below as base for the different parameters? This file I've received from Deye service last time.

DEYE_Modbus储能-组串-微逆宁波德业V118.pdf

@kbialek
Copy link
Owner Author

kbialek commented Mar 22, 2023

Did you use the file below as base for the different parameters? This file I've received from Deye service last time.

Yes, exactly

@K3vb3rt
Copy link

K3vb3rt commented Apr 16, 2023

Model: Deye SUN800G3-EU-230
Firmware: MW3_16U_5406_1.57

Thanks!

@ivanK0dy
Copy link

ivanK0dy commented Apr 16, 2023

Hi @kbialek,

As inverters are just rebranded but same HW, I tested on FU-SUN-5K-G05 (Fuji Solar) and get most of information but I miss data from Mobus connected Meter which data are on registers 150-218:
PDF Document for Deye by "[parkpirat]" few posts earlier..

Registers dec 150 - 218 ? As I can see your script only pull range 003c-0075.
If i try to read it with your toll I get:
Day Load Power:
docker run --rm --env-file config.env ghcr.io/kbialek/deye-inverter-mqtt r 200
int: 1194, l: 170, h: 4

Meter active power: registers 203 (low) and 204(high) I get:
int: 65027, l: 3, h: 254
int: 65535, l: 255, h: 255

How to pull this second range? Or I should create new instance with new range and only read new registers from that range.
Thank you

@edvandreas
Copy link

Logger Model: Stick Logger LSW-3 (Wifi)

Inverter Model: Deye Sun 12K SG04LP3 EU
Firmware: 2005-1128-1807

Works great, reading the data every 10 seconds without problems. Thank you!

@devil33
Copy link

devil33 commented Apr 18, 2023

Works here with

Model: Deye SUN600G3-EU-230
Firmware: MW3_16U_5406_1.57

Thank you so much!

@RafaelDuncan
Copy link

Logger Model: Stick Logger LSW-3 (Wifi)

Inverter Model: Deye Sun 12K SG04LP3 EU Firmware: 2005-1128-1807

Works great, reading the data every 10 seconds without problems. Thank you!

Hello, is it also possible to write data to the Deye Sun 12K SG04LP3 EU? I want to be able to control the adjustments from Home Assistant

@github-actions
Copy link

github-actions bot commented Jun 9, 2023

This issue is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale label Jun 9, 2023
@kbialek kbialek removed the stale label Jun 9, 2023
@marcniedersachsen
Copy link

Thank you very much for this great implementation. I have successfully tested these two ("brand new ?") Micro Inverters:

Deye SUN-M60g3-EU-230
and
Deye SUN-M80g3-EU-230

Metric group = Micro, (I haven't tested ",settings". Guess that will work too :-)

@lpunkt66
Copy link

Works for me with version 2023.06.2 👍

Model: Deye SUN800G3-EU-230
Firmware: MW3_16U_5406_1.57
Metric group: micro

Device serial number 3912xxxxxx
Inverter serial number 2303xxxxxx

Did't work with 2023.05.4

Thanks very much!!!

@fakehec
Copy link

fakehec commented Jul 15, 2023

Model:Deye 30kW SUN-30K-SG01HP3-EU-BM3 hybrid with battery
Metric: deye_sg04lp3, deye_sg04lp3_battery,deye_sg04lp3_ups

Logger serial number: 2770xxxxxx
Inverter serial number: 2304xxxxxx
Works ok everything except data from PV3

Please implement PV3 line data in deye_sg04lp3

@Verkalets
Copy link

@kbialek thanks!

@github-actions
Copy link

This issue is stale because it has been open for 30 days with no activity.

@toleabivol
Copy link

DEYE SUN-8K-SG04LP3-EU
Metrics : deye_sg04lp3,deye_sg04lp3_battery

@Harry4711
Copy link

Hi congratulation to the project.
Model: Deye SUN800G3-EU-230
Firmware: MW3_16U_5406_2.32-D1
I did create a "deye_sensors_deye_2mppt.py" with the appropriate Value for the above model and intergrated it in your "deye_sensors.py" file as you did with other "deye_sensors_deye_*.py" files.
It worked well in an Home Automation environment developed with FHEM
If you are intereset, I could upload the file and send further information.
I did create own groups to not have to use the "micro" one to be more specific for this model.
Best regard

@fschwanzara
Copy link

fschwanzara commented Oct 12, 2023

Model: Deye SUN600G3-EU-230
Firmware: MW3_16U_5406_2.32-D1
Metric Group: Micro

Error:

DeyeModbusTcp - ERROR - Response frame has invalid starting byte
DeyeTcpConnector - DEBUG - Received response frame in 1. attempt: 41542b595a434d505645523d4d57335f3136555f353430365f322e33322d44310d0a0d0a
DeyeTcpConnector - DEBUG - Request frame: a51700104500008fde70e90200000000000000000000000000000103003c003945d4c615
DeyeDaemon - INFO - Reading registers [metrics group: micro, range: 003c-0074]
DeyeDaemon - INFO - Reading start

I just wanted to get the MQTT messages to send it over to influxDB/Grafana
I let the container run on my Synology - MQTT is on my RasPi.

Update

With setting to Logger Mode AT it works now:

DEYE_LOGGER_PROTOCOL=at
DEYE_LOGGER_PORT=48899

Thank you so much for this Project !!!!

@mrlordziemniak
Copy link

mrlordziemniak commented Feb 17, 2024

Hi i have DTSD422-D3 i can read data, but for example current CT1 when energy is with - value there is still + how to mengae this?
and on all Total Positive Energy CT1 CT2 etc is not correct value, any ideas why?
PL:
Udało się zrobić odczyt z tego licznika, ale nie wiem dlaczego wartości prądu jak są z minusem to dalej pokazuje jak z plusem, tj nie pojawia się minus, oraz pod rejestrami od total positive energy są jakieś głupoty

@xGDNAx
Copy link

xGDNAx commented Mar 15, 2024

WR BW-MI600 Bosswerk
MW3_16U_5406_2.32-D1

Micro, settings

@omgfreezeur
Copy link

omgfreezeur commented Mar 28, 2024

Deye SUN-M160G4-EU-Q0
SW: MW3_16U_5406_1.59

Micro, settings

Got it also in HA integraded and can set all the active power througth HA

@xGDNAx
Copy link

xGDNAx commented Mar 28, 2024

#154

@SandimL
Copy link

SandimL commented Apr 13, 2024

Its working with:

Model: Deye SUN-4K-G
Firmware: LSW3_15_FFFF_1.0.9E
Metric groups: string, micro

Thank you!

Copy link

This issue is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale label May 14, 2024
@jpgnz
Copy link

jpgnz commented May 19, 2024

Model: Deye SUN-16K-SG01LP1-EU
DEYE_METRIC_GROUPS=deye_hybrid,deye_hybrid_battery,deye_hybrid_timeofuse,settings

Looks to be complete, have left all features at defaults, eg haven't tried writes:

# DEYE_FEATURE_MQTT_PUBLISHER=true
# DEYE_FEATURE_TIME_OF_USE=false
# DEYE_FEATURE_ACTIVE_POWER_REGULATION=false
# DEYE_FEATURE_SET_TIME=false

@github-actions github-actions bot removed the stale label May 19, 2024
@matt-kubica
Copy link

Deye SUN-20K-SG01HP3-EU-AM2 (version of SUN-6/8/10/12/15/20K-SG01HP3-EU-AM2) seems to be working fine with deye_sg01hp3, deye_sg01hp3_battery, deye_sg01hp3_bms, deye_sg01hp3_ups, settings metric groups.

Haven't tried writes and features besides mqtt reporting. Configuration was mostly default (apart from the envs I had to change).

CarstenGrohmann added a commit to CarstenGrohmann/deye-inverter-mqtt that referenced this issue Jun 10, 2024
Environment variables with spaces in them must be quoted, otherwise
`make run` will report `command not found`:

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230

$ make run
config.env: line 49: EU: command not found
2024-06-10 21:13:44,180 - DeyeDaemon - INFO - Please help me build the list of compatible inverters. kbialek#41
2024-06-10 21:13:44,190 - DeyePluginLoader - INFO - Loading plugin: 'deye_plugin_ha_discovery'
2024-06-10 21:13:44,191 - DeyeConnectorFactory - INFO - Creating Modbus/TCP Logger connector
[...]
```

With the quotation marks, the environment variables in Docker are
slightly different:

**Setup:**

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"
```

**Local Python**

```
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230
```

**Docker**

```
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"
```

This change addresses the different behavior of Docker compared to a
Unix shell and removes single and double quotes only if they are the
first and last character of the string.

The functionality was added to `DeyeEnv.integer()` and
`DeyeEnv.boolean()` for the sake of convenience to avoid problems with
quotes that may occur later.
CarstenGrohmann added a commit to CarstenGrohmann/deye-inverter-mqtt that referenced this issue Jun 10, 2024
Environment variables with spaces in them must be quoted, otherwise
`make run` will report `command not found`:

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230

$ make run
config.env: line 49: EU: command not found
2024-06-10 21:13:44,180 - DeyeDaemon - INFO - Please help me build the list of compatible inverters. kbialek#41
2024-06-10 21:13:44,190 - DeyePluginLoader - INFO - Loading plugin: 'deye_plugin_ha_discovery'
2024-06-10 21:13:44,191 - DeyeConnectorFactory - INFO - Creating Modbus/TCP Logger connector
[...]
```

With the quotation marks, the environment variables in Docker are
slightly different:

**Setup:**

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"
```

**Unix Shell and local  Python**

```
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230
```

**Docker**

```
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"
```

This change addresses the different behavior of Docker compared to a
Unix shell and removes single and double quotes only if they are the
first and last character of the string.

The functionality was added to `DeyeEnv.integer()` and
`DeyeEnv.boolean()` for the sake of convenience to avoid problems with
quotes that may occur later.
CarstenGrohmann added a commit to CarstenGrohmann/deye-inverter-mqtt that referenced this issue Jun 10, 2024
Environment variables with spaces in them must be quoted, otherwise
`make run` will report `command not found`:

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230

$ make run
config.env: line 49: EU: command not found
2024-06-10 21:13:44,180 - DeyeDaemon - INFO - Please help me build the list of compatible inverters. kbialek#41
2024-06-10 21:13:44,190 - DeyePluginLoader - INFO - Loading plugin: 'deye_plugin_ha_discovery'
2024-06-10 21:13:44,191 - DeyeConnectorFactory - INFO - Creating Modbus/TCP Logger connector
[...]
```

With the quotation marks, the environment variables in Docker are
slightly different:

**Setup:**

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"
```

**Shell and local Python**

```
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230
```

**Docker**

```
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"
```

This change addresses the different behavior of Docker compared to a
Unix shell and removes single and double quotes only if they are the
first and last character of the string.

The functionality was added to `DeyeEnv.integer()` and
`DeyeEnv.boolean()` for the sake of convenience to avoid problems with
quotes that may occur later.
CarstenGrohmann added a commit to CarstenGrohmann/deye-inverter-mqtt that referenced this issue Jun 10, 2024
Environment variables with spaces in them must be quoted, otherwise
`make run` will report `command not found`:

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230

$ make run
config.env: line 49: EU: command not found
2024-06-10 21:13:44,180 - DeyeDaemon - INFO - Please help me build the list of compatible inverters. kbialek#41
2024-06-10 21:13:44,190 - DeyePluginLoader - INFO - Loading plugin: 'deye_plugin_ha_discovery'
2024-06-10 21:13:44,191 - DeyeConnectorFactory - INFO - Creating Modbus/TCP Logger connector
[...]
```

With the quotation marks, the environment variables in Docker are
slightly different:

**Setup:**

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"
```

**Shell and local Python**

```
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230
```

**Docker**

```
$ strings /proc/<pid>/environ | grep DEYE_HA_PLUGIN_INVERTER_MODEL
DEYE_HA_PLUGIN_INVERTER_MODEL="SUN300G3 EU 230"
```

This change addresses the different behavior of Docker compared to a
Unix shell and removes double or single quotes only if they are the
first and last character of the string.

The functionality was added to `DeyeEnv.integer()` and
`DeyeEnv.boolean()` for the sake of convenience to avoid problems with
quotes that may occur later.
CarstenGrohmann added a commit to CarstenGrohmann/deye-inverter-mqtt that referenced this issue Jun 12, 2024
Environment variables with spaces in them must be quoted, otherwise
`make run` will report `command not found`:

```
$ grep DEYE_HA_PLUGIN_INVERTER_MODEL config.env
DEYE_HA_PLUGIN_INVERTER_MODEL=SUN300G3 EU 230

$ make run
config.env: line 49: EU: command not found
2024-06-10 21:13:44,180 - DeyeDaemon - INFO - Please help me build the list of compatible inverters. kbialek#41
2024-06-10 21:13:44,190 - DeyePluginLoader - INFO - Loading plugin: 'deye_plugin_ha_discovery'
2024-06-10 21:13:44,191 - DeyeConnectorFactory - INFO - Creating Modbus/TCP Logger connector
[...]
```

This change addresses the different behavior of Docker compared to a
Unix shell and removes double or single quotes only if they are the
first and last character of the string.

The functionality was added to `DeyeEnv.integer()` and
`DeyeEnv.boolean()` for the sake of convenience to avoid problems with
quotes that may occur later.

**Examples without quotes:**

```
$ cat config.env
VAR_WITH_SPACES=A B C

$ bash -c "set -a; source config.env; python -c 'import os; os.getenv(\"VAR_WITH_SPACES\")'"
config.env: line 1: B: command not found
```

```
$ cat config.env
VAR_WITH_SPACES=A B C

$ docker run --rm -ti --env-file config.env alpine env | grep VAR_WITH_SPACES
VAR_WITH_SPACES=A B C
```

**Examples with quotes:**

With the quotation marks, the environment variables in Docker are
slightly different:

```
$ cat config.env
VAR_WITH_SPACES="A B C"

$ bash -c "set -a; source config.env; python -c 'import os; print(os.getenv(\"VAR_WITH_SPACES\"))'"
A B C
```

```
$ cat config.env
VAR_WITH_SPACES="A B C"

$ docker run --rm -ti --env-file config.env alpine env | grep VAR_WITH_SPACES
VAR_WITH_SPACES="A B C"

$ docker run --rm -ti --env-file config.env alpine /bin/sh
/ # apk add python
[...]
/ # python
Python 3.12.3 (main, Apr 18 2024, 07:52:31) [GCC 13.2.1 20240309] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print(os.getenv("VAR_WITH_SPACES"))
"A B C"
```
Copy link

This issue is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale label Jun 23, 2024
@kbialek kbialek removed the stale label Jun 23, 2024
@TRIROG
Copy link

TRIROG commented Jul 14, 2024

Confirmed working DEYE SUN-12K-SG04LP3-EU
With TCP settings, DEYE_LOGGER_SERIAL_NUMBER=277XXXXXXXXXXXX
DEYE_METRIC_GROUPS=deye_sg04lp3,deye_sg04lp3_battery,deye_sg04lp3_ups,deye_sg04lp3_timeofuse,deye_sg04lp3_generator

Thank you! Awesome work!

@CarstenGrohmann
Copy link
Contributor

CarstenGrohmann commented Aug 5, 2024

Deye SUN300G3-EU-230

all firmware releases:

DEYE_METRIC_GROUPS=micro
DEYE_FEATURE_ACTIVE_POWER_REGULATION=false
DEYE_FEATURE_SET_TIME=true

Firmware: MW3_16U_5406_1.53 till MW3_16U_5406_1.63

Metric groups: micro
Modbus/TCP (default)

Firmware: MW3_16U_5406_2.32-D1

Metric groups: micro
Modbus/AT
Delivered power until the evening after the update, but no more the next morning.

@BjoernSch
Copy link

SUN-M80G4-EU-Q0
MW3_16U_5406_1.62

Metric groups: micro, settings_micro
Modbus/AT

Metric groups: micro, settings_micro
Modbus/TCP (default)

Settings was not really tested.

@Bhoft
Copy link

Bhoft commented Aug 25, 2024

SUN-M160G4-EU-Q0
MW3_16U_5406_1.59

Metric groups: micro,settings_micro
DEYE_LOGGER_PROTOCOL: at

Everythings works perfectly

Copy link

This issue is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale label Sep 25, 2024
Copy link

This issue was closed because it has been inactive for 14 days since being marked as stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests