pimatic

ansible-pimatic Статус сборки

Роль Ansible для установки и настройки pimatic - программного обеспечения для умного дома на Raspberry Pi.

Требования

  • Raspberry Pi с операционной системой Raspbian
  • доступ к сети для 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"

Переменные роли

обязательные

  • pimatic_nodejs_arch: Должна быть установлена. Выберите архитектуру аппаратного обеспечения node.js, обычно armv6l (Pi Model A, B, B+ или Zero) или armv7l (Pi 2 Model B или Pi 3 Model B).

необязательные

  • pimatic_nodejs_version

    • по умолчанию: "v10.18.1"
    • описание: "Версия nodejs для установки"
  • pimatic_app_dir

    • по умолчанию: "pimatic-app"
    • описание: Имя каталога в домашнем каталоге пользователя, куда будет установлено pimatic. Например, для пользователя pi финальным каталогом установки будет /home/pi/pimatic-app.
  • pimatic_port

    • по умолчанию: 8080
    • описание: Порт, на котором будет слушать веб-интерфейс pimatic. Мы также будем ожидать, пока pimatic запустится на этом порту. Вы можете установить его на 443, если включите pimatic_ssl.
  • pimatic_config_template

    • по умолчанию: "config.json.j2"
    • описание: Роль поставляется со стандартной конфигурацией pimatic. HTTP-сервер pimatic будет запущен на pimatic_port. Обычно вы хотите предоставить свою собственную конфигурацию pimatic. Например, установите pimatic_config_template на pimatic_config.json.j2 и создайте файл с таким именем в каталоге templates, относительно вашего плейбука ansible.
  • pimatic_waitfor_startup

    • по умолчанию: true
    • описание: Настройте, должно ли ожидать роль, пока pimatic запустится. В зависимости от аппаратного обеспечения и настроенных плагинов это может занять до 1 часа.
  • pimatic_ssl

    • по умолчанию: false
    • описание: Настройте, нужно ли генерировать самоподписанные ssl-сертификаты. Если установить в true, роль предоставит переменные pimatic_ssl_privkey и pimatic_ssl_cert с путями к сгенерированному приватному ключу ssl и сертификату.
  • 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_ssl установлено в true. Вы можете использовать эту переменную в вашем pimatic_config_template для настройки httpsServer.

  • pimatic_ssl_cert: Предоставляется, если pimatic_ssl установлено в true. Вы можете использовать эту переменную в вашем 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": "Избранное",
      "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/ansible-pimatic
Лицензия
Unknown
Загрузки
88
Владелец