layereight.pimatic

ansible-pimatic Build Status

Eine Ansible-Rolle zur Installation und Konfiguration von pimatic - einer Smart Home Automationssoftware für den Raspberry Pi.

Anforderungen

  • Raspberry Pi mit Raspbian-Betriebssystem
  • Netzwerkzugang zum Raspberry Pi und sshd aktiviert
  • Ein Benutzer mit sudo-Rechten

Rolle über Ansible Galaxy installieren

Typische Ausführung:

$ ansible-galaxy install layereight.pimatic

Wenn Sie eine bestimmte Version in einer Sammlung mit anderen Rollen über eine Rollen-Datei installieren möchten:

$ ansible-galaxy install -r roles.yml

roles.yml

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

Rolleneigenschaften

Pflichtangaben

  • pimatic_nodejs_arch: Muss festgelegt werden. Wählen Sie die Hardwarearchitektur von Node.js, typischerweise armv6l (Pi Modell A, B, B+ oder Zero) oder armv7l (Pi 2 Modell B oder Pi 3 Modell B).

Optionale Angaben

  • pimatic_nodejs_version

    • Standard: "v10.18.1"
    • Beschreibung: "Version von Node.js, die installiert werden soll"
  • pimatic_app_dir

    • Standard: "pimatic-app"
    • Beschreibung: Name des Verzeichnisses im Home-Verzeichnis des Benutzers, in dem pimatic installiert werden soll. Z.B. mit dem Benutzer pi wird das endgültige Installationsverzeichnis /home/pi/pimatic-app sein.
  • pimatic_port

    • Standard: 8080
    • Beschreibung: Port, auf dem das Web-Frontend von pimatic lauscht. Wir warten auch darauf, dass pimatic auf diesem Port startet. Möglicherweise möchten Sie ihn auf 443 setzen, wenn Sie pimatic_ssl aktivieren.
  • pimatic_config_template

    • Standard: "config.json.j2"
    • Beschreibung: Die Rolle wird mit der Standardkonfiguration von pimatic bereitgestellt. Der HTTP-Server von Pimatic wird auf pimatic_port gestartet. Üblicherweise möchten Sie Ihre eigene pimatic-Konfiguration bereitstellen. Zum Beispiel setzen Sie pimatic_config_template auf pimatic_config.json.j2 und erstellen eine Datei mit diesem Namen im templates-Verzeichnis relativ zu Ihrem Ansible-Playbook.
  • pimatic_waitfor_startup

    • Standard: true
    • Beschreibung: Konfigurieren, ob die Rolle wartet, bis pimatic gestartet ist. Je nach Hardware und konfigurierten Plugins kann dies bis zu 1 Stunde dauern.
  • pimatic_ssl

    • Standard: false
    • Beschreibung: Konfigurieren, ob selbstsignierte SSL-Zertifikate generiert werden sollen. Wenn auf true gesetzt, bietet die Rolle die Variablen pimatic_ssl_privkey und pimatic_ssl_cert mit den Pfaden zum generierten privaten SSL-Schlüssel und Zertifikat an.
  • pimatic_ssl_cn

    • Standard: "{{ ansible_fqdn }}"
    • Beschreibung: Common Name im Zertifikat (CN im Betreff).
  • pimatic_ssl_c

    • Standard: "DE"
    • Beschreibung: Land im Zertifikat (C im Betreff).
  • pimatic_ssl_st

    • Standard: "Berlin"
    • Beschreibung: Bundesland im Zertifikat (ST im Betreff).
  • pimatic_ssl_l

    • Standard: "Berlin"
    • Beschreibung: Ort im Zertifikat (L im Betreff).
  • pimatic_ssl_o

    • Standard: "pimatic"
    • Beschreibung: Organisation im Zertifikat (O im Betreff).
  • pimatic_ssl_ou

    • Standard: "pimatic"
    • Beschreibung: Organisationseinheit im Zertifikat (OU im Betreff).

Bereitgestellte Variablen

  • pimatic_ssl_privkey: Wird bereitgestellt, wenn pimatic_ssl auf true gesetzt ist. Sie können diese Variable in Ihrer pimatic_config_template verwenden, um einen httpsServer einzurichten.

  • pimatic_ssl_cert: Wird bereitgestellt, wenn pimatic_ssl auf true gesetzt ist. Sie können diese Variable in Ihrer pimatic_config_template verwenden, um einen httpsServer einzurichten.

Beispiel-Playbook

Typische Playbook-Ausführung:

$ 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": "Favoriten",
      "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
      }
    }
  ]
}
Über das Projekt

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

Installieren
ansible-galaxy install layereight.pimatic
GitHub Repository
Lizenz
Unknown
Downloads
98
Besitzer