以前、Lineに温度を通知する方法を紹介しましたが、ホームAppで問い合わせせずに、
常時温度を表示するようにしたいと思います。
Homebridgeに温度表示させるプラグインを追加して、常時温度を表示する様にしたいと思います。

- ホームAppに室温を常時表示する方法
- Homebridge Temperature Fileの使い方
本記事では、以下の内容が実施済みであることが前提となっています。
- Raspberry Piのセットアップが完了していること

- homebridgeがインストールされていること

Homebridge Temperature Fileのインストールと設定
Homebridge Temperature FileをHomebridgeにインストールして実現します。
- Homebridge Temperature File
-
温度を書いたファイルを読み込むことで、温度を表示するプラグインです。
Homebridge Temperature Fileをインストール
Homebridge Config UI Xからインストールします。※Homebridge Config UI Xは本当に便利。
Homebridge Config UI Xの「プラグイン」からHomebridge Temperature Fileし、インストールします。

Accessory追加
「プラグイン」からHomebridge Temperature Fileの「設定」を選択すると、以下の画面が表示されます。
設定方法は以下の通りです。
accessory | Homebridge Temperature Fileを使う場合は、 “TemperatureFile”と記述。 |
name | 任意の名前。ホームAppやSiriで呼ぶときの名前。 |
file_path | 読み込むファイルのパスを指定。 |

温度を定期取得
定期的に温度を取得し、Homebridge Temperature Fileで指定したファイルに書き込みます。
今回は、pythonとcronを使って実行します。
- cron
-
ユーザの設定したスケジュールに従って、指定したコマンドやシェルスクリプトなどを自動実行する。
pythonのコード
pythonのコードは以下の通りです。これで指定したファイルに温度を書き込みます。
# write-temp.py
# -*- coding: utf-8 -*-
import gettemp
import subprocess
ctrler = gettemp.PioCtrler()
temp = ctrler.read_adt7410() # 温度を読み出す。
# Homebridge Temperature Fileで指定したいファイルに書き込む
with open('/home/pi/work/temperature/temp.txt', mode='w') as f:
f.write(str(temp))
gettempについては以下に掲載しています。

cronの設定
cronの起動を確認します。以下のように出ていれば、起動しています。
$ sudo /etc/init.d/cron status
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
....
cronの設定を行います。エディタの選択が出てきますが、お好みのエディタを選択して下さい。
$ crontab -e
no crontab for pi - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.tiny
3. /bin/ed
Choose 1-3 [1]: 2
crontab: installing new crontab
エディタで以下のように、15分毎にwrite-temp.pyを実行するようにします。
「分 時 日 月 曜日 コマンド」の順に設定できるようになっており、今回は、分で*/15とすると15分毎に実行するという意味になります。
*/15 * * * * python /home/pi/work/temperature/write-temp.py
コメント