Missing attribute after upgrade
-
I've noticed this issue over a few various upgrades and it doesn't always happen with every upgrade too. I haven't been able to track down why or anything that may be the cause.
I am running MSR (latest-26284-5f780cf0) in a docker on unRAID. After an upgrade and my docker restarts, some entity attributes are missing, causing the rule (or reaction) to fail when run. A quick restart of the container resolves everything and the attribute is back.
I failed to get a screenshot of the attribute list showing the (missing?) at the right of the attrib list, or within the Entities section. I did capture my overview page showing the error from the reaction running. And below that is a small list of the attribs (after the container restart.)
Is there maybe a race condition during the initial restart and reload of the attribs after an upgrade? If there is more I can supply now, please let me know. Otherwise let me know what to collect next time I see this.
This round, the issue was with a local app on my HE for my Spa. In the past, it usually is always with an Echo device. Once or twice, the issue was with one of my Hue lights. All of which are 3rd party apps on my HE.
-
The attributes in
x_hubitat_extraare created from whatever the hub sends to Reactor that isn't handled, to preserve a full view of the data. If the hub stops sending that attribute at some point, the attribute lives on in Reactor, it just isn't touched. At some point, an update (build) that causes Reactor to rebuild the entity will start over with a clean slate of attributes.So the short answer is, if the attribute isn't there after an upgrade with entity rebuild, the hub no longer provides it (or it got renamed to something else).
It's generally not unusual to get a few errors when a build forces a rebuild of entities, either for a single controller or for all of them (depends on the nature of the upgrade). These usually vanish on a second restart of Reactor, or even just a restart of one controller (if it's limited to just one). If you get a persistent error, post as usual with the logs per the posting guidelines and I'm happy to dig in a bit, but always make sure you've done at least two restarts before reporting, and that the hub and its apps are fully up and running.
There are definitely timing issues at play here. Reactor cannot wait for every controller to start before firing up the Engine and letting Rules go to work, because there's no guarantee every controller will, in fact, start. It would be a huge problem if Reactor waited for every controller to start and be fully initialized. The trade-off is rebuilds of entities can cause temporarily inconsistent states.
-
The attributes in
x_hubitat_extraare created from whatever the hub sends to Reactor that isn't handled, to preserve a full view of the data. If the hub stops sending that attribute at some point, the attribute lives on in Reactor, it just isn't touched. At some point, an update (build) that causes Reactor to rebuild the entity will start over with a clean slate of attributes.So the short answer is, if the attribute isn't there after an upgrade with entity rebuild, the hub no longer provides it (or it got renamed to something else).
It's generally not unusual to get a few errors when a build forces a rebuild of entities, either for a single controller or for all of them (depends on the nature of the upgrade). These usually vanish on a second restart of Reactor, or even just a restart of one controller (if it's limited to just one). If you get a persistent error, post as usual with the logs per the posting guidelines and I'm happy to dig in a bit, but always make sure you've done at least two restarts before reporting, and that the hub and its apps are fully up and running.
There are definitely timing issues at play here. Reactor cannot wait for every controller to start before firing up the Engine and letting Rules go to work, because there's no guarantee every controller will, in fact, start. It would be a huge problem if Reactor waited for every controller to start and be fully initialized. The trade-off is rebuilds of entities can cause temporarily inconsistent states.
@toggledbits said in Missing attribute after upgrade:
If the hub stops sending that attribute at some point, the attribute lives on in Reactor, it just isn't touched. At some point, an update (build) that causes Reactor to rebuild the entity will start over with a clean slate of attributes.
This makes total sense. With the Reactor upgrade before yesterday's update, there was no reboot of the HE hub, nor an update to the app. So I wouldn't expect the hub to stop sending the attribute to Reactor. But there very well could be some mixture of an update on the hub and an update of Reactor that when combined is the root cause. Yesterday's Reactor update did not cause any missing attributes.
I will watch this closer. For now, my work around is to just restart Reactor again and all is right.








