OpenHAB 5.1.0 M4 Settings Persistence broken?

Hi guys,

trying Openhab 5.1.0 M4 and encountered the following error in the console of the browser. Navigation to Settings > Persistence is possible, but the interface for the persistence is broken. Just wanted to check if it’s a bug or just a glitch on my side.

TypeError: Cannot read properties of undefined (reading 'getters')
    at Proxy.loadCounters (settings-menu-Cs95xK0p.js:40:19)
    at Proxy.onPageAfterIn (settings-menu-Cs95xK0p.js:62:8)
    at Nn (index-o7zm7EQ2.js:1028:19)
    at Pn (index-o7zm7EQ2.js:1035:16)
    at fa (index-o7zm7EQ2.js:2468:52)
    at e2.b2 (index-o7zm7EQ2.js:15839:53)
    at index-o7zm7EQ2.js:4626:16
    at Array.forEach (<anonymous>)
    at index-o7zm7EQ2.js:4625:18
    at Array.forEach (<anonymous>)

I guess it’s something with persistence changes (Proxy.loadCounters):

this.$store.getters.apiEndpoint("persistence") && this.$oh.api.get("/rest/persistence/persistencehealth").then( (e2) => {
    this.persistenceProblemCount = e2.length;
}

Repro Steps:

  1. Login
  2. Navigate to Settings

System Info:

runtimeInfo:
  version: 5.1.0.M4
  buildString: Milestone Build
locale: en-AT
systemInfo:
  configFolder: /etc/openhab
  userdataFolder: /var/lib/openhab
  logFolder: /var/log/openhab
  javaVersion: 21.0.9
  javaVendor: Ubuntu
  osName: Linux
  osVersion: 6.8.0-1043-raspi
  osArchitecture: aarch64
  availableProcessors: 4
  freeMemory: 95144360
  totalMemory: 267386880
  uptime: 1239
  startLevel: 100
addons:
  - automation-jsscripting
  - binding-enigma2
  - binding-http
  - binding-mielecloud
  - binding-modbus
  - binding-mqtt
  - binding-netatmo
  - binding-tado
  - misc-openhabcloud
  - persistence-influxdb
  - persistence-mapdb
  - persistence-rrd4j
  - transformation-jsonpath
  - transformation-regex
  - ui-basic
clientInfo:
  device:
    ios: false
    android: false
    androidChrome: false
    desktop: true
    iphone: false
    ipod: false
    ipad: false
    edge: false
    ie: false
    firefox: false
    macos: false
    windows: false
    cordova: false
    electron: false
    capacitor: false
    nwjs: false
    webView: false
    webview: false
    standalone: false
    pixelRatio: 1
    prefersColorScheme: dark
  isSecureContext: true
  locationbarVisible: true
  menubarVisible: true
  navigator:
    cookieEnabled: true
    deviceMemory: 8
    hardwareConcurrency: 12
    language: en-GB
    languages:
      - en-GB
      - en-US
      - en
      - de
    onLine: true
    platform: Linux x86_64
  screen:
    width: 3440
    height: 1440
    colorDepth: 24
  support:
    touch: false
    pointerEvents: true
    passiveListener: true
    intersectionObserver: true
  themeOptions:
    dark: dark
    autoDarkMode: true
    bars: light
    homeNavBar: default
    homeBackground: default
    disableExpandableCardAnimation: false
    blocklyRenderer: null
    disablePageTransitionAnimation: false
    hideChatInput: false
    webAudio: false
    visibleBreakpointDisabled: false
  userAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like
    Gecko) Chrome/143.0.0.0 Safari/537.36
timestamp: 2025-12-16T17:18:47.410Z

Make sure you don’t have a default configured (breaking change in M4):

Hi @sihui,

I saw that the upgrade tool did something to my persistence setup. Where do I find persist DSL files if I have one? Don’t remember I created ones.

Thanks.

I’ve seen this ui bug fixed on github.

Do you remember where @djal ?

I’m not sure, I think that this one

Then you should be fine for that part.

Yes, thank you, that looks like the problem I’m dealing with.

I performed an upgrading from 5.0.3 to 5.1.0 M4 a few days ago and noticed my persistance was not working, it didn’t restore any of my values post upgrade so i ended up reverting back to 5.0.3 as a temporary fix till i had a chance to research and look into this.

I also had problems with persistence while upgrading to 5.1.0.

Seems like commenting out the line which specifies default in *.persist files solves the issue:

Strategies {

    // default = everyUpdate

}

Items { …

After another restart all the DSL rules started working

Hi,same problem after upgrade from 5.0.4 to 5.1.0 this night. I also went forward to 5.2.0 to see if it’s fixed, but still the same problem.
I can’t find this .persist’ file to fix this manually.

Help appricated.

Regards

Christian

Health check also complains:

Looks like upgrade lost all persistence configuration.

If you’re using persistence via file, the files are under “/openhab/conf/persistence”.

There are the files f.e.:

  • rrd4j.persist
  • mapdb.persist
  • and maybe other persist files

I checked this directory; Only a readme.txt file exists. I never touched this file in the past, just used the default for all.
I also searched for rrd4j.persist in all subdirectories below ‘/snap/openhab/current’, but failed, doesn’t exists (anymore).

If you haven’t previously set up persistence via files.

As I understand correct then openHAB should have created persistence in the main UI as part of the migration.

Check the main UI under Settings / Persistence.

Further details are described here:

Why the milestone instead of the full release?

I’m not sure when the fix for persistence was added to upgradeTool but it is likely that happened after M4.

How did you do the upgrade?

Previous to OH 5.1 all the persistence add-ons had a default configuration built into the add-on itself. That caused significant problems for a lot of users so it had to be removed. But if you did the upgrade in a way that skipped some upgrade steps, particularly running upgradeTool, you missed out on the step that created a persistence config for you.

Correct, but only if the upgradeTool was run. If not, no persistence config exists at all now.

@chris66 can either run the upgradeTool or go to Settings → Persistence and create a configuration. To reproduce the same config as was built into the add-ons previously select “all Items” with strategies “everyChange, restoreOnStartup”. For rrd4j, include “everyMinute” as well. However, now is a great time to remove a potential source of race conditions and make sure only one of your persistence configs does restoreOnStartup.

It looks like 3 days after my post is when the full release came out.. at the time M4 was the latest build.

When i make a full backup and attempt an upgrade from 5.0.3 to 5.1.0 sometime soon… and will report back my outcome :slight_smile:

Snap automatically updated because channel ‘latest/ stable’ version had changed to 5.1.1

If snap is upgrading, I expect this upgradeTool should be execute automatically.

:person_shrugging: . We don’t create nor maintain the snap package. We have no insight into how that works.