I updated OpenHAB from 5.1.* to 5.2.1.
Since the update, item graphs seem to update far less frequently than they should (and used to). This is independently of the binding used.
For instance, this item uses the MQTT binding (with data provided by ebusd):
And this item uses the Open Meteo bridge:
Likewise, this rule has been firing quite often (“eBUS adapter uptime has not received any updates…”) whereas it never used to unless the eBUS adapter was actually stuck (which happened rarely and is not the case here):
/* Check if we're receiving uptime updates from
* the eBUS adapter and whether it has lost connection
* to the eBUS bus for more than a threshold time and if
* so, reboot (provided that we have not rebooted recently)
*/
function main () {
const thresholdMinutes = 5;
const ts = new Date(Date.now()-thresholdMinutes*60*1000);
const connectedItem = items.getItem("eBUS_Adapter_Connected");
const isConnected = connectedItem.state == "OPEN";
const connectedRecentlyUpdated = connectedItem.persistence.updatedSince(ts);
const uptimeItem = items.getItem("eBUS_Adapter_Uptime");
const uptime = uptimeItem.numericState;
const uptimeRecentlyUpdated = uptimeItem.persistence.updatedSince(ts);
const signalItem = items.getItem("eBUS_Adapter_Signal");
const hasSignal = signalItem.state == "OPEN";
const signalRecentlyUpdated = signalItem.persistence.updatedSince(ts);
let reboot = false;
// Don't do anything if the device has been up for less than ten minutes
if (uptime > 2*thresholdMinutes*60) {
if (!isConnected && !connectedRecentlyUpdated) {
rules.runRule("xmpp_send", {body: `⚠ The eBUS adapter has been disconnected for over ${thresholdMinutes} minutes!`});
reboot = true;
}
if (!uptimeRecentlyUpdated) {
rules.runRule("xmpp_send", {body: `⚠ The eBUS adapter uptime has not received any updates for over ${thresholdMinutes} minutes!`});
reboot = true;
}
if (!hasSignal && !signalRecentlyUpdated) {
rules.runRule("xmpp_send", {body: `⚠ The eBUS adapter has not been on the eBUS bus for over ${thresholdMinutes} minutes!`});
reboot = true;
}
if (reboot) {
// Reboot the thing.
rules.runRule("xmpp_send", {body: `⚠ Rebooting the eBUS adapter`});
rules.runRule("bcb9e97526");
}
}
console.log("EBUS WATCHDOG");
console.log("isConnected", isConnected, connectedRecentlyUpdated);
console.log("uptime", uptime, uptimeRecentlyUpdated);
console.log("hasSignal", hasSignal, signalRecentlyUpdated);
}
main();
What has changed, and what can I do about it?

