jbuehl / solaredge

SolarEdge inverter logging data capture
GNU General Public License v3.0
288 stars 60 forks source link

No data on RS485 passive #157

Open dennisfisch opened 3 years ago

dennisfisch commented 3 years ago
Hey there, my setup is SE-WND-3Y400-MB (Energy Meter) SE3000H (Inverter with Display, ZigBee, Ethernet, 2x RS485 (2nd is unconnected), no SetApp, no RS232 that i can find on the PCB)

StoreEdge | LG Resu7H

I have connected my Raspberry PI Zero W with the Energy Meter. I disabled the termination resistor on it and installed a 130R along with the wires into the WaveShare RS485 / CAN HAT.

This same HAT works perfectly fine talking to my HeatPump, but i cannot for the life of me get any useful data using semonitor.py as it just continues to hang indefinitely: `pi@raspberrypi:~/solaredge $ python semonitor.py -vvvv -t 4 -d stdout /dev/ttyAMA0 -b 9600

append: False baudrate: 9600 commands: datasource: /dev/ttyAMA0 follow: False following: True interface: None keyfile: None logfile: stdout master: False outfile: stdout ports: 22222,22221,80 record: None slaves: type: 4 updatefile: None verbose: 4 xerror: False opening /dev/ttyAMA0` I've monitored the serial port using SCREEN (screen /dev/ttyAMA0 9600) and sure enough, there is data coming into that port. The input matches the flashing LED of the energy meter and stops as soon as i yank out a wire so its definitely coming through the serial port. Data is visible and consistent only at baudrate 9600, getting less and less visible until 57600, after which nothing comes though at the default of 115200, leading me to believe it has been configured to be 9600 for my installation.

I then tried to record the incoming data with semonitor using the -r flag which produces a file with binary content. I cannot really interpret the modbus frames in there, or even what to look for. Is there anything that I'm missing?

At one point, the program aborted on me with this message: `pi@raspberrypi:~/solaredge $ python semonitor.py -vvvv -t 4 -d stdout /dev/ttyAMA0 -r out.txt -b 9600

append: False baudrate: 9600 commands: datasource: /dev/ttyAMA0 follow: False following: True interface: None keyfile: None logfile: stdout master: False outfile: stdout ports: 22222,22221,80 record: out.txt slaves: type: 4 updatefile: None verbose: 4 xerror: False opening /dev/ttyAMA0 Exception while reading data: device reports readiness to read but returned no data (device disconnected or multiple access on port?) /dev/ttyAMA0 --> message: 1 length: 1006 data: 12 34 56 79 86 7e 60 fe 18 80 1e 80 60 78 80 66 data: e6 80 80 18 80 1e 80 e0 80 80 f8 86 1e 98 7e 86 data: f8 98 f8 e6 18 98 18 86 86 78 fe 1e 98 e0 60 7e data: e6 60 80 1e e0 1e 9e e6 80 e0 e6 e6 80 e0 e6 66 data: e6 f8 06 80 06 80 e6 80 e0 e6 06 18 60 f8 18 80 data: 1e 80 60 78 80 66 e6 80 80 18 80 1e 80 e0 80 9e data: 86 1e 9e 1e 98 fe 60 80 78 86 86 80 06 18 1e 98 data: f8 f8 1e 98 e0 60 f8 e6 60 80 1e e0 1e 9e e6 80 data: e0 e6 e6 80 e0 e6 66 e6 f8 06 80 06 80 e6 80 e0 data: e6 fe f8 e0 f8 18 80 1e 80 60 78 80 66 e6 80 80 data: 18 80 1e 80 e0 80 e0 60 60 e6 80 86 1e e6 e0 86 data: 18 18 98 1e 86 86 98 86 1e 98 e0 60 78 78 7e fe data: e6 60 80 1e e0 1e 9e e6 80 e0 e6 e6 80 e0 e6 66 data: e6 f8 06 80 06 80 e6 80 e0 e6 06 18 9e 18 80 1e data: 80 60 78 80 66 e6 80 80 18 80 1e 80 e0 80 86 fe data: 78 98 1e 98 e0 60 86 86 66 06 66 f8 60 06 86 60 data: e6 80 e6 1e 66 e6 86 9e 86 fe e0 80 60 f8 60 78 data: 1e 06 7e 60 fe 18 80 1e 80 60 78 80 66 e6 80 80 data: 18 80 1e 80 e0 80 98 1e 66 e6 80 86 1e 06 9e 80 data: 60 06 66 7e 98 e0 9e fe 1e 98 e6 e6 60 80 1e e0 data: 1e 9e e6 80 e0 e6 e6 80 e0 66 e6 f8 06 80 06 80 data: e6 80 e0 e6 06 18 60 f8 18 80 1e 80 60 78 80 66 data: e6 80 80 18 80 1e 80 e0 80 fe 98 e0 f8 1e 98 e0 data: 60 e6 66 86 86 80 86 18 9e e6 06 e6 80 66 e6 60 data: 80 1e e0 1e 9e e6 80 e0 e6 e6 80 66 e6 f8 06 80 data: 06 98 06 18 80 1e 80 78 80 66 e6 80 80 18 80 1e data: 80 e0 80 86 fe fe f8 1e 98 98 60 f8 98 7e 06 66 data: 60 e6 e0 fe 98 80 06 60 7e 60 7e e6 60 80 1e e0 data: 1e 9e e6 80 e0 e6 e6 80 66 e6 f8 06 80 06 80 e6 data: 80 e0 e6 98 78 66 18 80 1e 80 78 80 66 e6 80 80 data: 18 80 1e 80 e0 80 86 78 80 06 1e 86 06 18 98 86 data: fe e0 80 60 f8 60 78 1e 78 fe 7e 60 fe 18 80 1e data: 80 60 78 80 66 e6 80 80 18 80 1e 80 e0 80 e6 60 data: f8 1e 98 86 60 18 9e 66 18 98 98 60 1e 06 e6 1e data: 98 98 60 1e e6 f8 fe 18 9e 66 78 80 86 66 18 fe data: 18 80 1e 80 60 78 80 66 e6 80 80 18 80 1e 80 e0 data: 80 78 60 18 98 80 66 1e 66 fe 9e 78 06 66 06 18 data: 60 98 7e 98 80 66 60 66 06 18 e6 60 80 1e e0 1e data: 9e e6 80 e0 e6 e6 80 e0 66 e6 f8 06 80 06 80 e6 data: 80 e0 e6 9e 66 fe 18 80 1e 80 60 78 80 66 e6 80 data: 80 18 80 1e 80 e0 80 78 66 1e 1e 98 18 86 fe 80 data: 18 98 80 86 f8 80 98 86 1e 98 06 e6 60 80 1e e0 data: 1e 9e e6 80 e0 e6 e6 80 e0 66 e6 f8 06 80 06 80 data: e6 80 e0 e6 98 78 66 18 80 1e 80 60 78 80 66 e6 data: 80 80 18 80 1e 80 e0 80 9e e0 80 60 80 86 1e 06 data: 9e 98 1e 80 86 60 06 7e 18 e0 1e 98 fe 60 e6 60 data: 80 1e e0 1e 9e e6 80 e0 e6 e6 80 e0 66 e6 f8 06 data: 80 06 80 e6 80 e0 e6 66 9e e0 e0 18 80 1e 80 78 data: 80 66 e6 80 80 18 80 1e 80 e0 80 fe 60 f8 1e 98 data: 86 60 7e 18 60 18 98 f8 60 66 66 60 9e 80 86 86 data: fe e0 80 f8 60 78 1e 06 7e 60 fe 18 80 1e 80 78 data: 80 66 e6 80 80 18 80 1e 80 e0 80 98 78 78 78 9e data: 9e e6 60 80 1e e0 1e 9e e6 80 e0 e6 e6 80 66 e6 data: f8 06 06 18 fe 18 80 1e 80 78 80 66 e6 80 80 18 data: 80 1e 80 e0 80 60 fe 06 86 1e 98 60 86 18 fe 86 data: f8 18 98 18 86 60 98 e0 1e 98 e0 60 fe 06 f8 e6 data: 60 80 1e e0 1e 9e e6 80 e0 e6 e6 80 e0 60 e6 f8 data: 06 80 06 80 e6 80 e0 e6 fe 80 e6 fe 18 80 1e 80 data: 60 78 80 66 e6 80 80 18 80 1e 80 e0 80 86 1e e6 data: 80 86 06 18 98 fe 98 18 98 e6 60 9e 1e e6 80 e6 data: 1e 66 66 e6 60 80 1e e0 1e 9e e6 80 e0 e6 e6 80 data: e0 66 e6 f8 06 80 06 80 e6 80 e0 e6 06 06 e0 18 data: 80 1e 80 78 7e 60 18 66 f8 f8 18 80 1e 80 closing /dev/ttyAMA0 closing out.txt closing `

cwsmith commented 3 years ago

Do you know what firmware your inverter is running?

According to this doc https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf , under SunSpec Supported Inverters, you'll need > 3.xxxx for SunSpec support.

dennisfisch commented 3 years ago

To follow up on this, i obtained an RS485 USB Converter and plugged it into my laptop. Together with SerialPortMonitor (unfortunately not free....) i got it to list some interactions: image

Seems the PI is not able to keep up using the WaveShare RS485 HAT. Unfortunately it is not reporting any data using the USB dongle either.

dennisfisch commented 3 years ago

Do you know what firmware your inverter is running?

According to this doc https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf , under SunSpec Supported Inverters, you'll need > 3.xxxx for SunSpec support.

Thanks for your response. I just checked it on the display as described in the Spec you mentioned and the version is reported as 3.2525

jbuehl commented 3 years ago

I'm not familiar with that hardware, but if it gets data from the inverter in the SunSpec format it isn't going to work with semonitor.py. This software is for reading data in the proprietary SolarEdge format.

dennisfisch commented 3 years ago

Soooo.. by the looks of it this is the case here? In that case i'm sorry for opening an issue for what is obviosly my own fault. I do not have adminstrative access to the inverter and cannot change any of its settings.

I guess i'll have to look into a different solution.

cwsmith commented 3 years ago

A couple sunspec parsers that look interesting: https://github.com/nmakel/solaredge_modbus https://github.com/tjko/sunspec-monitor

nflch commented 2 years ago

I'm not familiar with that hardware, but if it gets data from the inverter in the SunSpec format it isn't going to work with semonitor.py. This software is for reading data in the proprietary SolarEdge format.

My Inverter does not have RS232 so I tried the RS485 interface. After one day work I get this tracker.

@jbuehl PLEASE add in the description (README.md in RS485 part), that the protocol must be the proprietary SolarEdge format and not the modbus format. Thank you a lot