今回はiPhoneのホームアプリを使用して、家に家族の誰が在宅しているかを見られるようにしたいと思う。
なお、Homebridgeプラグインを使用する為、導入していない人は下記記事のHomebridgeのインストールまでを終わらせておいてほしい。
Homebridgeプラグインをインストール
今回はhomebridge-peopleというプラグインを使用する。
このプラグインで、スマホなどにpingを飛ばして反応があれば、その人は在宅してますよ。
という感じである。
ホームアプリ上では人感センサーとして表示される。
homebridge-people
Homebridge Webからプラグイン検索に「people」と入れ、検索。

Homebridge Peopleをインストールする。
config.jsonの編集
Homebridge Webのコンフィグページからconfig.jsonの編集を行う。
"platforms": [
{ "platform":"前からあったやつ"
},
{
"platform": "People",
"threshold": 15,
"anyoneSensor": true,
"nooneSensor": false,
"webhookPort": 51828,
"cacheDirectory": "./.node-persist/storage",
"pingInterval": 10000,
"ignoreReEnterExitSeconds": 0,
"people": [
{
"name": "父",
"target": "192.168.0.201",
"threshold": 15,
"pingInterval": 10000,
"ignoreReEnterExitSeconds": 0
},
{
"name": "母",
"target": "192.168.0.206",
"threshold": 15,
"pingInterval": 10000,
"ignoreReEnterExitSeconds": 0
},
{
"name": "息子",
"target": "192.168.0.205",
"threshold": 15,
"pingInterval": 10000,
"ignoreReEnterExitSeconds": 0
}
]
}
]
今回はplatformsの中に記述している。
既にplatformsの中に存在してるものがある場合はコンマで区切ろう。
編集箇所 | 設定値 |
name | ホームアプリ上に表示される名前 |
target | 検知に利用する機器(スマートフォンなど)のIPアドレス |
各スマホのIPアドレスはルーターの設定等で固定IPを割り振るように設定しておこう。
iOS 14からプライベートアドレス機能が有効化されている為、オフにした方が良いかもしれない。
あとはデフォルトのままで良いと思う。
保存して再起動をかけよう。
もし再起動できなかった場合は、「状態」リンクをクリックしてみよう。
Homebridgeが停止中になっていればなんらかのエラーが発生しているのでログを見よう。
エラーがなければそのまま完了だ。
homebridgeユーザーに権限付与
今回私は権限が与えられていない旨のエラーが表示された。

キャッシュ(./.node-persist/storage)を作るのに権限が与えられていないのだろう。
homebridgeサーバーはhomebridgeユーザーで実行されているのでhomebridgeユーザーに権限を付与する。
これが良いのかというとよくわからないが、めんどくさいのでもうこの方法で行く。
ラズパイにSSH接続を行う。
$ ssh pi@raspberrypi.local
homebridgeユーザーに権限付与
$ sudo chown -R homebridge: /usr/lib/node_modules/homebridge-people/
これでHomebridgeを再起動してエラーがなくなったか確認してみよう。
ホームアプリ上での動き

正常に動作すると例の場合は上記のようにホームアプリに表示される。
息子、父、母のスマートフォンがWi-Fiに接続されpingが通る状態なので、3人が在宅しているとわかるわけだ。(作動済み=在宅)
Anyoneはこの中の誰か1人が在宅していれば「作動済み」になる。
これによって家族の誰かが一人でも帰ってきたら、エアコンをオンにする。
などのオートメーションを組む事ができる。
外出先から確認するにはホームハブとなるApple TVまたはiPadが必要。
コメント