Kindly seek help. In my project I want to ‘fake’ a smart meter via Modbus rtu server for a solis inverter.

Somehow the solis realizes that I am faking him, so I am wondering which Modbus rtu server library you can recommend to allow me seeing what registers the solis is querying? As of now I am using Emilianov Modbus-8266 library to run the rtu server/slave and platform is an esp32 with max3485.

So let me elaborate. Mine Solis simply sucks during low-light conditions. It can not decide if it shall charge or discharge, resulting in heavy oscialltion, jumping from feeding to much into grid and then taking to much from grid - peaks are ranging from +800Watt to -800Watt when it starts oscillating.

On the com-port you are true - here the solis acts as slave. But on its RS485 meter-port I understand the Solis acts as master and the smart meter is the slave.

My goal is to fake the smart-meter.

So topology would be:


So I am looking for a solution that any read-request from the Solis is transparently passed-through to the smart-meter. But I want one register intercpeted (most likely total-active-power, which to mine understanding is the only value the solis want to bring back to zero in its control-loop).

As of now I can read the Solis and ther Seplos BMS via ESP32/RS485 successfully. I even have a running slave which I thought shall be good enough to get accpeted as fake-smart-meter, but it is not. The solis is asking for more register then my fake-solution is providing. hence mine ask, which ESP32 slave/server modbus library can print any request its arriving.

If my view is incorrect, kindly get me corrected.

  • What are you really trying to do? You need to read up on Modbus. First of all, you are confusing what is acting as a client and what is acting as a server. If you look at the general Modbus manual for Solis inverters, they act as slaves, or, in modern-speak, as servers. You need to setup a master - nowadays a 'client' - to query - poll - the server, not vice versa. You need to provide the code, the manual and the model of your specific inverter, and, possibly, the hardware setup. Why don't you try polling the inverter with something like a USB-RS485 dongle first with ComTest or Modbus Poll?
    – Nick S.
    Jun 6, 2023 at 20:02

1 Answer 1


Try looking at this as a starting point


My approach has been different but will come back to this if my current approach fails.

  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. Jul 2, 2023 at 16:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.