Jetty update, Karaf 4.1.3 upgrade and full LSP support

I also had some small issues with my org.openhab.addons.cfg, from version 2.2 1068 +/- I had a file with quoted values but somehow it got messed up by new version and looked like

transformation = \"xslt,exec,javascript,scale,xpath,jsonpath\",map,regex

After installing the last two transformations, so we might need to address this with command line fu in our upgrade script, it does not seem create the mess in this release but it did become more sensitive to it, it seems.

However no B"true" for me

But my docker (production) is happily up and running

Did anyone find a way how to force a corrupted org.openhab.addons.cfg file? Iā€™d need to find such a way in order to properly analyse and debug the issueā€¦

I started the new version with quoted values:

package = "expert"
ui = "classic,basic,paper,habpanel,habmin"
misc = "restdocs,market,dropbox1,homekit,openhabcloud"
transformation = "xslt,exec,javascript,scale,xpath,jsonpath"
remote = "true"
legacy = "true"
action = "telegram"
binding = "astro,expire1,hue,network,snmp1,systeminfo,windcentrale,zwave,ntp,mqtt1,exec"
persistence = "jdbc-mysql,mqtt,mysql,rrd4j,influxdb,mapdb"

By installing bindings on top of that it got corrupted.

For what itā€™s worth, I just upgraded von stable to 2.2.0-Snapshot Build #1094 via ~/openhabian-config and my configuration isnā€™t corrupt, everything works fine.

Hardware: RPi1
Bindings: astro, exec, expire, http1, mqtt1, network, ntp, weather1

edit:
ran into https://github.com/eclipse/smarthome/issues/4591 as noted in Jetty update, Karaf 4.1.3 upgrade and full LSP support after some new configuration and stuff. But this only occurred after adding some changes (added weatherunderground binding with the respected items).

For me the blocking issue went away after uninstalling caldav-personal1 (and restartingā€¦)

Maybe we should try uninstalling bindings until everything works to find some culprits?

@Kai I installed build 1096, and Iā€™m seeing a lot of these in my log. They seem to occur when Iā€™m in vscode mousing over different parts of a rule. I havenā€™t been able to sort out the exact behavior that causes it, however.

2017-11-24 21:49:27.451 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 17
2017-11-24 21:49:30.863 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 21
2017-11-24 21:49:36.926 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 27
2017-11-24 21:49:39.066 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 29
2017-11-24 21:49:51.675 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 39
2017-11-24 21:50:07.464 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 46
2017-11-24 21:50:12.127 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 50
2017-11-24 21:50:17.225 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 55

I also saw this while using vscode, but again Iā€™m not quite sure what I did that caused it.

2017-11-24 21:48:54.606 [ERROR] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Internal error: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassReader
java.util.concurrent.CompletionException: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassReader
        at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) [?:?]
        at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) [?:?]
        at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:604) [?:?]
        at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) [?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassReader
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201) ~[?:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:3937) ~[?:?]
        at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.getDescriptors(ClasspathScanner.java:85) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getBootClasspathDescriptors$2(ClasspathScanner.java:99) ~[?:?]
        at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42) ~[?:?]
        at com.google.common.collect.Iterators$8.transform(Iterators.java:799) ~[?:?]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
        at com.google.common.collect.Iterators$5.hasNext(Iterators.java:548) ~[?:?]
        at com.google.common.collect.Iterators$5.hasNext(Iterators.java:547) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.ClasspathBasedIdeTypesProposalProvider.createTypeProposals(ClasspathBasedIdeTypesProposalProvider.java:77) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:411) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:407) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider._createProposals(XbaseIdeContentProposalProvider.java:204) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.createProposals(XbaseIdeContentProposalProvider.java:641) ~[?:?]
        at org.eclipse.xtext.ide.editor.contentassist.IdeContentProposalProvider.createProposals(IdeContentProposalProvider.java:94) ~[?:?]
        at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createProposals(ContentAssistService.java:108) ~[?:?]
        at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createCompletionList(ContentAssistService.java:73) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$14(LanguageServerImpl.java:425) ~[?:?]
        at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:234) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.completion(LanguageServerImpl.java:427) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$13(LanguageServerImpl.java:406) ~[?:?]
        at org.eclipse.xtext.ide.server.concurrent.RequestManager.lambda$runRead$2(RequestManager.java:116) ~[?:?]
        at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:?]
        ... 5 more
Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassReader
        at org.eclipse.xtext.xbase.ide.types.ClasspathTypeDescriptor.forJarEntry(ClasspathTypeDescriptor.java:150) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.loadJarDescriptors(ClasspathScanner.java:229) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.loadDescriptors(ClasspathScanner.java:154) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getDescriptors$1(ClasspathScanner.java:83) ~[?:?]
        at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4742) ~[?:?]
        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) ~[?:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:3937) ~[?:?]
        at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.getDescriptors(ClasspathScanner.java:85) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getBootClasspathDescriptors$2(ClasspathScanner.java:99) ~[?:?]
        at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42) ~[?:?]
        at com.google.common.collect.Iterators$8.transform(Iterators.java:799) ~[?:?]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
        at com.google.common.collect.Iterators$5.hasNext(Iterators.java:548) ~[?:?]
        at com.google.common.collect.Iterators$5.hasNext(Iterators.java:547) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.ClasspathBasedIdeTypesProposalProvider.createTypeProposals(ClasspathBasedIdeTypesProposalProvider.java:77) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:411) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:407) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider._createProposals(XbaseIdeContentProposalProvider.java:204) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.createProposals(XbaseIdeContentProposalProvider.java:641) ~[?:?]
        at org.eclipse.xtext.ide.editor.contentassist.IdeContentProposalProvider.createProposals(IdeContentProposalProvider.java:94) ~[?:?]
        at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createProposals(ContentAssistService.java:108) ~[?:?]
        at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createCompletionList(ContentAssistService.java:73) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$14(LanguageServerImpl.java:425) ~[?:?]
        at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:234) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.completion(LanguageServerImpl.java:427) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$13(LanguageServerImpl.java:406) ~[?:?]
        at org.eclipse.xtext.ide.server.concurrent.RequestManager.lambda$runRead$2(RequestManager.java:116) ~[?:?]
        at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:?]
        ... 5 more
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassReader cannot be found by org.eclipse.xtext.xbase.ide_2.12.0.v20170519-0752
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461) ~[?:?]
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) ~[?:?]
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) ~[?:?]
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) ~[?:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathTypeDescriptor.forJarEntry(ClasspathTypeDescriptor.java:150) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.loadJarDescriptors(ClasspathScanner.java:229) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.loadDescriptors(ClasspathScanner.java:154) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getDescriptors$1(ClasspathScanner.java:83) ~[?:?]
        at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4742) ~[?:?]
        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) ~[?:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) ~[?:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:3937) ~[?:?]
        at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.getDescriptors(ClasspathScanner.java:85) ~[?:?]
        at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getBootClasspathDescriptors$2(ClasspathScanner.java:99) ~[?:?]
        at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42) ~[?:?]
        at com.google.common.collect.Iterators$8.transform(Iterators.java:799) ~[?:?]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
        at com.google.common.collect.Iterators$5.hasNext(Iterators.java:548) ~[?:?]
        at com.google.common.collect.Iterators$5.hasNext(Iterators.java:547) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.ClasspathBasedIdeTypesProposalProvider.createTypeProposals(ClasspathBasedIdeTypesProposalProvider.java:77) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:411) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:407) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider._createProposals(XbaseIdeContentProposalProvider.java:204) ~[?:?]
        at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.createProposals(XbaseIdeContentProposalProvider.java:641) ~[?:?]
        at org.eclipse.xtext.ide.editor.contentassist.IdeContentProposalProvider.createProposals(IdeContentProposalProvider.java:94) ~[?:?]
        at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createProposals(ContentAssistService.java:108) ~[?:?]
        at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createCompletionList(ContentAssistService.java:73) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$14(LanguageServerImpl.java:425) ~[?:?]
        at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:234) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.completion(LanguageServerImpl.java:427) ~[?:?]
        at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$13(LanguageServerImpl.java:406) ~[?:?]
        at org.eclipse.xtext.ide.server.concurrent.RequestManager.lambda$runRead$2(RequestManager.java:116) ~[?:?]
        at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:?]
        ... 5 more

And this one whenever I close vscode.

2017-11-24 22:10:54.900 [ERROR] [nrpc.json.ConcurrentMessageProcessor] - java.net.SocketException: Connection reset
java.lang.RuntimeException: java.net.SocketException: Connection reset
        at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:103) [106:org.eclipse.lsp4j.jsonrpc:0.2.1.v20170706-0855]
        at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:84) [106:org.eclipse.lsp4j.jsonrpc:0.2.1.v20170706-0855]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:210) ~[?:?]
        at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:?]
        at java.net.SocketInputStream.read(SocketInputStream.java:224) ~[?:?]
        at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:61) ~[?:?]
        ... 6 more

More concerning is that all my squeezebox, globalcache, and bigassfan things came up uninitialized. The bindings appear to be installed and running.

openhab> bundle:list -s | grep squeeze
226 ā”‚ Active   ā”‚  80 ā”‚ 2.2.0.201711242225     ā”‚ org.openhab.binding.squeezebox
openhab> bundle:list -s | grep global
223 ā”‚ Active   ā”‚  80 ā”‚ 2.2.0.201711242225     ā”‚ org.openhab.binding.globalcache
openhab> bundle:list -s | grep bigassfan
221 ā”‚ Active   ā”‚  80 ā”‚ 2.2.0.201711242225     ā”‚ org.openhab.binding.bigassfan

As this is my prod system, Iā€™m restoring the backup from the previous build I was on (1081).

My experience from todayā€™s upgrade was a smooth one (no issues to report)
From: openHAB2 2.2.0 Snapshot Build #1082 (2.2.0~20171116035510) based on Karaf 4.1.2
To: openHAB2 2.2.0 Snapshot Build #1096 (2.2.0~20171125002051) based on Karaf 4.1.3

All tested and working fine (knx, mqtt, astro, mail, pushover, mapdb, influxdb, homekit, weather, nuts)
I will check the Language Server stuff (LSP with VSCode) and report back.
So far, so goodā€¦ Logs are clean and system is fully functional

1 Like

@mhilbush Please report all LSP related issues directly to @sjka, he is the expert on this. Feel free to open dedicated issues at https://github.com/eclipse/smarthome.

Distro #1096 has one issue with component descriptor generation (unrelated to LSP) - I am currently looking into that.

1 Like

I installed the snapshot 1099 and this snapshot seems to be usable again and working.
I still got jetty errors but apparently they donā€™t break openHAB usage.

Thereā€™s now also a PR #5371 for adding serial port selection to the OH1 DSMR, Plugwise, UPB bindings! :slight_smile:

From what I read here, The ā€œBā€ and quoted versions are a specific format of Felix Config Admin - which is the service that maintains our userdata/config folder, so it is absolutely correct that files in there have such a format.

Nonetheless, everything in userdata/etc are *.cfg files, which must not use this format as they are ā€œplain OSGiā€ and thus normal Java property files. I would hence say that it is a bug in Karaf or FileInstall that the Felix ConfigAdmin format is used when files are written to etc. I didnā€™t figure out yet, why this happens though :frowning:

Ideally, I would want Karaf not writing to etc at all, but only push changes to ConfigAdmin so that they end up in the config folder. I had a discussion with Karaf people a while ago and it turned out that this isnā€™t possible - Karaf will always write configurations that are handled through it to the cfg files.

Iā€™ve now spent many many hours trying to get that working better, but so far without much success. Iā€™d love to see anyone from the community helping on such things, but it seems that such technical internas are not that thrilling for anybody to dive intoā€¦ So just as a word of warning: As long as I am alone with such stuff and have to spend complete days on it, I wonā€™t find time to drive anything else like feature, PR reviews, new releases, etcā€¦

1 Like

Quick note to everyone who is suffering from the ā€œBlacklisting ServiceReferenceā€ issue - we have a new distro #1103 available that should fully solve this issue (no need for workarounds anymore, all kudos go to @sjka!).

This build also has an improved add-ons install mechanism, which hopefully reduces the situations where people see empty dashboards.

Furthermore I have changed the way the packaging configs are created, so with a bit of luck this might avoid the ā€œadditional quotesā€ bug in the cfg files - letā€™s touch wood :deciduous_tree: (or better :christmas_tree:).

Regards,
Kai

8 Likes

So it should be safe to upgrade now? Iā€™m still on 1073, which seems to have the broken quotes but still works fine with it :slight_smile:

BackUp 1073 and try :wink:

I just upgraded to #1103.

I must say it was a quite cumbersome experience. After upgrading, OpenHAB was extremely slow (using all my CPU) and wouldnā€™t complete the installation of the UIā€™s. I rebooted and cleared the cache several times. It didnā€™t work. Then I downgraded back to the previous version (apt-get install openhab2=2.2.0~20171201130444-1), that worked. Then I upgraded again, and I just gave OH 10-15 or so to ā€˜settle downā€™. That seemed to work. So Iā€™m finally up and running. :slight_smile:

I must admit, I still have that workaround in place (org.apache.felix.eventadmin.Timeout=0), but I had my portion of OH issues for this evening (WAF dropped below zero). Iā€™ll try to switch it off tomorrow and see what happens. Iā€™ll share the outcome.

Upgraded an hour ago (coming from #1084), no workarounds needed anymore.
But: I had to reinstall all PaperUI configured (I am not usind the addons.cfg) bindings, actions, ā€¦

Works flawlessly, no endless spinning wheels anymore, no need to reload the page. Just a simple ā€œbinding installedā€. Nice work, thanks.

It took a little while until everything settled and I too had to delete cache and tmp in between, but that was it.

Also big kudos to @sjka, thx for all your hard work.

I had to reinstall all PaperUI configured (I am not usind the addons.cfg) bindings, actions, ā€¦

Didnā€™t it automatically re-install those? Do you still have a copy of your original userdata/etc/org.openhab.addongs.cfg file?

I too had to delete cache and tmp in between

Are you using the official upgrade script (or are you using apt)? The update script cleans the cache&tmp folders automatically and one time should definitely suffice. What effects did you have after the update that made you clean everything again?

Did not wait long enough I guess.

Yepp, backup from last night:

remote = true
package = minimal

(Although I donā€™t use the /service/addons.cfg since month). Timestamp org.openhab.addongs.cfg is from 20. Nov. 2017

Nope, Iā€™m using a manual install and this time I deleted everything excluding the conf folder. So maybe the reason I had to reinstall all bindings is the fact that I deleted (on purpose) my userdata folder just to make sure I donā€™t keep any old files.

Ok, this explains - please use the update script in future as this has quite some logic build in on purpose. :slight_smile: And if you use it, you can help us identify potential problems in it - if you invent your own way, you are on your own :wink:

1 Like

Maybe I will try, but since migrating from 1.x to 2.x this script works well and I know what the script is doing (that is not the case for the implemented backup/restore script).

It also deletes cache and tmp during upgrading and once in a while I delete the userdata folder as well to remove any old files, especially this time where we had problems beginning with #1083 and lasting until today.

Thx, again, #1103 is still working fine.