HABitatX は,openHAB では煩雑になりがちな複数デバイスの一括管理を支援するツールである. 本システムは,openHAB の一括管理操作を提供するインターフェースとして動作する.事前に openHAB が動作していることが条件である.本システムは単体で動作し, 同じコンピュータ上で動作している openHAB のデバイス設定を担う設定ファイルを一括で作成,変更,削除できる.
"HABitatX"は,"openHAB","habitat"をもとに作られた造語である. この名前は,openHAB を表す"HAB"と生息地を表す"habitat",未来への展望を表す"X"を組み合わせたものである.
- Ruby 3.x
- openHAB 3~
- PostgreSQL 14.x
- ダウンロードする
$ git clone https://github.com/SenoOh/HABitatX.git
本システムはDB
との接続にActiveRecord
を使用しているため,任意のリレーショナルデータベース管理システム(RDBMS
)を使用できる.今回は例としてPostgreSQL
のインストールについて説明する.
- PostgreSQL 14 の公式リポジトリを追加する
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
- 公開鍵を追加する
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- インストールして起動確認する
$ sudo apt update
$ sudo apt install postgresql-14 postgresql-client-14
$ sudo systemctl status postgresql
- ROLE を追加して postgres ユーザーとしてシェルにログインする
$ sudo -u postgres createuser -s habitatx
$ sudo -i -u postgres
- データベースに接続して ROLE の password を変更する
$ psql
postgres=# ALTER USER habitatx PASSWORD 'your_password';
- シェルからログアウトし,PostgreSQLの pg_hba.conf ファイルの認証方式を
peer
からtrust
に書き換える
$ sudo nano /etc/postgresql/14/main/pg_hba.conf
- PostgreSQL を再起動する
$ sudo systemctl restart postgresql
- PostgreSQLに関連するライブラリをインストールする
$ sudo apt install libpq-dev
habitatx.rb
のOPENHAB_PATH
を自分のopenHAB
の設定ファイルが置かれるディレクトリに変更するconfig/database.yml
のSQL
の情報を自分のSQL
の情報に変更するbundle install
する$ bundle install
- DBを作成する
$ bundle exec rake db:migrate
- 起動
$ bundle exec ruby habitatx.rb
起動後,ブラウザ上で http://localhost:4567 を開くと HABitatX の画面が開く
- コンテナイメージ作成
$ docker build -t habitatx_docker .
- 起動 (openHAB がコンテナで動いていない場合)
$ docker run -it -p 5678:4567 --name habitatx -v ${PWD}/:/var/www habitatx_docker
- 起動 (openHAB がコンテナで動いている場合)
$ docker run -it -p 5678:4567 --name habitatx -v ${PWD}/:/var/www --volumes-from <openHABのコンテナ名> habitatx_docker
起動後,ブラウザ上で http://localhost:5678 を開くと HABitatX の画面が開く