layereight.pimatic

ansible-pimatic Estado de Construcción

Un rol de Ansible para instalar y configurar pimatic - un software de automatización del hogar para el Raspberry Pi.

Requisitos

  • Raspberry Pi con Raspbian OS
  • acceso a la red del Raspberry Pi y sshd habilitado
  • un usuario con permisos de sudo

Instalar el rol a través de Ansible Galaxy

Ejemplo típico:

$ ansible-galaxy install layereight.pimatic

Si deseas instalar una versión específica en una colección con otros roles usando un archivo de roles:

$ ansible-galaxy install -r roles.yml

roles.yml

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

Variables del Rol

obligatorias

  • pimatic_nodejs_arch: Debe ser configurado. Elige la arquitectura de hardware de node.js, típicamente armv6l (Pi Model A, B, B+ o Zero) o armv7l (Pi 2 Model B o Pi 3 Model B).

opcionales

  • pimatic_nodejs_version

    • por defecto: "v10.18.1"
    • descripción: "Versión de nodejs a instalar"
  • pimatic_app_dir

    • por defecto: "pimatic-app"
    • descripción: Nombre del directorio en el directorio home del usuario donde pimatic debe ser instalado. Por ejemplo, con el usuario pi, el directorio de instalación final será /home/pi/pimatic-app.
  • pimatic_port

    • por defecto: 8080
    • descripción: Puerto donde la interfaz web de pimatic escuchará. También esperamos que pimatic inicie en ese puerto. Puede que desees configurarlo a 443 cuando habilites pimatic_ssl.
  • pimatic_config_template

    • por defecto: "config.json.j2"
    • descripción: El rol viene con la configuración estándar de pimatic. El httpServer de pimatic se iniciará en pimatic_port. Normalmente querrás proporcionar tu propia plantilla de configuración de pimatic. Por ejemplo, establece pimatic_config_template a pimatic_config.json.j2 y crea un archivo con ese nombre en el directorio templates relativo a tu playbook de ansible.
  • pimatic_waitfor_startup

    • por defecto: true
    • descripción: Configurar si el rol espera que pimatic inicie. Dependiendo del hardware en el que estamos ejecutando y de los plugins configurados, esto puede tardar hasta 1 hora.
  • pimatic_ssl

    • por defecto: false
    • descripción: Configura si debemos generar certificados ssl autofirmados. Si se establece en true, el rol proporcionará las variables pimatic_ssl_privkey y pimatic_ssl_cert con las rutas a la clave privada ssl generada y al certificado.
  • pimatic_ssl_cn

    • por defecto: "{{ ansible_fqdn }}"
    • descripción: Nombre Común en el certificado (CN en el sujeto).
  • pimatic_ssl_c

    • por defecto: "DE"
    • descripción: País en el certificado (C en el sujeto).
  • pimatic_ssl_st

    • por defecto: "Berlín"
    • descripción: Estado en el certificado (ST en el sujeto).
  • pimatic_ssl_l

    • por defecto: "Berlín"
    • descripción: Localización en el certificado (L en el sujeto).
  • pimatic_ssl_o

    • por defecto: "pimatic"
    • descripción: Organización en el certificado (O en el sujeto).
  • pimatic_ssl_ou

    • por defecto: "pimatic"
    • descripción: Unidad Organizativa en el certificado (OU en el sujeto).

proporcionadas

  • pimatic_ssl_privkey: Proporcionada si pimatic_ssl está configurado a true. Puede que desees usar esta variable en tu pimatic_config_template para configurar un httpsServer.

  • pimatic_ssl_cert: Proporcionada si pimatic_ssl está configurado a true. Puede que desees usar esta variable en tu pimatic_config_template para configurar un httpsServer.

Ejemplo de Playbook

Ejemplo típico de ejecución del playbook:

$ ansible-playbook -i inventory pimatic.yml

inventario

[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": "Favoritos",
      "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
      }
    }
  ]
}
Acerca del proyecto

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

Instalar
ansible-galaxy install layereight.pimatic
Licencia
Unknown
Descargas
98
Propietario