I had to uninstall everything, including a manual uninstall of node & npm.
Then get the latest of everything (node.js v10.13.0 & npm v6.4.1)
Installing Homebridge again node-gyp complains:
$ sudo npm i -g homebridge
/usr/local/bin/homebridge -> /usr/local/lib/node_modules/homebridge/bin/homebridge
> curve25519-n@1.4.0 install /usr/local/lib/node_modules/homebridge/node_modules/curve25519-n
> node-gyp rebuild
gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/john/.node-gyp/10.13.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/homebridge/node_modules/curve25519-n/.node-gyp"
I changed to:
sudo npm i -g --unsafe-perm homebridge
and after a thousand warnings, it compiled node-gyp and completed the install.
And worked:
$ homebridge
[11/23/2018, 12:57:36 PM] config.json (.homebridge/config.json) not found.
[11/23/2018, 12:57:36 PM] No plugins found. See the README for information on installing plugins.
Setup Payload:
X-HM://0023ISYWYCBIK
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
I copied back my saved persist and accessories directory/files and the saved config.json and a restart of Homebridge worked. All my devices were back, but not in their assigned rooms.
I used "Controller" (the $5 app that does backups of HomeKit) and restored it BUT that is not ideal. It put everything back in the rooms BUT 1) left everything in Favorites too. So I had to go into each tile and turn that off. Would have been just as easy to correct the room at the same time. 2) Automations didn't restore fully. The invite to my wife's phone is gone, so I'll have to do that a 23rd time.
I shut the RPi and it's back to running on my Mac again.
I think (but not positive) that the rooms get messed up, even with the persist and accessories directories backed up, when the HomeKit code changes. If you know what it was before, you could try changing that then restore the backed up directories.
I did this once before and forgot to record what the HomeKit code was before, so i was screwed and had to do the same thing you're doing right now. I never tested the hypothesis that going back to the same code would fix the room assignments because I didn't want to have to go through that again.
Apple's HomeKit is actually just a DB. They outlined the schema for the DB and APIs to access that schema, but everything else was left to apps programmers. Catch-22, no apps, no one could make great use of it, leading to zero programmers wanting to invest. Apple then came out with the Home App (years too late) and we're using it.
So.. I believe the room assignments are in the HomeKit DB and of course, here on the Hubitat/Homebridge side, we have nothing like that. So it's my thinking that the "zeros" we have for rooms get sent to HomeKit and the DB is promptly overwritten with.. nothing. I do not believe Homebridge has a facility for rooms, so I'm not saying Homebridge is doing something wrong. I'm saying, when Homebridge registers each device, most of the time that does NOT cause the Room field in the HomeKit DB to be blanked. But once in a while, it does.
Accessories and persist (files within) are part of the total, but somewhere there's something to get tripped over and the DB does start blanking.
That is just the imaginary explanation, weaving through the meager clues I have to build a "story."
But, I have restored the entire Mac from Time Machine backup to avoid having to setup those rooms all over again. I hate doing it on my phone and my laptop is too old not to upgrade to Mojave, so I'll never get Home on the laptop until I upgrade.
There's that web app (forget the name) to configure via desktop/laptop, but I didn't want to do insecure install from scratch to get it, so have never bothered with it.
Yes, I did a save /backup using the controller app 10 minutes before wiping everything off.
Took about 30 mins to get all the Node.js and NPM pieces off. Then about 20 mins to put it all back with a test as each component finished.
The Controller app needs, one at a time, for me to stitch the HomeKit name to the Homebridge name, even though they are 100% matches. That takes another 20 mins for 42 devices.
I did get 4 extra somethings.. maybe it was a scene.. I didn't memorize, just deleted without really looking.
My Automations, which are presence, didn't restore the presence sensor(switch). The frame of the automation was there but I had to pick person and switch for each.
I did that also. But your question was specifically Controller app.
After restoring the persist and accessories directory/files and noting the empty rooms, I then used Controller app. Which resulted in the devices getting back into their rooms AND all of them being on the Favorites page of Home.app
In other words, it got to about 80% of saving me the big work.
Past "room clear" events were more painful. Rooms would be eliminated and only "Default Room" existed with all the devices in that one room. My work those times was to recreate the Rooms, the backgrounds and then one at a time, edit each device tile and put it into room, til default room was empty and I could delete it. I'd also turn off Favorites. Each one, one at a time.
This method made the task easier by eliminating the thinking. It was all physical, don't look, don't read, just tap the finger here, down there, here and here, then there and on to the next.
It took 1/10th the time of previous, so I'm grateful but disappointed too in the missing 20%.
I upgraded to Mojave and had no issues with Homebridge. Simply typed in Homebridge after the update and it worked (though I am using it with ST). Using HH at my other location on my RPI.
So I got this to work with one device. How do I add multiples? I am wanting to remove temp from all my window sensors. ie 96,97,98 etc
"excluded_capabilities": {
"96": [
"TemperatureMeasurement"
It's going to be a comma between multiple capabilities for one device and a comma between devices. Should be like this I believe. Test it, you'll get an error if I'm wrong.
No I have that turned on and they still show up. Thatβs why I was trying to exclude them in the config. I also tried just β96β in my config and the temp still showed up.
Morning @tonesto7. I was curious as to how the progress was going on your most recent update and perhaps the ability to re-add Rachio implementation for those of us with older Rachio systems.