openHAB 5.2 Release discussion

This topic can be used to discuss problems/experiences/questions on the openHAB 5.2 release as announced in this topic.

Inadvertently jumped to 5.2.0 right after it released (rather than updating to 5.1.4-1 as intended) and the add-ons / persistence services on 5.2.0 seem to have been excluded from the install/update package and/or are not registering as installed (with associated things non-functional & persisted data not loaded).

Issue has been reported by another user in GitHub ( Items and sitemaps stop loading/working entirely after upgrade to 5.2.0 (downgrade to 5.1.4 fixes it) · Issue #5694 · openhab/openhab-core · GitHub )

  • Did not notice any errors during update (via OpenHabian option 03).
  • Main UI loaded post update, however all previously created Things (other than those using 1x binding manually installed via .jar) were showing that there was no associated binding installed (e.g. Astro, zwave) and all persistence data was missing from all charts.
  • All OpenHab distributed addons were missing from the Add-on Store Bindings page, including those installed prior to upgrade - only options listed as available to install were those from the community marketplace.
  • No persistence services were listed as available under the relevant Add-on Store page.
  • Installing 5.1.4-1 using sudo apt-get appears to have fully restored functionality, with missing bindings + persistence services showing as installed w/o need to re-install (specifically reverted using the following - let me know if I overlooked something)
sudo apt-get install openhab=5.1.4-1 openhab-addons=5.1.4-1

I have installed and it all seems to work ok but still have this issue:

Otherwise all OK so far.

You should remove JARs from the addons folder when starting a new version, incompatible add-ons can prevent OH from starting. In addition, you should give OH 10-15 minutes after starting a new version, then restart OH. By that time, everything needed should have been downloaded and installed.

Have you created a GitHub issue for this? It’s been hectic the last days, so the whole problem may have been missed. Nothing has probably changed for that situation since RC2.

I think I have created an issue


Is it in the right place? I am not an expert in any of this stuff. Just and end user.
Thanks for the great software though


Sadly no, it should be created in the openhab-webui repo, not openhab-distro.

I have a nothing fancy OH production system. All looks good. Thanks to all.

FWIW (not worth much) I did have this on the first start 2026-07-05 21:24:12.316 [ERROR] [Events.Framework ] - FrameworkEvent ERROR
java.lang.IllegalStateException: Invalid class loader from a refreshed bundle is being used: org.openhab.core.model.rule_5.2.0, but surprisingly my IP cameras start after the upgrade was not a problem (usually are, so that is positive.) Anyway, on the restart (after about 10 minutes) all is clear. All my test environments started up after the upgrade without issue the first time.

I will close the other issue as I cannot see an option to move it to web-ui.

Just upgraded to 5.2.0 from 5.1.4 and found no bindings installed, is there a quick fix?

Morning all

Thanks for the hard work on 5.2

I have an issue - installed on 2 systems both RPi 5 8gb Ram

when I am editing a Main UI Page Layout in “Fixed Canvas” mode i do not see the “Edit Yaml” but its there in the “Fixed Grid” mode

I have refreshed the app on both systems and tried both HTTP and HTTPS

I have tried both Chrome and Safari on Mac OS

seems that in github (not only!) the link from the mcp add-on is broken

The link is openHAB MCP Server - System Integrations | openHAB

We’d need to fix the script that created the release notes addon links somehow - @Kai @florian-h05

/ios/ → /integrations/

Thx! Upgraded to 5.2 with no issues yet. Right off the bat the UI changes are nice (more integrated log viewer), curious to try the chat functionality when I have time.

Cheers

(Again) problems with openhab cloud notifications

After upgrading to OH 5.2 all works well except sending notifications.

2026-07-06 15:43:06.536 [INFO ] [io.openhabcloud.internal.CloudClient] - Shutting down openHAB Cloud service connection
2026-07-06 15:43:06.540 [WARN ] [io.openhabcloud.internal.CloudClient] - Socket.IO disconnected: io client disconnect
2026-07-06 15:43:06.541 [INFO ] [io.openhabcloud.internal.CloudClient] - Disconnected from the openHAB Cloud service (UUID = 24...40, base URL = http://localhost:8080)
2026-07-06 15:43:06.994 [INFO ] [io.openhabcloud.internal.CloudClient] - Connected to the openHAB Cloud service (UUID = 24...40, base URL = http://localhost:8080)
2026-07-06 15:44:12.159 [INFO ] [penhab.core.model.script.Testswitch2] - Notification sent
2026-07-06 15:44:12.162 [WARN ] [b.io.openhabcloud.NotificationAction] - Unable to execute sendNotification() because the cloud connector is down
2026-07-06 15:44:12.163 [WARN ] [b.io.openhabcloud.NotificationAction] - Unable to execute sendBroadcastNotification() because the cloud connector is down
2026-07-06 15:44:12.164 [WARN ] [b.io.openhabcloud.NotificationAction] - Unable to execute sendLogNotification() because the cloud connector is down

When changing and saving a setting in the cloud connector addon, the connection is build upon again.
As per the logs, when sending a notification this seems to “kill” the connection.

Removing the binding, restarting openHAB after a cleanCache and reinstalling the binding didn’t fix the problem

After the update, calling JS rules by name stopped working. It returns the warning “Failed to execute action ‘1’ of rule ‘UPDATE_CAMERA’: Failed to acquire the lock for action ‘1’ of rule ‘UPDATE_CAMERA’ within 5 seconds.” and does not execute.

rules.JSRule({
    id: "UPDATE_CAMERA",
    execute: event => {
        const name = event.raw.name;
        

        if (name in pcameras) {
            console.log('Ask update image', name);

            if ('image' in pcameras[name]) items.getItem(pcameras[name].image).sendCommand('REFRESH');
        }

        //images[name].push(event.raw.callback);
        if (name in acameras) {
            // curl -k -o image.jpg https://example.com/image.jpg
            try {
                const image_url = 'https://' + acameras[name] + '/snap.jpeg?t=' + time.LocalDateTime.now().toString();
                const file_path = '/etc/openhab/html/snapshots/' + name + '_snap.jpg';


                actions.Exec.executeCommandLine(time.Duration.ofSeconds(20), '/usr/bin/curl', '-k', '-o', file_path,  image_url);


                
                const image = new org.openhab.core.library.types.RawType(java.nio.file.Files.readAllBytes(java.nio.file.Paths.get(file_path)), "image/jpeg");

                event.raw.callback(name, image);
            } catch (e) {
                console.error(e);
            }
        }
    }
});

rules.JSRule({
    name: "Update last camera pics",
    description: "Make snapshots for all cameras",
    triggers: [triggers.GenericCronTrigger("0/30 * * * * ?")],
    execute: (event) => {

        for (const [k, data] of Object.entries(pcameras)) {
            rules.runRule('UPDATE_CAMERA', {
                name: k,
                callback: (name, image) => {
                    console.log('Update image', name);
                    
                }
            }, false);
        }
    }
});

same warning for other runRules too

Minor issue


In the app I can’t touch the send button on my phone

It’s not a bug. You can’t have the same rule (context) used by more than one thread at the time. What’s new is the error message, in the past it would just hang “forever” without logging the problem.

You can increase the timeout under the JavaScript scripting settings (enable “Advanced”) if you want the rule to wait longer before giving up, but ultimately, you should figure out what the previous execution isn’t done in 5 seconds. Rules aren’t meant to “run for a long time”, and if they do, you can’t trigger them often.

edit: If I understand your rule correctly, it records for 20 seconds? If that’s the case, you should make sure that the rule never runs more often than every 20 seconds. The easiest way might be to use the IntervalCondition in your rule, and set it to 25 seconds or so. When you call runRule() you must also make sure to send true for “evaluate conditions”, because that’s false by default.

I generally understand what you are saying, but I am seeing different symptoms.

I have a manual rule that I can trigger by clicking a button, and inside it calls runRule by ID. I am 99.9% sure that this rule is not being executed elsewhere at the same time, because I commented out everything except the manual trigger.

As an experiment, I also commented out the entire code inside the rule and left only a console.log so that it would execute instantly. I still get the same error every time I click the button.

(post deleted by author)