layereight.pimatic

ansible-pimatic Build Status

Ansibleの役割で、pimatic - Raspberry Pi用のスマートホーム自動化ソフトウェアをインストールし、設定します。

要件

  • Raspbian OSがインストールされたRaspberry Pi
  • Raspberry Piへのネットワークアクセスとsshdが有効
  • sudo権限を持つユーザー

Ansible Galaxyを使って役割をインストール

一般的なコマンド:

$ ansible-galaxy install layereight.pimatic

特定のバージョンを他の役割と一緒に役割ファイルを使用してインストールする場合:

$ ansible-galaxy install -r roles.yml

roles.yml

- name: layereight.pimatic
  src: layereight.pimatic
  version: "2.0.1"

さらにAnsible GalaxyのドキュメントAnsible Galaxyの紹介も参照してください。

役割変数

必須

  • pimatic_nodejs_arch: 設定する必要があります。node.jsのハードウェアアーキテクチャを選択してください。通常はarmv6l(PiモデルA、B、B+またはZero)またはarmv7l(Pi 2モデルBまたはPi 3モデルB)。

任意

  • pimatic_nodejs_version

    • デフォルト: "v10.18.1"
    • 説明: インストールするnodejsのバージョン
  • pimatic_app_dir

    • デフォルト: "pimatic-app"
    • 説明: pimaticをインストールするユーザーのホームディレクトリ内のディレクトリ名。例えば、ユーザーpiの場合、最終的なインストールディレクトリは/home/pi/pimatic-appになります。
  • pimatic_port

    • デフォルト: 8080
    • 説明: pimaticのウェブフロントエンドがリッスンするポート。このポートでpimaticが起動するのを待機します。pimatic_sslを有効にする場合は、443に設定することを検討してください。
  • pimatic_config_template

    • デフォルト: "config.json.j2"
    • 説明: 役割にはpimaticの標準設定が付属。pimaticのhttpServerはpimatic_port上で起動します。通常は独自のpimatic設定テンプレートを提供したいです。例としてpimatic_config_templatepimatic_config.json.j2に設定し、その名前のファイルをansibleプレイブックに対するtemplatesディレクトリ内に作成します。
  • pimatic_waitfor_startup

    • デフォルト: true
    • 説明: 役割がpimaticの起動を待つかどうかを設定します。動作するハードウェアや構成されたプラグインに応じて、最大1時間かかることがあります。
  • pimatic_ssl

    • デフォルト: false
    • 説明: 自己署名のSSL証明書を生成するかどうかを設定します。trueに設定すると、役割は生成されたSSLプライベートキーと証明書へのパスを持つ変数pimatic_ssl_privkeypimatic_ssl_certを提供します。
  • pimatic_ssl_cn

    • デフォルト: "{{ ansible_fqdn }}"
    • 説明: 証明書の共通名 (CN)。
  • pimatic_ssl_c

    • デフォルト: "DE"
    • 説明: 証明書の国 (C)。
  • pimatic_ssl_st

    • デフォルト: "Berlin"
    • 説明: 証明書の州 (ST)。
  • pimatic_ssl_l

    • デフォルト: "Berlin"
    • 説明: 証明書の場所 (L)。
  • pimatic_ssl_o

    • デフォルト: "pimatic"
    • 説明: 証明書の組織 (O)。
  • pimatic_ssl_ou

    • デフォルト: "pimatic"
    • 説明: 証明書の組織単位 (OU)。

提供される変数

  • pimatic_ssl_privkey: pimatic_ssltrueに設定されている場合に提供されます。この変数をpimatic_config_templateで使用してhttpsServerをセットアップすることができます。

  • pimatic_ssl_cert: pimatic_ssltrueの場合に提供されます。この変数をpimatic_config_templateで使用してhttpsServerをセットアップすることができます。

例プレイブック

一般的なプレイブックの実行:

$ ansible-playbook -i inventory pimatic.yml

inventory

[raspberrypi]
pizero ansible_host=192.168.0.101 ansible_user=pi ansible_ssh_pass=raspberry 

pimatic.yml

- hosts: raspberrypi
  
  roles:
    - pimatic
  
  vars:
    pimatic_nodejs_arch: "armv6l"
    pimatic_port: 443
    pimatic_config_template: "pimatic_config.json.j2"
    pimatic_ssl: true
    pimatic_admin_password: "verysecret"

templates/pimatic_config.json.j2

{
  "settings": {
    "httpServer": {
      "enabled": false
    },
    "httpsServer": {
      "enabled": true,
      "port": {{ pimatic_port }},
      "hostname": "",
      "keyFile": "{{ pimatic_ssl_privkey }}",
      "certFile": "{{ pimatic_ssl_cert }}"
    },
    "database": {
    }
  },
  "plugins": [
    {
      "plugin": "cron"
    },
    {
      "plugin": "mobile-frontend"
    }
  ],
  "devices": [

  ],
  "rules": [

  ],
  "pages": [
    {
      "id": "favourite",
      "name": "Favourites",
      "devices": []
    }
  ],
  "groups": [

  ],
  "users": [
    {
      "username": "admin",
      "password": "{{ pimatic_admin_password }}",
      "role": "admin"
    }
  ],
  "roles": [
    {
      "name": "admin",
      "permissions": {
        "pages": "write",
        "rules": "write",
        "variables": "write",
        "messages": "write",
        "events": "write",
        "devices": "write",
        "groups": "write",
        "plugins": "write",
        "updates": "write",
        "database": "write",
        "config": "write",
        "controlDevices": true,
        "restart": true
      }
    }
  ]
}
プロジェクトについて

An Ansible role to install and configure pimatic - a smart home automation software for the Raspberry Pi.

インストール
ansible-galaxy install layereight.pimatic
ライセンス
Unknown
ダウンロード
98
所有者