I’ve just migrated to 3.0.1, and I see this in my logs:
2021-03-15 09:43:54.334 [WARN ] [re.config.core.internal.ConfigMapper] - Could not set field value for field 'index': Can not set java.lang.String field org.openhab.binding.openuv.internal.config.SafeExposureConfiguration.index to java.math.BigDecimal
java.lang.IllegalArgumentException: Can not set java.lang.String field org.openhab.binding.openuv.internal.config.SafeExposureConfiguration.index to java.math.BigDecimal
at jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) ~[?:?]
at jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) ~[?:?]
at jdk.internal.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81) ~[?:?]
at java.lang.reflect.Field.set(Field.java:780) ~[?:?]
at org.openhab.core.config.core.internal.ConfigMapper.as(ConfigMapper.java:101) [bundleFile:?]
at org.openhab.core.config.core.Configuration.as(Configuration.java:80) [bundleFile:?]
at org.openhab.binding.openuv.internal.handler.OpenUVReportHandler.updateChannel(OpenUVReportHandler.java:234) [bundleFile:?]
at org.openhab.binding.openuv.internal.handler.OpenUVReportHandler.lambda$2(OpenUVReportHandler.java:149) [bundleFile:?]
at java.util.ArrayList.forEach(ArrayList.java:1541) [?:?]
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085) [?:?]
at org.openhab.binding.openuv.internal.handler.OpenUVReportHandler.updateChannels(OpenUVReportHandler.java:148) [bundleFile:?]
at org.openhab.binding.openuv.internal.handler.OpenUVReportHandler.lambda$1(OpenUVReportHandler.java:134) [bundleFile:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
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:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
index should be setup with one of the FitzPatrick values, so I,II,III,IV,V or VI.
Sorry this is missing in documentation. Maybe you could use your own example to extand binding doc here
Channels:
Type SafeExposure : pale [
index="I"
]
Type SafeExposure : white [
index="II"
]
Type SafeExposure : light_brown [
index="III"
]
Type SafeExposure : moderate_brown [
index="IV"
]
Type SafeExposure : dark_brown [
index="V"
]
Type SafeExposure : black [
index="VI"
]
}
}
Same issue
2021-03-15 11:17:31.935 [WARN ] [re.config.core.internal.ConfigMapper] - Could not set field value for field 'index': Can not set java.lang.String field org.openhab.binding.openuv.internal.config.SafeExposureConfiguration.index to java.math.BigDecimal
java.lang.IllegalArgumentException: Can not set java.lang.String field org.openhab.binding.openuv.internal.config.SafeExposureConfiguration.index to java.math.BigDecimal
at jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) ~[?:?]
at jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) ~[?:?]
at jdk.internal.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81) ~[?:?]
at java.lang.reflect.Field.set(Field.java:780) ~[?:?]
at org.openhab.core.config.core.internal.ConfigMapper.as(ConfigMapper.java:101) [bundleFile:?]
at org.openhab.core.config.core.Configuration.as(Configuration.java:80) [bundleFile:?]
at org.openhab.binding.openuv.internal.handler.OpenUVReportHandler.updateChannel(OpenUVReportHandler.java:234) [bundleFile:?]
at org.openhab.binding.openuv.internal.handler.OpenUVReportHandler.lambda$2(OpenUVReportHandler.java:149) [bundleFile:?]
at java.util.ArrayList.forEach(ArrayList.java:1541) [?:?]
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085) [?:?]
at org.openhab.binding.openuv.internal.handler.OpenUVReportHandler.updateChannels(OpenUVReportHandler.java:148) [bundleFile:?]
at org.openhab.binding.openuv.internal.handler.OpenUVReportHandler.lambda$1(OpenUVReportHandler.java:134) [bundleFile:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
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:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Yes, the channel value is a Number:Time, but its configuration parameter is a String. But wait, maybe you’re not in the last binding version, expandable channels have been added recently.