Finding Missing Devices & Migrating Devices
-
@toggledbits Is there a prescribed (read: easy) way to identify which Rule(s) a particular device is explicitly mentioned in? I'm busy replacing an in-wall dimmer, and /think/ I know which two Rules the old module participated in, but want to be 100% certain. Thanks!
-
Should my Vera die, I will almost certainly jump to Hubitat + Reactor.
I saw the writing on the walls, from other 3rd party vendors, about the Vera line and made that change. HE C7 + MSR docker. Thrilled I did and removed my last Vera device a couple of days ago. I have my second HE C7 hub staged and ready to replace the Vera+ at my cabin next week. I'll be using the Rule Machine there though. Not as friendly as MSR, but easily as powerful.
@toggledbits Is there a prescribed (read: easy) way to identify which Rule(s) a particular device is explicitly mentioned in? I'm busy replacing an in-wall dimmer, and /think/ I know which two Rules the old module participated in, but want to be 100% certain. Thanks!
I would second this. Maybe list out the locations they are used within the Entities section? Although now that I'm off Vera, I don't plan many changes. I updated the rules I could remember/find and then waited a day or two to see the Alerts for the ones I missed. I ended up documenting all my Vera ID numbers of the devices because one would creep up a week later and I had a hard time remember who Vera>256 was.
-
I would second this.
Glad I'm not along in wanting this feature, which -- full disclosure -- I'm hoping would further ease my eventual transition away from Vera and onto, say, Hubitat.
So that's two scenarios in which MSR could help:
(a) Swapping a faulty device (e.g. wall switch) for a direct replacement, paired with the existing hub;
(b) Finding each occurrence in MSR of OldHub>Device_X tied to (but unpaired from) my old hub, to swap it for NewHub>Device_X on the new hub.Hope that makes sense. It's almost like asking for an EDIT > FIND & REPLACE feature in a word processor.
-
MSR being the bridge between the two hubs was incredible. Couldn't have done it without it. I moved my Reactor for Vera over first and cleaned that up. Then I moved ALL my scenes and steps that the House Modes did. This set either hub to purely be a device connection point with no rules running on either. I started the migration near the end of August and did 3 - 5 devices at a time, every few days. Any more than 5 at a time was hard to track and adjust MSR along the way. The only real issue was towards the end when I had a couple of switches that would not communicate back to Vera. They were too far away, forcing me move the Vera hub. Luckily I only needed to move it once and get that side of the house in one swoop.
-
@3rdstng This.
I implemented the same plan. Have a couple hours doing laundry? Perfect. Migrate as many devices as that time allows and update the previously-migrated rules from Vera Reactor to MSR.
The migration script @toggledbits provided for Vera Reactor users was huge. Making adjustments was much quicker than rebuilding rulesets from scratch.
I started almost Day One of MSR being released and just this past weekend removed the final hard device from Vera as well as officially shut down my SiteSensors.
-
Welp, it got to be late last night and I had the Amazon browser window open, so guys... I pulled the trigger and ordered my Hubitat. Will be here tomorrow and I fully intend to put it through its paces. Vera Plus retirement, here we come!!
P.S. This will leave me with perfectly good (2) Vera Plus, (1) Vera Edge, (1) ezlo Plus and (1) ezlo Atom sitting in my closet, hoping to sell. Is there a "Marketplace" section on the Forum??
-
@librasun said in Finding Missing Devices & Migrating Devices:
Is there a prescribed (read: easy) way to identify which Rule(s) a particular device is explicitly mentioned in?
I thought this deserved its own topic.
At the moment, no, at least, nothing very tidy. If you're on a Linux-based platform (including NAS docker containers), you can
fgrep
thestorage
directory for the device ID.$ fgrep -r 'vera>device_10' storage/rules/* storage/rules/rule-klmlmzg9.json: "entity": "vera>device_10", storage/rules/rule-kln4zy9e.json: "entity": "vera>device_10", storage/rules/rule-klvag40b.json: "entity": "vera>device_10", storage/rules/rule-klwtr0re.json: "entity": "vera>device_10", storage/rules/rule-km6w0xwi.json: "entity": "vera>device_10", storage/rules/rule-kmkt2705.json: "entity": "vera>device_10",
You can then open each of those files and look for the
name
field to find the rule name. Not great, but maybe better than nothing. Once you're used to it, it's quick. If you expand the search to thestorage
directory in general, you'll also find the expressions and reactions.The issue at hand is that Reactor doesn't use a proper database for storage currently. The database I'd most like to use, mongodb, would lend itself to storing this type of data and maintaining a lot of flexible relationships that would allow queries of this kind to be easy, but comes at a high cost: mongodb just as an add-on is much larger than Reactor itself, more than doubling the demand on both storage and RAM before even doing any work; and as a separate service on which Reactor would then depend entirely, it introduces a big new point of failure in the system.
I haven't come up with a solution I like yet, but I'll confess it's also something I haven't spent a huge amount of time thinking about. It may simply be that for the relatively low use this type of query would receive, brute force is the best answer (i.e. something under Tools that just rips through the objects directly, no database storage/overhead).
-
[SOLVED - OK to remove this]
SOLUTION: I had mistakenly assigned the NAS folder /REACTOR instead of REACTOR/DATA to the '/var/reactor' volume when setting up the Docker Container for MSR. Once rectified, all Rulesets reappeared like magic.
Speaking of finding missing items, I've consulted the Docs under "Installation" and come up empty on solving a mini-crisis I got myself into tonight after rebuilding my RAID volume. On my Synology NAS > Docker > MSR setup, I had taken pains to backup the entirety of the shared REACTOR folder contents. That went well.
After successfully building my new RAID array (with larger, more reliable HDDs), I restored all the REACTOR folder contents in the same (top-level) location on my NAS. It was time to reinstall Docker, download the Reactor 'latest' image, then get the Container going. Again, all went smoothly.
Here's my problem: MSR latest-21307-1746e27 is running fine, and although it lives among all the restored folders and subfolders - full of my existing Rulesets, etc. - the UI shows none of them. Instead, I get the classic, "This rule set is empty. Click "Add Rule" to add a rule to it."
Q: How can I force a fresh MSR installation to 'see' my existing settings?
THANKS for any guidance! I'm a little scared now, and all sphincters still unclenching from the NAS HDD replacement surgery.
-
@toggledbits said in Finding Missing Devices & Migrating Devices:
At the moment, no, at least, nothing very tidy. If you're on a Linux-based platform (including NAS docker containers), you can fgrep the storage directory for the device ID.
I don't like to mongodb idea. Reactor is very light and nimble. Plus with everything being text based files, it's harder to corrupt than a DB, thus easier to restore to if you need to.
I do like something under the tools section. Maybe just a stupid simple GUI to a fgrep cli command with collected variables that then display the results in the GUI as well? It's crude, but it should work. Maybe? And also now that my migration is done, I think I would only really use it to find a device I know is in use within a rule I nested elsewhere. I've tried to keep them grouped in areas, like Roller Shades, Light Schedules, Announcements, etc. But every once in a while there is a rule that straddles both and I hunt for it. Aside from that, I am perfectly fine with the red bell in the top right.
-
@3rdstng said in Finding Missing Devices & Migrating Devices:
Maybe just a stupid simple GUI to a fgrep cli command with collected variables
I think Hubitat handles it by adding a reference - complete with hyperlink - for every Rule containing a specific device or virtual device. One click to jump over to the Rule. Kinda neat.
As someone mentioned above, I think the idea place for MSR to have this (if it were to become a feature) is under Entities. Truly it could spare me many hours of hunting and pecking - and never being entirely certain - that I sadly do not have most days.
-
1/10