What if I stop updating Openhab

Hello everyone !

Some years ago, I installed Openhab 3 32bits on a RPie, as advised. Now, I can’t update to OH5 because of the 32 bits.

My OH set up works perfectly fine and I’m not sure if I want to reinstall OH5 from scratch, reach my items everywhere in the house, etc, etc…

So my question is : what if I stop updating OH and stick to my present version ? Is it bad, dangerous, whatever ?

Thanks a lot for your answers.

It’s neither good nor bad. It’s a choice, but it’s a choice that comes with risks and consequences, same as the risks and consequences involved with the choice to upgrade to OH 5. Only you can decide which you are willing to tackle.

The biggest risk to staying on this old version is something outside of OH will cause OH to break. You can mitigate this somewhat by stopping all changes to the configuration. No new add-ons, minimize changes to rules and Items. Definitely cease with updates to the operating system. Any change increases the likelihood that something breaks and if it breaks, you’re only real option is to upgrade.

Even if you stop all changes, the rest of the world does not. Any external dependency you rely on can change in ways that will break your integration with it. If that happens, new versions of OH will adapt to the change but your old version will not and remain broken. The only way to adopt to those breaking changes will be to upgrade.

Because you will no longer be updating your operating systems, you absolutely should not have this machine exposed to the Internet. Over time it will gather more and more known vulnerabilities which can be exploited to attack your network. If you are using a reverse proxy as opposed to myopenhab.org, you should host that on a different machine which you do keep up to date and monitor closely.

Ultimately, with these steps, you can potentially continue to run for many more years, or something could break next month. There is no way to predict when and if it will break.

Support from users here on the forum will become more and more limited over time as we get further and futher from when the version of OH you are using was released. Even now, support for OH 3 is very limited. So you will be largely on your own when something breaks.

You can though. It’s just a different and slightly more involved process. I’d recommend the following steps:

  1. update to the latest 4.3 on your current machine, adjust your configs to all the breaking changes and make sure everything works
  2. take a backup of the OH configs and any other data that might also be on this machine and move them off of the SD card
  3. install the latest 64-bit OS using a different SD card so you have a fall back
  4. install the latest 4.3 release on this now 64-bit machine; openHABian has a file you can edit to specify to install 4.3 instead of 5 on the first boot. If you are not using openHABian, you can specify the version in the apt command.
  5. Restore your config take in step 2
  6. Upgrade to OH 5.0; there are very few breaking changes between 4.3 to 5.0 so you likely will not have to make any further changes to your config.

The fact that the upgrade takes this much work all at once is a consequence of choosing not to upgrade for so long. Step 1 above is going to be the most work and take the most amount of time. But when there are more frequent updates than every two to four years, most of that work gets spread out between multiple small sessions instead of needing to do everything all at once. Again, it’s not wrong to not update frequently. But not doing so comes with this as the price.

3 Likes

Thank you Rich !

I did instal OH3 (well maybe it was already 4, i’m not sure) but I have made all the updates since, so that I’m actually running OH 4.3.5. 32 bits.

So I have to figure out how to make this export of my present config. And go on for OH5.

Will my RPi4 be able to handle it ? I hope so.

Yes, should be fine if it has at least 2 GB RAM.

Are you using openHABian?

Are you using third party software like Mosquitto, NodeRed, InfluxDB Grafana, etc?

sudo openhab-config backup

Then copy the file it created off of the machine. If it’s openHABian, you should already have some file shares that can be accessed from the network. You can just copy the backup zip file there and then copy it from another machine using the network share.

Another approaches include using sftp to connect to your RPi and copy the file to that machine. Without details it’s hard to say what the easiest approach will be.

If you are using other services, some of those will need to be backed up and restored individually.

I have more than 2Gb of RAM. I think I can remember it was 4.

And yes, I use openhabian. Ma Raspberry is dedicated to OpenHab. And no 3rd party software at all. Only Zwave things for a simple but efficient house automation (rollershutter, door sensors, smoke detector, thinks like that).

Thanks again Rich.

Actually you can stay on your 32 bit OS and update to OH 5.
Use the 4X menu to install an unsupported Temurin 21 32 bit java.
Apply the usual precautions (take backups etc.).

Is this supported now? I know it was possible but it was an unsupported configuration. We found a reputable 32-bit Java 21?

It works but it is not supported so deploy at your risk. It’s a Temurin 21.0.6 built on/for 32 bit.
“Reputable” is in the eye of the beholder, isn’t it.
When it works, it works. And OP doesn’t want to touch his working system (once installed), right?

Thank you Marcus, that’s another solution.

But I’m afraid it might be just a momentary “patch” and I’ll have to update later to 64 bits for one reason or another anyway.

It could ease the transition though.

You could:

  1. back up the SD card using the SD mirroring option, just in case
  2. install the 32-bit Java 21
  3. upgrade to OH 5 in place
  4. take the backup and move it off the card
  5. install 64-bit openHABian with OH 5
  6. restore the backup

That should be a tiny bit easier than installing 64-bit OH 4 first and then upgrading.

You don’t need to wipe and reinstall a 64bit os going from 32bit. I have a rpi4 running OH5 with Debian 12, 32bit userpace with a 64bit kernel and the 64 bit standard temurin. It works fine – it’s the same base 32bit image since Debian 7 that I kept upgrading since I have too much other stuff on the same pi. The basic steps I mentioned in another post. All you need to do is install arm64 as a foreign architecture, make sure arm_64bit=1, (the default for debian 12 if you don’t set), install the correct 64bit kernel (which will install the 64bit libc), and then install the temurin standard 64bit jdk or jre. There is one catch - the temurin java 21 install requires adoptium-ca-certificates, which won’t install because it’s not enabled for Multi-arch. You need to add that to the control file and manually install it (I submitted a PR for them to fix it - which seems to have been accepted).

Also before upgrading from 4.x, run your 4.x with java 21 first to make sure everything works (leave java 17 installed just in case)

If you need the complete instructions let me know I’ll post them. The memory footprint is going to be huge compared to 32bit.

Thank you Bill !

But I’m running Openhabian, not.Debian.

Yeah I just use the apt packages, but I thought openhabian was based on raspberrypi os, which is debian. If you run the command lsb_release -a does it say Debian? I guess my general point is that if you are stuck with a raspberry pi 3+ that is running an older 32bit o/s, if it’s Debian-based you can add 64bit to it, and continue with 5.0, essentially running 64bit apps on a Debian that is still setup for 32bit user applications. I don’t use openhabian though so maybe something would prevent that from upgrading itself - I would hope all it looks at is the java –version but maybe not.

Even at 32-bits, OH 4+ is a stretch for an RPi 3. It’s definitely not supported.

Running 64-bit OH is going to consume pretty much all the RAM and then some.

Yep. I’m at 1.1G resident for the Java process now (it was 700M on 32 bit).
You would be paging your SD to death.

As I said, you could stay and go with 32 bit Temurin 21 via openHABian menu if you were on a RPi3. But as the OP has 2+ GB, I don’t see any reason not to go for a fresh 64bit OS install.

Oh, that’s good news. I run OpenHab 4.2.0 on an older Synology with a 32bit ARM processor. I use the Bellsoft Liberica JDK 21.0.5 since installing 4.2.0 without any issue*.

I thought OpenHab 5 would be out of reach and wondered already why, because Java doesn’t care much about the word length of the processor. But I thought there may be native code involved somewhere.

So I will try to update to OpenHAB 5, eventually. :tada:

*uptime: 13063490

That’s more than 150 days, if I calculated correctly.

But the people and projects that compile and distribute JVMs seen to care. At least few are releasing and supporting any 32-bit packages. We seen to have found one project supporting 32-bit (see above) but it’s a little shaky to rely on at this point.

Note that GraalVM is known to have significantly improved performance on 64-bit.

I know. I think Bellsoft is actually the last big vendor to distribute a 32bit ARM version, and they maintain it: 21.0.8 is available. And there is none after Java 21. I just don’t want to throw out this little machine, yet. It is fully supported by Synology.

I didn’t even know that Adoptium Temurin still has any 32bit version for Java 21. Can’t find any Linux x86 version on their web site, not even for older Java versions: https://adoptium.net/de/supported-platforms

Of course the maintainers care, because of changes in the Hotspot compiler and test efforts. But that is not the topic here.

The world moves on to 64bit, there’s no question.

They don’t, it’s a volunteer’s project that compiled it for 32 bit.

I see. In this case you may want to give Bellsoft Liberica a chance. They build also a JDK 21 for Linux 32bit x86. They verify with the TCK, which I understand is some effort.