catalinsanda / org.openhab.binding.solarman

Binding used to communicate with Solarman (IGEN-Tech) v5 based solar inverter data loggers
Eclipse Public License 2.0
8 stars 1 forks source link

Deye 600 230 EU micro inverter: Inverter went to standby with no sun light #28

Open HolBaum5 opened 12 months ago

HolBaum5 commented 12 months ago

I have a Deye 600 Micro inverter.

When the sun is no longer shining, the inverter goes into sleep mode. Then I get lots of error messages in the logger. Maybe you can determine if the logger is offline and then stop the logging in binding?

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) ~[?:?]
catalinsanda commented 11 months ago

Hey @HolBaum5 - I've pushed a new release here: https://github.com/catalinsanda/org.openhab.binding.solarman/releases/tag/v0.3.2 This will log the first three failed attempts and then stop until the next time it's able to connect and then repeat the cycle.

Give it a try and let me know if it solves your problem.

HolBaum5 commented 11 months ago

I have installed the version 0.3.2 and get after 3 connection attempts (the sun has gone down) the following messages.

2023-08-27 21:12:11.683 [INFO ] [rnal.modbus.SolarmanLoggerConnection] - Error creating socket
2023-08-27 21:12:11.685 [INFO ] [arman.internal.SolarmanLoggerHandler] - Assuming logger is OFFLINE after 3 failed requests. Disabling connection error logging until it becomes available again

I'll check tomorrow when the sun is shining again if the data will be output again.

HolBaum5 commented 11 months ago

Hello @catalinsanda,

at sunrise-sunset, so in the transition phase I still get the ERROR messages.

2023-08-29 06:51:18.596 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /192.168.53.22:8899
java.net.SocketTimeoutException: Connect timed out
    at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) ~[?:?]
    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) ~[?:?]

Would it be possible to suppress this or make it configurable (under advanced settings in the thing configuration, WARN instead of ERROR)?

catalinsanda commented 11 months ago

Hi @HolBaum5 - It's OK (expected) to have 3 errors at sunset, when the logger/inverter becomes offline. I wasn't expecting errors at sunrise. This might mean the inverter is flapping between online and offline a bit until there is enough sun. I could apply the same strategy, instead of considering the inverter online on the first successful connection, I could wait a few successful requests before considering it online again and enabling logging.

How many errors do you get at sunrise?

HolBaum5 commented 11 months ago

Attached my logs from yesterday (update to 0.3.2 around 21:10) and today. Why I always have a message at 9:40 is not clear to me. ERROR: 3x at sunset, 1x at sunrise

2023-08-27 21:10:11.666 [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) ~[?:?]
    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-08-27 21:11:11.666 [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) ~[?:?]
    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-08-27 21:12:11.666 [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) ~[?:?]
    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-08-27 21:12:11.683 [INFO ] [rnal.modbus.SolarmanLoggerConnection] - Error creating socket
2023-08-27 21:12:11.685 [INFO ] [arman.internal.SolarmanLoggerHandler] - Assuming logger is OFFLINE after 3 failed requests. Disabling connection error logging until it becomes available again

2023-08-28 09:44:18.596 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /192.168.53.22:8899
java.net.SocketTimeoutException: Connect timed out
    at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) ~[?:?]
    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-08-28 18:46:18.596 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /192.168.53.22:8899
java.net.SocketTimeoutException: Connect timed out
    at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) ~[?:?]
    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-08-28 20:15:18.596 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /192.168.53.22:8899
java.net.SocketTimeoutException: Connect timed out
    at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) ~[?:?]
    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-08-28 20:16:11.666 [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) ~[?:?]
    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-08-28 20:17:11.666 [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) ~[?:?]
    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-08-29 06:51:18.596 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /192.168.53.22:8899
java.net.SocketTimeoutException: Connect timed out
    at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) ~[?:?]
    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-08-29 09:48:18.596 [ERROR] [rnal.modbus.SolarmanLoggerConnection] - Could not open socket on IP /192.168.53.22:8899
java.net.SocketTimeoutException: Connect timed out
    at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) ~[?:?]
    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) ~[?:?]