I’m trying to get my SolarEdge SE3000H / meter combination working with Modbus TCP and SunSpec. I’m on OH 2.5.5 with Modbus 2.5.7. I actually have it working, but I’m getting a lot of errors in the log I’d like to clear up.
I created a modbus TCP slave, which is Online. That auto discovered my modbus Inverter and Meter, and I have added corresponding items which are updating just fine. However, I’m getting this error every 20 seconds.
Standard port for Modbus is 502. The error message shows that port 1502 is being used. Is that done by intention ?
As long as the unencrypted Modbus protocol is used you can use wireshark to sniff the network communication and analyze it.
Thanks for the pointer to the tutorial - that’s what I needed. It was the remote end saying no, but I couldn’t work out why, given that my modbus items are working correctly, so OH must be talking to my inverter. It turns out I needed to tune the connection, specifically to keep the TCP connection open for a minute, rather than reconnecting after every transaction, and also to wait 100ms between connections rather than trying immediately. I suspect it was the immediate retries that was causing my inverter to complain, because it only supports one slave connection at a time, so if the old connection was still in the process of being torn down, I guess that would result in the refusal of the new connection.
Really, don’t just try random stuff with Modbus. Considered choices. It’s either RTU by design or it isn’t.
The implication here is that it has never yet worked, it doesn’t begin to work then throw the error, is that right?
If so, we needn’t worry about any of the timing settings, which only come into play after the first connection.
Please show us your own error message log, sometimes “me too” isn’t quite the same.
You really shouldn’t be guessing at these. This is stuff that you set up on your equipment - what did you set it to?
Did you discover this previously, then turn discovery off?
I recall when I had my system installed, the installer had to explicitly enable the modbus interface on the inverter - it’s off by default. If this hasn’t worked at all for you yet, that’s probably the place to start looking. There is a SolarEdge provisioning app in which you can change the setting, but only installers have access to that app.
Hi @rossko57, hi @jonwhitear, thanks for picking this up! Your questions pointed me into the right direction.
I rechecked the modbus settings with the company that did the installation and found out that ‘modbus over tcp’ just wasn’t enabled at all (which was not visible in the SetApp read-only mode). They now enabled it and everythings is running fine now. I also adjusted the timing setting and will now start digging into monitoring