Troubleshooting Modbus Connection Issues with Stiebel Eltron ISG

I recently encountered some challenges while trying to connect my Stiebel Eltron ISG to my openHAB setup. It was quite frustrating at first, but I managed to work through it step by step. Here’s what happened and how I resolved it, in case anyone else runs into similar issues.

The Problem

I set up my Modbus TCP Slave thing with the default parameters, assuming everything would work seamlessly. However, I kept getting the error: Slave responded with error=2. This error message wasn’t very helpful at first glance, and I wasn’t sure where to start troubleshooting.

My Investigation

I started by checking my configuration settings. Everything seemed correct—the host IP, port, and other parameters were all set up properly. I even created a poller to test if I could read registers manually, and it worked! That told me the connection wasn’t the issue, but something was wrong with how the ISG was responding to specific requests.

The Solution

After some research, I discovered that error code 2 in Modbus typically means an Illegal Data Value. This happens when the slave device receives a request that it can’t process due to invalid data values. In my case, the issue was related to the registers I was trying to read. The ISG wasn’t configured to allow access to those specific registers, or they were set to values that weren’t supported.

To fix this, I adjusted the registers I was trying to read to ones that the ISG supported. I also made sure to configure the ISG properly through its interface, ensuring that the registers I needed were accessible and within valid ranges.

Key Takeaways

  1. Understand the Error Codes: Modbus error codes can be your best friend if you know what they mean. Error code 2 specifically pointed me toward data value issues.
  2. Test with a Poller: Using a poller to manually read registers was a great way to isolate the problem. It confirmed that the connection itself wasn’t the issue.
  3. Consult Documentation: Make sure to refer to your device’s documentation to understand which registers are accessible and what values they expect.

If you’re facing similar issues, don’t hesitate to reach out to the community for help. We’re all here to learn and support each other!

Happy automating! :rocket: