ホームAppに温度を常時表示(Raspberry Pi)

以前、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の「設定」を選択すると、以下の画面が表示されます。

設定方法は以下の通りです。

accessoryHomebridge 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
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次
閉じる