September 27, 20232 yr Not sure when this started but I noticed my inverter comes continuously with a Warning - W04 meter_Comm_Fail. I think warning is there for a few seconds or so as i get no alarm , just warning and inverter runs normally. As an insurance measure i also have CT coils installed and left on each phase. Since I noticed the error i changed the cable between Meter and Inverter and used 2 pairs for A and B from a CAT6 cable.- No change Then I added 120Ohm resistor as termination on both Eastron and Deye ... same thing , no change. Inverter is connected to batteries via CAN ... so no interference here I hope. I also monitor everything with Solar Assistant that is connected to Deye by RS485 on BMS Port ... could this be the problem ? Any idea welcome.
September 28, 20232 yr Does the meter have a Modbus number that is within range of 16. It must not share the same number as the inverter. Check the Settings on the Meter of its Modbus number. Make sure you also set the Deye to the Easton meter in its settings. Instead of CT use Easton meter as a setting.
September 28, 20232 yr Author It worked fine for 8 months or so ... problem appeared 2-3 months back ? As I said meter talks with inverter fine 99.9% of the time and only throws a warning for 1 second or so. Tried with pins 1-2 and also 7-8 on meter port.
November 2, 20232 yr Author No , not solved yet... I think is a firmware issue and combination with Solar Assistant RS485 connection. Did not had time to debug more yet.
February 3, 20242 yr I have the same issue (with just a Deye SUN-12K-SG04LP3 inverter and Eastron SDM630 meter, no further connections). I have tried different slave addresses at the Deye and at the Eastron- the error remains. I think I will add an (Arduino-based, DIY - http://jheyman.github.io/blog/pages/RS485Sniffer/ ) modbus sniffer to debug the problem (maybe there is some CRC transmission error from time to time that the inverter is not tolerating) ... Edited February 3, 20242 yr by Alexander Grau
February 3, 20242 yr I have replaced the cable now (now it's a shielded twisted pair cable, before it was just a twisted pair cable). And this time, I have connected pins 1,8 and pins 2,7 and pins 3,6 at the Eastron meter side too (each pair connected together). Last time I just connected pins 1,2,3 however this could be the problem (because those unconnected pins are connected at the Deye side, and then you have 'open wires' in the cable - basically those act likes antennas and then may receive noise signals...) Addendum: The error just appeared again (also with replaced cable)... 🤣 Edited February 3, 20242 yr by Alexander Grau
February 3, 20242 yr Maybe the Deye inverter is sending some message packets with incorrect checksum (CRC) to the Eastron... I'll further debug this using my DIY RS485 Modbus RTU sniffer (Arduino code attached)... Edited February 5, 20242 yr by Alexander Grau
February 4, 20242 yr Author For me the problem appeared (if I remember correctly) after I upgraded the FW on the inverter or after I switched batteries from RS485 communication to CAN... I did so many changes and forgot to make a "changelog" so I can not be sure of anything anymore. For me the error comes as a warning and inverter keeps working ... maybe because I also have the CT's still connected. I did not tried to sniff the communication but something changed in FW for sure.
February 5, 20242 yr I have improved my sniffer tool, and the CRCs seem to be always correct. I noticed some messages are answered with a delay (up to 500ms or maybe sometimes longer) by the Eastron meter. It could be that the Deye is not tolerant enough for this long delay... (e.g. if it exceeds 500ms)
February 5, 20242 yr The error appeared again at 11:49 (the previous errors are due to restarting the sniffer) and I have the full sniffing log available. Nothing special there (no delays above 500ms, no CRC errors)... I think the Deye firmware is complaining without a good reason... log.txt Edited February 5, 20242 yr by Alexander Grau
February 5, 20242 yr Author I tried to explain this to Deye tech team ... it seems they are aware of the issue but still blame Eastron and cable and anything else than the inverter I poked them again and reminded them of the issue , let's say maybe they will require come more logs. Will let you know and thanks for sharing. Edited February 5, 20242 yr by Jaxone
February 5, 20242 yr Thanks. I will start decoding the transmitted data now as I wanted to show the transmitted grid data anyways at another location here (and maybe I can find something in it)...
February 5, 20242 yr My sniffer can now decode the data (first shown values are: importWh, exportWh, phase1Power, phase2Power, phase3Power). It looks like there might be an issue at the Deye side with interpretation of this data (maybe with the sign). The error seem to happen here only when the PV panels are starting (or stopping) generating power... I'll further monitor this... Edited February 7, 20242 yr by Alexander Grau
February 5, 20242 yr Author Well , past few days there was VERY little sun here and I still have the error also during the night when there is no sun for sure
February 6, 20242 yr OK, here's another log file. The warnings appeared at 15:12 and 15:42. And at those times, there is no issue in the log file (no CRC error, no timeouts, no wrong decoded data, everything is fine). The alarm is fully random. log_6_2_2024.txt Edited February 6, 20242 yr by Alexander Grau
February 6, 20242 yr I'm sorry, I have to correct myself - I see something strange at the alarm times (15:12 and 15:42): 15:10:28.345 -> 2923,2578,104,164,415 Ans: dt=31 (2079) err=14 f=04 pkt:01 04 0C 42 CF 9F C6 43 23 C1 42 43 CF 80 5C 96 CB 104,164,415, 15:10:28.677 -> 2923,2578,104,164,415 Req: dt=340 (2079) err=14 f=10 pkt:AB 10 01 1E 00 02 04 01 F7 00 00 ED 6B 15:10:28.744 -> 2923,2578,104,164,415 Req: dt=65 (2079) err=14 f=04 pkt:01 04 00 48 00 04 71 DF addr=72,cnt=4 15:10:28.777 -> 2907,2578,104,164,415 Ans: dt=29 (2079) err=14 f=04 pkt:01 04 08 45 35 B5 02 45 20 F3 37 F7 44 2907,2578, 15:10:29.175 -> 2907,2578,104,164,415 Req: dt=405 (2079) err=14 f=04 pkt:01 04 00 0C 00 06 B0 0B addr=12,cnt=6 15:10:29.208 -> 2907,2578,140,153,3809 Ans: dt=41 (2079) err=14 f=04 pkt:01 04 0C 43 0B E4 79 43 19 22 A8 45 6D A3 70 A9 C2 140,153,3809, 15:10:29.574 -> 2907,2578,140,153,3809 Req: dt=340 (2079) err=14 f=10 pkt:AB 10 01 1E 00 02 04 01 F7 00 00 ED 6B .......... 15:42:21.057 -> 2923,2579,168,189,4218 Req: dt=337 (2079) err=16 f=10 pkt:AB 10 01 1E 00 02 04 02 59 00 00 8C CE 15:42:21.123 -> 2923,2579,168,189,4218 Req: dt=65 (2079) err=16 f=04 pkt:01 04 00 48 00 04 71 DF addr=72,cnt=4 15:42:21.157 -> 2924,2579,168,189,4218 Ans: dt=29 (2079) err=16 f=04 pkt:01 04 08 45 35 D3 F0 45 20 F3 4C 87 74 2924,2579, 15:42:21.555 -> 2924,2579,168,189,4218 Req: dt=417 (2079) err=16 f=04 pkt:01 04 00 0C 00 06 B0 0B addr=12,cnt=6 15:42:21.588 -> 2924,2579,159,193,4724 Ans: dt=32 (2079) err=16 f=04 pkt:01 04 0C 43 1F 8A 26 43 41 CD 17 45 92 AC FB 98 AC 159,193,4724, 15:42:21.721 -> 2924,2579,159,193,4724 Req: dt=128 (2079) err=16 f=10 pkt:AB 10 01 1E 00 02 04 02 59 00 00 8C CE 15:42:21.787 -> 2924,2579,159,193,4724 Req: dt=65 (2079) err=16 f=04 pkt:01 04 00 48 00 04 71 DF addr=72,cnt=4 15:42:21.821 -> 2924,2579,159,193,4724 Ans: dt=29 (2079) err=16 f=04 pkt:01 04 08 45 35 D3 F4 45 20 F3 4C 76 B4 2924,2579, 15:42:22.120 -> 2924,2579,159,193,4724 Req: dt=305 (2079) err=16 f=04 pkt:01 04 00 0C 00 06 B0 0B addr=12,cnt=6 15:42:22.153 -> 2924,2579,121,187,935 Ans: dt=32 (2079) err=16 f=04 pkt:01 04 0C 42 F1 BE C4 43 3A FE 20 44 69 A8 52 1E 79 121,187,935, 15:42:22.551 -> 2924,2579,121,187,935 Req: dt=383 (2079) err=16 f=10 pkt:AB 10 01 1E 00 02 04 02 11 00 00 0C D8 15:42:22.618 -> 2924,2579,121,187,935 Req: dt=64 (2079) err=16 f=04 pkt:01 04 00 48 00 04 71 DF addr=72,cnt=4 15:42:22.651 -> 2924,2579,121,187,935 Ans: dt=29 (2079) err=16 f=04 pkt:01 04 08 45 35 D3 F8 45 20 F3 4C 66 B5 2924,2579, 15:42:23.083 -> 2924,2579,121,187,935 Req: dt=451 (2079) err=16 f=04 pkt:01 04 00 0C 00 06 B0 0B addr=12,cnt=6 15:42:23.116 -> 2924,2579,154,188,4055 Ans: dt=32 (2079) err=16 f=04 pkt:01 04 0C 43 19 74 A2 43 3B C8 B5 45 7D 2E 4B C3 BE 154,188,4055, 15:42:23.514 -> 2924,2579,154,188,4055 Req: dt=383 (2079) err=16 f=10 pkt:AB 10 01 1E 00 02 04 02 11 00 00 0C D8 15:42:23.581 -> 2924,2579,154,188,4055 Req: dt=65 (2079) err=16 f=04 pkt:01 04 00 48 00 04 71 DF addr=72,cnt=4 15:42:23.581 -> 2924,2579,154,188,4055 Ans: dt=29 (2079) err=16 f=04 pkt:01 04 08 45 35 D3 FC 45 20 F3 4C 97 75 2924,2579, 15:42:23.913 -> 2924,2579,154,188,4055 Req: dt=312 (2079) err=16 f=04 pkt:01 04 00 0C 00 06 B0 0B addr=12,cnt=6 15:42:23.946 -> 2924,2579,167,191,4560 Ans: dt=32 (2079) err=16 f=04 pkt:01 04 0C 43 27 63 88 43 3F 25 C7 45 8D 8F F6 8C 1C 167,191,4560, 15:42:24.278 -> 2924,2579,167,191,4560 Req: dt=337 (2079) err=16 f=10 pkt:AB 10 01 1E 00 02 04 02 57 00 00 ED 0D 15:42:24.344 -> 2924,2579,167,191,4560 Req: dt=65 (2079) err=16 f=04 pkt:01 04 00 48 00 04 71 DF addr=72,cnt=4 15:42:24.377 -> 2909,2579,167,191,4560 Ans: dt=29 (2079) err=16 f=04 pkt:01 04 08 45 35 D4 04 45 20 F3 4C 37 16 2909,2579, 15:42:24.776 -> 2909,2579,167,191,4560 Req: dt=408 (2079) err=16 f=04 pkt:01 04 00 0C 00 06 B0 0B addr=12,cnt=6 => The Eastron meter seem to be counting (importWh, first number) backwards at the alarm times 🙂 - That should not happen Edited February 6, 20242 yr by Alexander Grau
February 6, 20242 yr Having a closer look shows: I did the IEEE 754 binary-to-float decode calculation wrong (will correct it) - and I'm 99% sure the Deye firmware does it wrong too (because the alarm is exactly at the times where my wrong calculation counts backwards ;-)... (if decoded correctly, there is no counting backwards anymore) 4535B502 -> should be decoded as: 2907.31298828125 ( verify here: https://cs.lmu.edu/~ray/demos/ieee754.html ) ... 4535D3F0 -> should be decoded as: 2909.24609375 4535D3F4 -> should be decoded as: 2909.2470703125 4535D3FC -> should be decoded as: 2909.2490234375 4535D404 -> should be decoded as: 2909.2509765625 Edited February 6, 20242 yr by Alexander Grau
February 6, 20242 yr ...and this looks odd to me (more than 12 KW peak power?? ) - This shows that the Deye inverter is definitively decoding the Watt-hours-in-out meter data incorrectly (like I did before)... Edited February 6, 20242 yr by Alexander Grau
February 6, 20242 yr I have updated the inverter firmware and HMI firmware (as described here), and hopefully the alarms are gone 😉 ... hmi: 1001-c031 --> 1001-c037 main: 2005-1128-1807 --> 200x-1140-0824 Edited February 6, 20242 yr by Alexander Grau
February 7, 20242 yr If you tap on the grid symbol and then on 'energy' at the display, you should see something like above. And probably your charts looks odd too. This clearly shows this is not a cable or data transmission issue (because not transmitted or wrong transmitted data would be simply ignored and skipped). This is an IEEE 754 binary-to-float decoding issue at the Deye side (incorrect data interpretation). Edited February 7, 20242 yr by Alexander Grau
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.