Interoperability with other OpenHAB instance

Hmmmm. Are both of those folders indeed missing from /etc/openhab2?

I do see that I’ve not checked in those folders to etc/openhab2 and I must have forgotten to add the steps to recreate them when I wrote the above steps.

After the sudo cp -r hestia-touch-openhab/etc/openhab2 /etc/openhab2 add the following two commands.

sudo mkdir /etc/openhab2/things
sudo mkdir /etc/openhab2/rules

That will make sure those folders exist. I didn’t check in these empty folders because they are empty and when someone is upgrading they will already have an OH installation. I can check in both empty folders to make this process easier.

The clean-cache is probably unnecessary. It was performed by apt when you did the upgrade. I’d only recommend doing it again if you actually experience a problem where a reinstall of the bindings is likely to fix it.

I’m aware of those and for now they can be ignored unless they persist showing up after you see the “System is ready for operation” log statement. I need to go in and prevent a couple of Rules from running unless the Setpoint and PreviousXReading Item have a usable value. The error just means that one of two Rules is running before PreviousXReading (probably PreviousTempReading) has a usable state. Once the Initialization Rule has a chance to run for the first time it should get initialized to 0 and restoreOnStartup should prevent the error from that point onward.

But I’ve also seen similar errors on MyTempProxy so there are definitely some more error checking on some Rules to prevent them from running until everything they need have a valid value. For now, you can ignore those types of errors until after initialization completes. If they persist after initialization completes let me know.

Initialization gets kicked off when default.rules is copied from the scripts folder to the rules folder by the kiosk-xinit.sh script. default.rules now contains a single Rule that sendCommand to StartInitialization which causes the Initialization Rule in the JSONDB to run.

So the full set of commands to run would be:

sudo apt update
sudo apt upgrade
sudo openhab-cli stop
git clone --single-branch --branch jsondb  https://github.com/rkoshak/hestia-touch-openhab.git
mv /home/pi/scripts /home/pi/scripts.old
cp -r hestia-touch-openhab/home/pi/scripts /home/pi/scripts
sudo mv /etc/openhab2 /etc/openhab2.old
sudo cp -r hestia-touch-openhab/etc/openhab2 /etc/openhab2
sudo mkdir /etc/openhab2/things
sudo mkdir /etc/openhab2/rules
sudo chown -R openhab:openhab /etc/openhab2
sudo mv /var/lib/openhab2 /var/lib/openhab2.old
sudo cp -r hestia-touch-openhab/var/lib/openhab2 /var/lib/openhab2
sudo chown -R openhab:openhab /var/lib/openhab2
sudo reboot

I’m not certain the clean-cache and reset-ownership is necessary after the first reboot. The chown commands have already set the ownership. The apt upgrade already cleared the cache.

Let me know if you see any other problems or have other questions. I was only able to test this transition once and in the great debate I fall on the side that programmers are incapable of properly and fully testing their own code. They know how it is supposed to work and have blind spots to potential miss uses that can cause errors. So your feedback is very very appreciated.