Migration
Updated November 14, 2022 by luwol03 and ShaquuDiscover how to migrate to new setup or to new flow.
Migration to new setup
There are some cases when you may want to move your HomeKit devices to a new Node-RED instance while not changing your Home.app pairings. This could be when you are migrating to a new computer, flashing a new SD card for your pi, or restoring from a backup. While not guaranteed, this process should allow migration without needing to remove your bridge or standalone devices from the Home.app.
-
Install Node-RED on your new server
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
-
Install Node Modules used on your new server
cd /home/pi/.node-red/ && npm install node-red-contrib-homekit-bridged@latest
-
Shut down Node-RED on the old server
sudo node-red-stop
-
Copy over
homekit-persist
from the.node-red
directory on the old server to the new server -
Copy over
flows_<old machine's hostname>.json
from the.node-red
directory on the old server to the new server -
Rename the
flows_<old machine's hostname>.json
toflows.json
on the new server. -
Edit the
settings.js
file on the new server, and uncomment the lineflowFile: flows.json
sudo nano /home/pi/.node-red/settings.js
-
(Re)Start Node-RED on your new server.
sudo node-red-start
Migration to new flow
Sometimes you want to move Service node between flows. Unfortunately simple copy and paste will cause the node to have it’s id regenerated. New id means that HomeKit will loose data about that Service which can cause some settings missing in Home.app (like room assignment etc. for that Service).
- Create new flow in Node-RED. If already created make sure that you have at least one (any) node in it.
- Note node.id of the Service node you want to move to new flow.
- Backup your files that are in
.node-red
directory - Shut down Node-RED
- Locate flows file
flows_<machine's hostname>.json
and open itsudo nano /home/pi/.node-red/flows_<machine's hostname>.json
- Locate node in the flow file. Example
"id":"6bed989d.116308","type":"homekit-service","z":"6c3f03b4.f0351c"
z
is flow id. Change it to new flow id.- Save file and start Node-RED.