Kostal Inverter Binding - interoperable Issue Thinks not working UID must have at least 2 segments

Tags: #<Tag:0x00007f5cad368e70> #<Tag:0x00007f5cad36f630> #<Tag:0x00007f5cad373d48>

Hello Team
Setup OpenHABian openHAB 2.5.0 Release Build and Kostal Binding
Plenticore 8.5 no Battery
Binding installed
Thinks configured : Thing kostalinverter:PLENTICOREPLUS85WITHOUTBATTERY:MyPlentiCore85WithBattery [url = “192.168.178.48”, userPassword=“xxxxxxxxx”, refreshInternalInSeconds=“30”]

as soon I save the things file I got this in the log:
2020-01-12 22:46:32.971 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model ‘kostal.things’
2020-01-12 22:46:33.297 [ERROR] [me.core.service.AbstractWatchService] - Error handling update of file ‘/etc/openhab2/things/kostal.things’: UID must have at least 2 segments
java.lang.IllegalArgumentException: UID must have at least 2 segments.
at org.eclipse.smarthome.core.common.AbstractUID.(AbstractUID.java:70) ~[?:?]
at org.eclipse.smarthome.core.common.AbstractUID.(AbstractUID.java:49) ~[?:?]
at org.eclipse.smarthome.core.thing.UID.(UID.java:48) ~[?:?]
at org.eclipse.smarthome.core.thing.ThingTypeUID.(ThingTypeUID.java:35) ~[?:?]
at org.openhab.binding.zwave.internal.ZWaveConfigProvider.getConfigDescription(ZWaveConfigProvider.java:127) ~[?:?]
at org.eclipse.smarthome.config.core.ConfigDescriptionRegistry.fillFromProviders(ConfigDescriptionRegistry.java:214) ~[?:?]
at org.eclipse.smarthome.config.core.ConfigDescriptionRegistry.getConfigDescription(ConfigDescriptionRegistry.java:183) ~[?:?]
at org.eclipse.smarthome.config.core.ConfigDescriptionRegistry.getConfigDescription(ConfigDescriptionRegistry.java:236) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingFactoryHelper.applyDefaultConfiguration(ThingFactoryHelper.java:205) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.ThingFactory.createThing(ThingFactory.java:88) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.createThing(BaseThingHandlerFactory.java:332) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.getThingFromThingHandlerFactory(GenericThingProvider.java:507) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.getThingFromThingHandlerFactories(GenericThingProvider.java:490) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThing(GenericThingProvider.java:433) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$24(GenericThingProvider.java:898) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_222]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:900) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$4(GenericThingProvider.java:300) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_222]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModel(GenericThingProvider.java:302) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:742) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:311) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:149) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:247) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:310) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_222]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

Tried changing to ```
Thing kostalinverter:PLENTICOREPLUS100WITHBATTERY:MyPlentiCore100WithBattery
like in the documentation, same error.

Any ideas?
Many Thanks
Sebastian

same here.

2020-02-07 23:56:52.557 [ERROR] [me.core.service.AbstractWatchService] - Error handling update of file ‘/etc/openhab2/things/kostal.things’: UID must have at least 2 segments…
java.lang.IllegalArgumentException: UID must have at least 2 segments.
at org.eclipse.smarthome.core.common.AbstractUID.(AbstractUID.java:70) ~[?:?]
at org.eclipse.smarthome.core.common.AbstractUID.(AbstractUID.java:49) ~[?:?]
at org.eclipse.smarthome.core.thing.UID.(UID.java:48) ~[?:?]
at org.eclipse.smarthome.core.thing.ThingTypeUID.(ThingTypeUID.java:35) ~[?:?]
at org.openhab.binding.zwave.internal.ZWaveConfigProvider.getConfigDescription(ZWaveConfigProvider.java:127) ~[?:?]
at org.eclipse.smarthome.config.core.ConfigDescriptionRegistry.fillFromProviders(ConfigDescriptionRegistry.java:214) ~[?:?]
at org.eclipse.smarthome.config.core.ConfigDescriptionRegistry.getConfigDescription(ConfigDescriptionRegistry.java:183) ~[?:?]
at org.eclipse.smarthome.config.core.ConfigDescriptionRegistry.getConfigDescription(ConfigDescriptionRegistry.java:236) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingFactoryHelper.applyDefaultConfiguration(ThingFactoryHelper.java:205) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.ThingFactory.createThing(ThingFactory.java:88) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.createThing(BaseThingHandlerFactory.java:332) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.getThingFromThingHandlerFactory(GenericThingProvider.java:507) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.getThingFromThingHandlerFactories(GenericThingProvider.java:490) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThing(GenericThingProvider.java:433) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$24(GenericThingProvider.java:898) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_222]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:900) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$4(GenericThingProvider.java:300) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_222]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModel(GenericThingProvider.java:302) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:742) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:311) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:149) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:247) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:310) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_222]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_222]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

it seems to interphere with zwave binding in some way.
While installation of plugin kostal binding my z-wave crashed and bridge went offline. this was reproducable. Same on uninstallation of kostal binding.

trying to create kostal inverter thing in paperui i receive “Server error 500”-message

same here paperui gives “Server error 500”-message

I have the same problem, since an update from 2.5.0.M6 to 2.5.1.

In tcpdump you can observe that a token is fetched from the web service using username and password. but the next step, fetching the data is done without an token.

14:43:35.957106 IP (tos 0x0, ttl 64, id 61708, offset 0, flags [DF], proto TCP (6), length 1850)
    nyx.fritz.box.53836 > scb.fritz.box.http: Flags [P.], cksum 0x1d1f (incorrect -> 0x514b), seq 7764:9562, ack 1707, win 279, options [nop,nop,TS val 3550502594 ecr 1241463752], length 1798: HTTP, length: 1798
	POST //api/v1/processdata HTTP/1.1
	Accept-Encoding: gzip
	User-Agent: Jetty HTTP client
	Accept: application/json
	Content-Type: application/json
	Host: 192.168.202.150
	Content-Length: 1603
	
	[{"moduleid":"devices:local:pv2","processdataids":["I","P","U"]},{"moduleid":"devices:local:ac","processdataids":["L1_I","L1_P","L1_U","L2_I","L2_P","L2_U","L3_I","L3_P","L3_U","P"]},{"moduleid":"scb:event","processdataids":["ErrMc","ErrSFH","Event:ActiveErrorCnt","Event:ActiveWarningCnt"]},{"moduleid":"devices:local","processdataids":["Dc_P","HomeGrid_P","HomeOwn_P","HomePv_P","Home_P","LimitEvuAbs","LimitEvuRel","WorkTime","HomeBat_P"]},{"moduleid":"scb:statistic:EnergyFlow","processdataids":["Statistic:Autarky:Day","Statistic:Autarky:Month","Statistic:Autarky:Total","Statistic:Autarky:Year","Statistic:CO2Saving:Day","Statistic:CO2Saving:Month","Statistic:CO2Saving:Total","Statistic:CO2Saving:Year","Statistic:EnergyHome:Day","Statistic:EnergyHome:Month","Statistic:EnergyHome:Total","Statistic:EnergyHome:Year","Statistic:EnergyHomeGrid:Day","Statistic:EnergyHomeGrid:Month","Statistic:EnergyHomeGrid:Total","Statistic:EnergyHomeGrid:Year","Statistic:EnergyHomePv:Day","Statistic:EnergyHomePv:Month","Statistic:EnergyHomePv:Total","Statistic:EnergyHomePv:Year","Statistic:OwnConsumptionRate:Day","Statistic:OwnConsumptionRate:Month","Statistic:OwnConsumptionRate:Total","Statistic:OwnConsumptionRate:Year","Statistic:Yield:Day","Statistic:Yield:Month","Statistic:Yield:Total","Statistic:Yield:Year","Statistic:EnergyHomeBat:Day","Statistic:EnergyHomeBat:Month","Statistic:EnergyHomeBat:Total","Statistic:EnergyHomeBat:Year"]},{"moduleid":"devices:local:battery","processdataids":["Cycles","FullChargeCap_E","I","P","SoC","U"]},{"moduleid":"devices:local:pv1","processdataids":["I","P","U"]}][!http]

which results in

14:43:36.017750 IP (tos 0x0, ttl 64, id 8652, offset 0, flags [DF], proto TCP (6), length 277)
    scb.fritz.box.http > nyx.fritz.box.53836: Flags [P.], cksum 0x05c3 (correct), seq 1707:1932, ack 9562, win 1877, options [nop,nop,TS val 1241496673 ecr 3550502594], length 225: HTTP, length: 225
	HTTP/1.1 401 UNAUTHORIZED
	Server: nginx/1.15.2
	Date: Sun, 09 Feb 2020 13:43:36 GMT
	Content-Type: application/json
	Content-Length: 29
	Connection: keep-alive
	Access-Control-Allow-Origin: *
	
	{"message":"Not authorized"}

I have no clue how to fix this.

I did some more testing.
1.) used a clean openhabian install and only installed Kostal inverter in paper ui. after installation I go to inbox click + select Kostal Inverter Binding then I click KOSTAL PLENTICORE Plus 8.5 (no Battery) a Thinks pop-up come up and I can put in all details. Think is added and I can see and select all channels and connect them to items. in Control I see all items with all values. Works great.
now I installed my main setup in addons:
binding = ntp,astro,homematic,sonos,zwave,openweathermap,mqtt,exec,http1,mail
ui = basic,paper,habmin,habpanel,classic
persistence = rrd4j
action = pushover
transformation = exec,javascript,jsonpath,map,regex,scale,xpath,xslt,bin2json,jinja
misc = hueemulation,market,openhabcloud
this is running on my production setup with no issues !!

Remember I had Kostal binding up and running before I did the changes in addons.cfg !!
after I save the addons.cfg with the above addings and wait a few minutes for the system is up and running.
I click on Control in paper ui “internal Server Error 500” no values , I got into the Thinks I see the things but all channels are gone !!
conclusion: interop between stand alone and installation with other (need to find which) binding is the issue.
will test further and remove one by one the bindings, may be I find the issue.

So Issue found
I de-installed all bindings expect the Kostal. did a reboot
all works fin in paper ui, I can see the channels under the Thing and under control I see all the values.
then I installed zwave binding
binding = kostalinverter,zwave
then is stopped working in paper ui !!!
in the logs I can see that the values come in counting so it must be a issue on the combination of paper ui, Kostal and zwave binding that brick the paper ui !!

I have open a bug:

I have exactly the same problem. Is there a workaround for getting both to work? I also tried to add my Kostal Plenticore in paper ui, habmin or directly in a configuration file in openhab-conf\things, but nothing works. I get same error messages like @leiweke and @charlyx.