When editing a Modbus SunSpec Thing in a text file, I should be able to set the refresh to '0' and the Thing should update in the UI and not throw any errors.
Current Behavior
When trying to change the refresh interval of a Modbus Sunspec thing to '0' in a text file, I get an error and the thing does not update. The Thing sometimes also goes from ONLINE to UNKNOWN or HANDLER_INITIALIZING_ERROR
2024-03-03 19:34:42.292 [ERROR] [org.openhab.core.internal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.initialize()' on 'org.openhab.binding.modbus.sunspec.internal.handler.InverterHandler@450396e2': null java.lang.IllegalArgumentException: null at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay(ScheduledThreadPoolExecutor.java:671) ~[?:?] at org.openhab.core.common.ThreadPoolManager$UnstoppableScheduledExecutorService.scheduleWithFixedDelay(ThreadPoolManager.java:295) ~[bundleFile:?] at org.openhab.core.io.transport.modbus.internal.ModbusManagerImpl$ModbusCommunicationInterfaceImpl.registerRegularPoll(ModbusManagerImpl.java:805) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.registerPollTask(AbstractSunSpecHandler.java:333) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.startUp(AbstractSunSpecHandler.java:153) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.initialize(AbstractSunSpecHandler.java:121) ~[?:?] at jdk.internal.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:147) [bundleFile:?] at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] 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:840) [?:?] 2024-03-03 19:34:42.300 [ERROR] [org.openhab.core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'modbus:inverter-single-phase:solaredge1:se6000h': null java.lang.IllegalArgumentException: null at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay(ScheduledThreadPoolExecutor.java:671) ~[?:?] at org.openhab.core.common.ThreadPoolManager$UnstoppableScheduledExecutorService.scheduleWithFixedDelay(ThreadPoolManager.java:295) ~[bundleFile:?] at org.openhab.core.io.transport.modbus.internal.ModbusManagerImpl$ModbusCommunicationInterfaceImpl.registerRegularPoll(ModbusManagerImpl.java:805) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.registerPollTask(AbstractSunSpecHandler.java:333) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.startUp(AbstractSunSpecHandler.java:153) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.initialize(AbstractSunSpecHandler.java:121) ~[?:?] at jdk.internal.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:147) [bundleFile:?] at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] 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:840) [?:?]
Possible Solution
Steps to Reproduce (for Bugs)
1.
2.
Context
Your Environment
Version used: (e.g., openHAB and add-on versions)
Environment name and version (e.g. Chrome 76, Java 8, Node.js 12.9, ...):
Operating System and version (desktop or mobile, Windows 10, Raspbian Buster, ...):
What do you expect to happen when it is set to 0?
AFAIK this is not documented. For sure it should not lead to an exception but rather a thing offline with configuration_error
Expected Behavior
When editing a Modbus SunSpec Thing in a text file, I should be able to set the refresh to '0' and the Thing should update in the UI and not throw any errors.
Current Behavior
When trying to change the refresh interval of a Modbus Sunspec thing to '0' in a text file, I get an error and the thing does not update. The Thing sometimes also goes from ONLINE to UNKNOWN or HANDLER_INITIALIZING_ERROR
2024-03-03 19:34:42.292 [ERROR] [org.openhab.core.internal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.initialize()' on 'org.openhab.binding.modbus.sunspec.internal.handler.InverterHandler@450396e2': null java.lang.IllegalArgumentException: null at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay(ScheduledThreadPoolExecutor.java:671) ~[?:?] at org.openhab.core.common.ThreadPoolManager$UnstoppableScheduledExecutorService.scheduleWithFixedDelay(ThreadPoolManager.java:295) ~[bundleFile:?] at org.openhab.core.io.transport.modbus.internal.ModbusManagerImpl$ModbusCommunicationInterfaceImpl.registerRegularPoll(ModbusManagerImpl.java:805) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.registerPollTask(AbstractSunSpecHandler.java:333) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.startUp(AbstractSunSpecHandler.java:153) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.initialize(AbstractSunSpecHandler.java:121) ~[?:?] at jdk.internal.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:147) [bundleFile:?] at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] 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:840) [?:?] 2024-03-03 19:34:42.300 [ERROR] [org.openhab.core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'modbus:inverter-single-phase:solaredge1:se6000h': null java.lang.IllegalArgumentException: null at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay(ScheduledThreadPoolExecutor.java:671) ~[?:?] at org.openhab.core.common.ThreadPoolManager$UnstoppableScheduledExecutorService.scheduleWithFixedDelay(ThreadPoolManager.java:295) ~[bundleFile:?] at org.openhab.core.io.transport.modbus.internal.ModbusManagerImpl$ModbusCommunicationInterfaceImpl.registerRegularPoll(ModbusManagerImpl.java:805) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.registerPollTask(AbstractSunSpecHandler.java:333) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.startUp(AbstractSunSpecHandler.java:153) ~[?:?] at org.openhab.binding.modbus.sunspec.internal.handler.AbstractSunSpecHandler.initialize(AbstractSunSpecHandler.java:121) ~[?:?] at jdk.internal.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:147) [bundleFile:?] at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] 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:840) [?:?]
Possible Solution
Steps to Reproduce (for Bugs)
1. 2.
Context
Your Environment