Yes. This was a firmware issue. If you want to fix it, you need to contact support customerservice@solarmanpv.com and ask them to upload the firmware ME_08_2791_2.06 or other appropriate one because in new firmware there is a bug causing incorrect responses on port 8899.
It took me almost 2 months to find someone who knew what I was talking about. Officially, it is impossible to go back to the older version of firmware. It is possible that after my signals they will improve something in the firmware and the new firmware will communicate correctly on port 8899, but there is no certainty.
I have installed SOFAR HYD 10KTL-3PH-PRO inverter and Wifi Logger SN23xxx.
I have managed to get only Online (ON) and Operating state (grid connected) from channels till now.
No Active/reactive power is coming into my openhab items.
and following: 023-05-14 16:38:01.952 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Reading system info response]]]]]]] to pr 2023-05-14 16:38:01.953 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Reading system info response]]]]]]] 2023-05-14 16:38:01.953 [DEBUG] [swlogger.internal.connection.Channel] - Consuming messages, buffers 3 messages 0 2023-05-14 16:38:01.953 [DEBUG] [otocolv5.states.ReadingResponseState] - No message to read, trying to schedule next read or switching to next state 2023-05-14 16:38:01.954 [DEBUG] [ernal.protocolv5.states.StateMachine] - Trying to schedule task in 15 SECONDS during state Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Re]]] 2023-05-14 16:38:01.954 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Reading system info response]]]]]]] 2023-05-14 16:38:01.954 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:38:16.954 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Reading system info response]]]] 2023-05-14 16:38:16.955 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Reading system info response]]]]]]] 2023-05-14 16:38:16.955 [DEBUG] [swlogger.internal.connection.Channel] - Consuming messages, buffers 3 messages 0 2023-05-14 16:38:16.955 [DEBUG] [otocolv5.states.ReadingResponseState] - No message to read, trying to schedule next read or switching to next state 2023-05-14 16:38:16.956 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Wrapper [Reading system info response]]]]]]]] 2023-05-14 16:38:16.956 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:38:16.956 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Sending grid info request to process 2023-05-14 16:38:16.957 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Sending grid info request 2023-05-14 16:38:16.957 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Sending grid info request 2023-05-14 16:38:16.958 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:38:16.958 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Reaidng grid info response to process 2023-05-14 16:38:16.958 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Reaidng grid info response 2023-05-14 16:38:16.959 [DEBUG] [swlogger.internal.connection.Channel] - Consuming messages, buffers 3 messages 0 2023-05-14 16:38:16.959 [DEBUG] [otocolv5.states.ReadingResponseState] - No message to read, trying to schedule next read or switching to next state 2023-05-14 16:38:16.959 [DEBUG] [ernal.protocolv5.states.StateMachine] - Trying to schedule task in 15 SECONDS during state Reaidng grid info response 2023-05-14 16:38:16.959 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Reaidng grid info response 2023-05-14 16:38:16.959 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:38:19.156 [DEBUG] [swlogger.internal.connection.Channel] - Received 29 bytes 2023-05-14 16:38:19.157 [DEBUG] [swlogger.internal.connection.Channel] - Listening for data, buffers 3 messages 1 2023-05-14 16:38:24.837 [DEBUG] [swlogger.internal.connection.Channel] - Received 14 bytes 2023-05-14 16:38:24.838 [DEBUG] [swlogger.internal.connection.Channel] - Listening for data, buffers 2 messages 2 2023-05-14 16:38:31.959 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Wrapper [Reaidng grid info response] to process 2023-05-14 16:38:31.960 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Wrapper [Reaidng grid info response] 2023-05-14 16:38:31.960 [DEBUG] [swlogger.internal.connection.Channel] - Consuming messages, buffers 1 messages 2 2023-05-14 16:38:31.960 [DEBUG] [otocolv5.states.ReadingResponseState] - Trying to read a message 2023-05-14 16:38:31.961 [WARN ] [al.protocolv5.UnknownResponseHandler] - Unknown response, length 29: A5:10:00:10:15:00:7F:74:E0:C1:8D:02:01:FC:F8:02:00:41:28:00:00:5E:F9:5D:64:05:00:D5:15: 2023-05-14 16:38:31.961 [DEBUG] [ternal.protocolv5.ResponseDispatcher] - Handler class org.openhab.binding.lswlogger.internal.protocolv5.UnknownResponseHandler matched response 2023-05-14 16:38:31.962 [DEBUG] [otocolv5.states.ReadingResponseState] - Trying to read a message 2023-05-14 16:38:31.962 [WARN ] [al.protocolv5.UnknownResponseHandler] - Unknown response, length 14: A5:01:00:10:47:00:80:74:E0:C1:8D:00:7A:15: 2023-05-14 16:38:31.963 [DEBUG] [ternal.protocolv5.ResponseDispatcher] - Handler class org.openhab.binding.lswlogger.internal.protocolv5.UnknownResponseHandler matched response 2023-05-14 16:38:31.963 [DEBUG] [otocolv5.states.ReadingResponseState] - No message to read, trying to schedule next read or switching to next state 2023-05-14 16:38:31.963 [DEBUG] [ernal.protocolv5.states.StateMachine] - Trying to schedule task in 15 SECONDS during state Wrapper [Reaidng grid info response] 2023-05-14 16:38:31.964 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Wrapper [Reaidng grid info response] 2023-05-14 16:38:31.964 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:38:46.964 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Wrapper [Wrapper [Reaidng grid info response]] to process 2023-05-14 16:38:46.965 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Wrapper [Wrapper [Reaidng grid info response]] 2023-05-14 16:38:46.965 [DEBUG] [swlogger.internal.connection.Channel] - Consuming messages, buffers 3 messages 0 2023-05-14 16:38:46.966 [DEBUG] [otocolv5.states.ReadingResponseState] - No message to read, trying to schedule next read or switching to next state 2023-05-14 16:38:46.966 [DEBUG] [ernal.protocolv5.states.StateMachine] - Trying to schedule task in 15 SECONDS during state Wrapper [Wrapper [Reaidng grid info response]] 2023-05-14 16:38:46.966 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Wrapper [Wrapper [Reaidng grid info response]] 2023-05-14 16:38:46.966 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:40:43.782 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Wrapper [Wrapper [Wrapper [Reaidng grid info response]]] to process 2023-05-14 16:40:43.783 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Wrapper [Wrapper [Wrapper [Reaidng grid info response]]] 2023-05-14 16:40:43.783 [DEBUG] [swlogger.internal.connection.Channel] - Consuming messages, buffers 3 messages 0 2023-05-14 16:40:43.783 [DEBUG] [otocolv5.states.ReadingResponseState] - No message to read, trying to schedule next read or switching to next state 2023-05-14 16:40:43.784 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Wrapper [Wrapper [Wrapper [Reaidng grid info response]]] 2023-05-14 16:40:43.784 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:40:43.784 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Sending energy totals request to process 2023-05-14 16:40:43.784 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Sending energy totals request 2023-05-14 16:40:43.785 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Sending energy totals request 2023-05-14 16:40:43.785 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:40:43.785 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Reading energy totals response to process 2023-05-14 16:40:43.786 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Reading energy totals response 2023-05-14 16:40:43.786 [DEBUG] [swlogger.internal.connection.Channel] - Consuming messages, buffers 3 messages 0 2023-05-14 16:40:43.786 [DEBUG] [otocolv5.states.ReadingResponseState] - No message to read, trying to schedule next read or switching to next state 2023-05-14 16:40:43.787 [DEBUG] [ernal.protocolv5.states.StateMachine] - Trying to schedule task in 15 SECONDS during state Reading energy totals response 2023-05-14 16:40:43.787 [DEBUG] [ernal.protocolv5.states.StateMachine] - Leaving Reading energy totals response 2023-05-14 16:40:43.787 [DEBUG] [ernal.protocolv5.states.StateMachine] - Waiting for state to process 2023-05-14 16:40:45.800 [DEBUG] [swlogger.internal.connection.Channel] - Received 29 bytes 2023-05-14 16:40:45.800 [DEBUG] [swlogger.internal.connection.Channel] - Listening for data, buffers 3 messages 1 2023-05-14 16:40:58.787 [DEBUG] [ernal.protocolv5.states.StateMachine] - Taken state Wrapper [Reading energy totals response] to process 2023-05-14 16:40:58.788 [DEBUG] [ernal.protocolv5.states.StateMachine] - Entering Wrapper [Reading energy totals response] 2023-05-14 16:40:58.788 [DEBUG] [swlogger.internal.connection.Channel] - Consuming messages, buffers 2 messages 1 2023-05-14 16:40:58.788 [DEBUG] [otocolv5.states.ReadingResponseState] - Trying to read a message 2023-05-14 16:40:58.789 [DEBUG] [otocolv5.AbstractDataResponseHandler] - Trying to extract message, length 29 bytes 2023-05-14 16:40:58.789 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: java.lang.IllegalArgumentException: newPosition > limit: (36 > 29)
at java.nio.Buffer.createPositionException(Buffer.java:318) ~[?:?]*
at java.nio.Buffer.position(Buffer.java:293) ~[?:?]*
at java.nio.ByteBuffer.position(ByteBuffer.java:1094) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.ExtractorsBuilder.lambda$1(ExtractorsBuilder.java:38) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.AbstractDataResponseHandler.lambda$0(AbstractDataResponseHandler.java:46) ~[?:?]*
at java.util.ArrayList.forEach(ArrayList.java:1541) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.AbstractDataResponseHandler.extract(AbstractDataResponseHandler.java:46) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.AbstractDataResponseHandler.handle(AbstractDataResponseHandler.java:37) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.ResponseDispatcher.accept(ResponseDispatcher.java:32) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.states.ReadingResponseState$ReadingHandler.onRead(ReadingResponseState.java:70) ~[?:?]*
at org.openhab.binding.lswlogger.internal.connection.Channel.read(Channel.java:124) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.states.ReadingResponseState$ReadingHandler.run(ReadingResponseState.java:63) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.states.StateMachine$MetaRunnableWrapper.handle(StateMachine.java:142) ~[?:?]*
at org.openhab.binding.lswlogger.internal.protocolv5.states.StateMachine.run(StateMachine.java:87) ~[?:?]*
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]*
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]*
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]*
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]*
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]*
at java.lang.Thread.run(Thread.java:829) [?:?]*
2023-05-14 16:42:36.894 [DEBUG] [swlogger.internal.connection.Channel] - Received 14 bytes 2023-05-14 16:42:36.894 [DEBUG] [swlogger.internal.connection.Channel] - Listening for data, buffers 2 messages 1 2023-05-14 16:44:36.936 [DEBUG] [swlogger.internal.connection.Channel] - Received 14 bytes 2023-05-14 16:44:36.937 [DEBUG] [swlogger.internal.connection.Channel] - Listening for data, buffers 1 messages 2 2023-05-14 16:45:43.785 [DEBUG] [swlogger.internal.connection.Channel] - Received -1 bytes 2023-05-14 16:45:43.786 [DEBUG] [swlogger.internal.connection.Channel] - Listening for data, buffers 0 messages 3
It seems that KTL-3PH- line is closed to KTLX line and current sn23x thing may be a mix for them, where there should be separate thing definitions.
I have scratched a debug thing for such case, in which you can test specific modbus addresses exposed by an inverter. You may look it through issues on github repo for this project. Or wait until I publish new version on the third party marketplace.
thank you, I have not found the related issue in git. Anyway what should be the testing scenario?
What dou you mean by"modbus addresses exposed by inverter"?
Sorry,maybe I got it, modbus addresses like registers for reading values (items) right?
What debug info should I reply back to you?
In upcoming week or two I will make a release with debug thing and some manual how to tinker with it. The code is written and tested, but no manual and release right now for this.
With this debug thing you will be able to test some configuration and hopefully map your inverters / loggers / firmware mashup onto something called modbus registers. When those modbus registers would be known for your PV setup - we may much easily create things specific to your setup.
reported the debug thing output for regs:
0x0404 | 0x0420
and model: Sofar HYD 10KTL-3PH-PRO on Git: Git issue.
Plz let me know if I should test more.
Thanks once more.