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.
Might sound as a basic question but how do you install the binding in openhab 4? What I did is the following:
download the jar file
put the jar file in the openhab-addons folder on my Rpi 4
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
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.
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) ~[?:?]
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
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
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
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
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: