Homebridgeのデータ移行とバックアップの完全ガイド

Homebridgeにおけるスマートホーム設定の完全な移行とバックアップ方法を解説します。

1. Homebridgeの基本構造

Homebridgeの主要な設定はconfig.jsonファイルに記録されています。このファイルには、ブリッジ情報やデバイスの設定が含まれます。以下にその主な要素を示します:

{
  "bridge": {
    "name": "Homebridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
  },
  "accessories": [],
  "platforms": []
}

⚠️ 注意: usernamepinはHomeKitでデバイスを識別するための重要な情報です。これらの値を変更すると、すべてのデバイスが再ペアリングが必要になります。

2. バックアップ手順

2.1 設定ファイルのバックアップ

以下のコマンドを使用して、タイムスタンプ付きのバックアップを作成します。

cp config.json backup-config-$(date +%Y%m%d).json
ls -lh backup-config-*.json

2.2 プラグインデータのバックアップ

プラグインの持続化データは通常~/.homebridge/persistディレクトリに格納されています。次のコマンドでそれらを圧縮してバックアップします。

tar -czvf homebridge-data-$(date +%Y%m%d).tar.gz \
  ~/.homebridge/config.json \
  ~/.homebridge/persist \
  ~/.homebridge/plugins

2.3 バックアップの内容

完全なバックアップには以下のファイルが含まれます。

homebridge-data-20251026.tar.gz/
├── config.json
├── persist/
│   ├── Accessories/
│   └── Platforms/
└── plugins/

3. 別デバイスへの移行

3.1 新しい環境の準備

ターゲットデバイスに必要な環境をインストールします。

git clone https://gitcode.com/gh_mirrors/ho/homebridge
cd homebridge
npm install

3.2 データの復元

バックアップからデータを復元します。

tar -xzvf homebridge-data-20251026.tar.gz -C ~/.homebridge

# 必要なプラグインをインストール
jq -r '.platforms[].platform | "homebridge-" + .' ~/.homebridge/config.json | sort -u | xargs npm install -g

3.3 確認テスト

サービスを起動し、ログを確認します。

npm run start
grep -i "loaded plugin" ~/.homebridge/homebridge.log

4. 自動化されたバックアップ

4.1 定期的なバックアップスクリプト

以下のようにスクリプトを作成します。

#!/bin/bash
BACKUP_DIR="/var/backups/homebridge"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)

mkdir -p $BACKUP_DIR
tar -czvf $BACKUP_DIR/homebridge-$TIMESTAMP.tar.gz \
  ~/.homebridge/config.json \
  ~/.homebridge/persist

# 古いバックアップの削除
find $BACKUP_DIR -name "homebridge-*.tar.gz" -mtime +30 -delete

4.2 タイマー設定

crontabに追加して定期実行させます。

crontab -e
# 毎日午前3時に実行
0 3 * * * /path/to/backup-homebridge.sh

5. 問題解決

5.1 ペアリングエラー

HomeKitでデバイスが見つからない場合、以下の点を確認してください。

  1. config.json内のusernameが一致しているか
  2. ポート51826がファイアウォールでブロックされていないか
  3. persistディレクトリを削除して再起動する

5.2 プラグインの互換性問題

プラグインのバージョン違いにより設定が正しく読み込まれないことがあります。この場合は、以下のコマンドで特定のバージョンをインストールします。

cp ~/.homebridge/plugins/package.json ./
npm install

これでHomebridgeの設定を安全に移行・バックアップできるようになります。定期的なバックアップはハードウェア障害への対策として重要です。

タグ: Homebridge Node.js SmartHome

6月27日 19:58 投稿