New Solarman V5 Binding for Deye, Sofar and other type of solar inverters

Well, in the definitions the type of the register is governed by the rule property. For what each value mean, you can look at this file: home_assistant_solarman/parser.py at main · StephanJoubert/home_assistant_solarman · GitHub from the original plugin I took them. Usually they are either unsigned 16 bit integers or signed 16 bit integers.

In your case, from the images I’ve seen that in some instances they provide the type of the value like signed int, or they provide the range of values like [0…65535]. In those cases going with int16 or uint16 seem like a good initial try.

@Catalin_Sanda hello and thank you for this binding.

Might sound as a basic question but how do you install the binding in openhab 4? What I did is the following:

  1. download the jar file
  2. put the jar file in the openhab-addons folder on my Rpi 4
  3. change the addons.cfg file under services by adding “solarman” to the list of add ons (another trial with solarman-0.1.0) but I get in logs that “solarman binding does not exist, ignoring it”

Please advise and thanks for the help to the basic question :slight_smile:

Hi @Jean_Saifi ,

The first two steps are correct. The 3rd one is not necessary and will result in an error. That list in addons.cfg is used by openhab to install the bindings upon startup. My addon is not in the repository, so it can’t be downloaded.

So, after putting the binding jar in the addons folder it should be picked up automatically and installed in your OpenHAB and you should be able to define a Thing with it.

Please use the latest version available here: Releases · catalinsanda/org.openhab.binding.solarman · GitHub as it includes a few fixes and updates compared to 0.1.0.

Regards,
Catalin

Done! It works perfectly and no disconnection from the logger.
With first version, I had some disconnection issue but now all perfect!

Thank you! @Catalin_Sanda

1 Like

Hello All,

I have installed the binding in version 0.3.0. So far everything is working fine. I have a Deye 600 Micro inverter.

When the sun is no longer shining the inverter goes into sleep mode. Then I get a lot of error messages in the logger. How can I turn this off / prevent?

2023-08-22 22:08:09.737 [ERROR] [ernal.updater.SolarmanChannelUpdater] - Unable to update channel inverter_radiator_temperature because its registers were not read
2023-08-22 22:08:09.737 [ERROR] [ernal.updater.SolarmanChannelUpdater] - Unable to update channel solar_pv2_current because its registers were not read
2023-08-22 22:08:09.737 [ERROR] [ernal.updater.SolarmanChannelUpdater] - Unable to update channel inverter_running_status because its registers were not read
2023-08-22 22:09:09.730 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /192.168.53.22:8899
java.net.NoRouteToHostException: No route to host
	at sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
	at sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[?:?]

Glad is working.

Yes I’ve developed the binding on an hybrid inverter which is always on, so I didn’t ran into this, but it’s a valid problem.

Can you please create an issue here: Issues · catalinsanda/org.openhab.binding.solarman · GitHub and I’ll update the binding to stop logging if it detects the logger is offline after a set number of retries, let’s say 3.

In the meantime you can run a:

log:set OFF org.openhab.binding.solarman

in the console. The downside is that it will disable all logging for the binding.

Hello all,
I get following error if I connect the hybrid inventor with LSE (ethernet) with this binding. I use the 0.3.2 Version.

What can I do?

Hey,

First let’s see how the response looks like by enabling trace logging for the binding with this command.

log:set TRACE org.openhab.binding.solarman

After you have a few request/responses please post them as a new issue here: Issues · catalinsanda/org.openhab.binding.solarman · GitHub

Regards,
Catalin

Hello , iam back here now , with a fresh 4.01 Openhab.
but i could not found a way to install the binding. can you please give me an instruction or a howtodo?

i have a installed and working deye 600 watt sun600g3-eu-230

It’s really simple, just download the binding from Releases · catalinsanda/org.openhab.binding.solarman · GitHub by getting the latest JAR file (at the time of this writing org.openhab.binding.solarman-0.3.2.jar ) and drop it into the addons folder and restart OpenHAB.

Then you’ll be able to use the UI to define the Solarman Thing and link items.

More information is available here: https://www.openhab.org/docs/configuration/addons.html#through-manually-provided-add-ons

Ok, just do it. Now its installed and offline. i have select the mppt 2 type and try the genegic also.

Is the IP & Serial Number of the logger correct?
Can you post what it says in the logs? There should be some exceptions there.

ip adress is checked and also the Serial number . i can login with the IP and I copy the SN from the logger webside

log:
2023-09-04 13:24:11.211 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:24:11.213 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:25:04.418 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:25:04.421 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:25:07.975 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:25:07.977 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:25:38.109 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:25:38.110 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:25:38.324 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:25:38.325 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:25:55.386 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:25:55.389 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:25:55.392 [INFO ] [arman.internal.SolarmanLoggerHandler] - Assuming logger is OFFLINE after 3 failed requests. Disabling connection error logging until it becomes available again
2023-09-04 13:25:59.784 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:25:59.785 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:26:16.115 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:26:16.117 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:26:23.537 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:26:23.540 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:27:23.544 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 13:27:23.545 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 13:27:23.547 [INFO ] [arman.internal.SolarmanLoggerHandler] - Assuming logger is OFFLINE after 3 failed requests. Disabling connection error logging until it becomes available again

@HolBaum5 confirmed in one of the messages above that the binding is working for a Deye 600 micro inverter, so I guess it should work for you as well.

Can you please enable debug logging and paste the request/responses?

Issue a log:set TRACE org.openhab.binding.solarman in the console.

java.net.ConnectException: Connection refused
at sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
at sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[?:?]
at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549) ~[?:?]
at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) ~[?:?]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[?:?]
at java.net.Socket.connect(Socket.java:633) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.connectSocket(SolarmanLoggerConnection.java:82) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.sendRequest(SolarmanLoggerConnection.java:25) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanV5Protocol.readRegisters(SolarmanV5Protocol.java:28) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.lambda$0(SolarmanChannelUpdater.java:60) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:657) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.fetchDataFromLogger(SolarmanChannelUpdater.java:66) ~[?:?]
at org.openhab.binding.solarman.internal.SolarmanLoggerHandler.lambda$2(SolarmanLoggerHandler.java:123) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
2023-09-04 14:16:32.055 [INFO ] [rnal.modbus.SolarmanLoggerConnection] - Error creating socket
2023-09-04 14:17:12.151 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /172.16.20.95:502
java.net.ConnectException: Connection refused
at sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
at sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[?:?]
at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549) ~[?:?]
at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) ~[?:?]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[?:?]
at java.net.Socket.connect(Socket.java:633) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.connectSocket(SolarmanLoggerConnection.java:82) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.sendRequest(SolarmanLoggerConnection.java:25) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanV5Protocol.readRegisters(SolarmanV5Protocol.java:28) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.lambda$0(SolarmanChannelUpdater.java:60) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:657) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.fetchDataFromLogger(SolarmanChannelUpdater.java:66) ~[?:?]
at org.openhab.binding.solarman.internal.SolarmanLoggerHandler.lambda$2(SolarmanLoggerHandler.java:123) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
2023-09-04 14:17:12.156 [INFO ] [rnal.modbus.SolarmanLoggerConnection] - Error creating socket
2023-09-04 14:18:12.146 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /172.16.20.95:502
java.net.ConnectException: Connection refused
at sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
at sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[?:?]
at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549) ~[?:?]
at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) ~[?:?]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[?:?]
at java.net.Socket.connect(Socket.java:633) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.connectSocket(SolarmanLoggerConnection.java:82) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.sendRequest(SolarmanLoggerConnection.java:25) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanV5Protocol.readRegisters(SolarmanV5Protocol.java:28) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.lambda$0(SolarmanChannelUpdater.java:60) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:657) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.fetchDataFromLogger(SolarmanChannelUpdater.java:66) ~[?:?]
at org.openhab.binding.solarman.internal.SolarmanLoggerHandler.lambda$2(SolarmanLoggerHandler.java:123) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
2023-09-04 14:18:12.158 [INFO ] [rnal.modbus.SolarmanLoggerConnection] - Error creating socket
2023-09-04 14:19:12.146 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /172.16.20.95:502
java.net.ConnectException: Connection refused
at sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
at sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[?:?]
at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549) ~[?:?]
at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) ~[?:?]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[?:?]
at java.net.Socket.connect(Socket.java:633) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.connectSocket(SolarmanLoggerConnection.java:82) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.sendRequest(SolarmanLoggerConnection.java:25) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanV5Protocol.readRegisters(SolarmanV5Protocol.java:28) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.lambda$0(SolarmanChannelUpdater.java:60) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:657) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.fetchDataFromLogger(SolarmanChannelUpdater.java:66) ~[?:?]
at org.openhab.binding.solarman.internal.SolarmanLoggerHandler.lambda$2(SolarmanLoggerHandler.java:123) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
2023-09-04 14:19:12.156 [INFO ] [rnal.modbus.SolarmanLoggerConnection] - Error creating socket
2023-09-04 14:19:12.159 [INFO ] [arman.internal.SolarmanLoggerHandler] - Assuming logger is OFFLINE after 3 failed requests. Disabling connection error logging until it becomes available again
2023-09-04 14:23:48.665 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /172.16.20.95:502
java.net.ConnectException: Connection refused
at sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
at sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[?:?]
at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549) ~[?:?]
at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) ~[?:?]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[?:?]
at java.net.Socket.connect(Socket.java:633) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.connectSocket(SolarmanLoggerConnection.java:82) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanLoggerConnection.sendRequest(SolarmanLoggerConnection.java:25) ~[?:?]
at org.openhab.binding.solarman.internal.modbus.SolarmanV5Protocol.readRegisters(SolarmanV5Protocol.java:28) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.lambda$0(SolarmanChannelUpdater.java:60) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:657) ~[?:?]
at org.openhab.binding.solarman.internal.updater.SolarmanChannelUpdater.fetchDataFromLogger(SolarmanChannelUpdater.java:66) ~[?:?]
at org.openhab.binding.solarman.internal.SolarmanLoggerHandler.lambda$2(SolarmanLoggerHandler.java:123) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
2023-09-04 14:23:48.673 [INFO ] [rnal.modbus.SolarmanLoggerConnection] - Error creating socket

Are you sure 502 is the right port? Usually it’s 8899 for all the loggers I’ve seen.

i have try the 502. Someone write it. the 8899 was also not working. but now I will go back to 8899 and sent the log again

2023-09-04 14:29:17.163 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 14:29:17.164 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 14:30:17.152 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 14:30:17.154 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 14:31:17.153 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 14:31:17.156 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty
2023-09-04 14:31:17.158 [INFO ] [arman.internal.SolarmanLoggerHandler] - Assuming logger is OFFLINE after 3 failed requests. Disabling connection error logging until it becomes available again
2023-09-04 14:37:26.684 [ERROR] [arman.internal.SolarmanLoggerHandler] - Response frame has invalid starting byte
2023-09-04 14:37:26.685 [ERROR] [arman.internal.SolarmanLoggerHandler] - Modbus frame is too short or empty

nothing else

Are you sure you enabled trace logging correctly using log:set TRACE org.openhab.binding.solarman ? You should have records in your log which look like this:


2023-08-02 09:43:26.375 [DEBUG] [rnal.modbus.SolarmanLoggerConnection] - Request frame: A5170010450000B4D547F902000000000000000000000000000001030003007E35EADB15

2023-08-02 09:43:26.708 [DEBUG] [rnal.modbus.SolarmanLoggerConnection] - Response frame: A50F01101500D5B4D547F90201FCDC5100AE290000212C78640103FC3233303232353832313600010000120C070001010116121800001F4000000201004B0000003C170802092A1A000000000ABE07081450128E000000000000139C002C00000000000000000064000000000001000000000001000000000001FFF50000000A00020000000000000000000000040000000000000A7500000000000000000000051D0000050D0000094C00000000000200000000139200000000000000000000000002A80000000000000B540000000000000000000000000000000000000000000000000000000000000000000000000108000C012E000B0000000000000000000000000000000000000000000000000000000000000000C04FF515