Successful migration from openhab 1.8 to openhab 2.1

First I want to say I big thank you for this huge step forward for openhab2.

It tooks me a while until I solved all my problems, but finally everything works now :slight_smile:

I changed the following things

  • Changed “Uninitialized” to NULL in all rule files
  • lowercase my own iconset and adapt the changed filenames in my items and sitemap files
  • map translations together with %d in item files does not work, but gives also no exception. Without enough informations it was hard to find the real reason. Solution was to change it to %s, modified also the values in the translation file and it works again
  • fix some syntax errors in my own rule files. Openhab2 is more strict while parsing
  • primitive types are not supported as Function parameter in rule files. Solution: Changed it to objects
  • removed wildcard imports. For me it was enough to just delete it.
  • copy unsupported s300th binding jar from openhab1 and it works without any changes. Irritating was that this binding was not listed when I called “feature:list”, but it works. I think the reason is, that this binding is not prepared for openhab2
  • move some of my persistence rules from mysql to mapdb

all other persistence values (rrd4f and mysql) are migrated too.

To get a impression about my project (434 items, >50 rules and 11 bindings)




Very nice site dude!
I’ve visited it many times :slight_smile:

Wow, glad you’re up and running! It must have been no easy feat migrating with a project like that. Thanks for sharing your experiences, here and on your website. Always good to have them to help others starting on the same track!

Thanks for sharing! :slight_smile:
Came across your site when googling a few months ago.

One question: What trickery is required to get two values in one line on the sitemap?
Is the string being built, or is this standard functionality with OH2 – or is it available in OH1?

Fantastic project and great documentation details. Thanks for your efforts :slight_smile:

Hi Max,

you need 3 items. 2 items containing the raw values and a third item which will be filled by a rule. The rule itself is triggered by the first 2 items and will store the generated string in the third item.

1 Like