layereight.pimatic

ansible-pimatic Status budowy

Rola Ansible do instalacji i konfiguracji pimatic - oprogramowania do automatyzacji inteligentnego domu dla Raspberry Pi.

Wymagania

  • Raspberry Pi z systemem operacyjnym Raspbian
  • dostęp do sieci na Raspberry Pi oraz włączony sshd
  • użytkownik z uprawnieniami sudo

Instalacja roli poprzez Ansible Galaxy

Typowe uruchomienie:

$ ansible-galaxy install layereight.pimatic

Jeśli chcesz zainstalować konkretną wersję w kolekcji z innymi rolami, użyj pliku roli:

$ ansible-galaxy install -r roles.yml

roles.yml

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

Zmienne roli

wymagane

  • pimatic_nodejs_arch: Musi być ustawione. Wybierz architekturę sprzętową node.js, zazwyczaj armv6l (Pi Model A, B, B+ lub Zero) lub armv7l (Pi 2 Model B lub Pi 3 Model B).

opcjonalne

  • pimatic_nodejs_version

    • domyślna: "v10.18.1"
    • opis: "Wersja nodejs do zainstalowania"
  • pimatic_app_dir

    • domyślna: "pimatic-app"
    • opis: Nazwa katalogu w katalogu domowym użytkownika, w którym pimatic ma być zainstalowane. Na przykład, z użytkownikiem pi końcowy katalog instalacji stanie się /home/pi/pimatic-app.
  • pimatic_port

    • domyślna: 8080
    • opis: Port, na którym interfejs sieciowy pimatic będzie słuchał. Również poczekamy, aż pimatic uruchomi się na tym porcie. Możesz ustawić go na 443, gdy włączysz pimatic_ssl.
  • pimatic_config_template

    • domyślna: "config.json.j2"
    • opis: Rola dostarcza standardową konfigurację dla pimatic. Serwer http Pimatic zostanie uruchomiony na pimatic_port. Zazwyczaj chcesz podać własny szablon konfiguracji pimatic. Na przykład, ustaw pimatic_config_template na pimatic_config.json.j2 i utwórz plik o tej nazwie w katalogu templates w odniesieniu do twojego skryptu Ansible.
  • pimatic_waitfor_startup

    • domyślna: true
    • opis: Konfiguruj, czy rola ma czekać na uruchomienie pimatic. W zależności od sprzętu, na którym działamy oraz od skonfigurowanych wtyczek, może to zająć do 1 godziny.
  • pimatic_ssl

    • domyślna: false
    • opis: Konfiguruj, czy mamy wygenerować samopodpisane certyfikaty ssl. Jeśli ustawione na true, rola dostarczy zmienne pimatic_ssl_privkey i pimatic_ssl_cert z ścieżkami do wygenerowanego prywatnego klucza ssl i certyfikatu.
  • pimatic_ssl_cn

    • domyślna: "{{ ansible_fqdn }}"
    • opis: Nazwa wspólna w certyfikacie (CN w podmiocie).
  • pimatic_ssl_c

    • domyślna: "DE"
    • opis: Kraj w certyfikacie (C w podmiocie).
  • pimatic_ssl_st

    • domyślna: "Berlin"
    • opis: Stan w certyfikacie (ST w podmiocie).
  • pimatic_ssl_l

    • domyślna: "Berlin"
    • opis: Lokalizacja w certyfikacie (L w podmiocie).
  • pimatic_ssl_o

    • domyślna: "pimatic"
    • opis: Organizacja w certyfikacie (O w podmiocie).
  • pimatic_ssl_ou

    • domyślna: "pimatic"
    • opis: Jednostka organizacyjna w certyfikacie (OU w podmiocie).

dostarczone

  • pimatic_ssl_privkey: Dostarczone, jeśli pimatic_ssl jest ustawione na true. Możesz chcieć użyć tej zmiennej w swoim pimatic_config_template, aby skonfigurować httpsServer.

  • pimatic_ssl_cert: Dostarczone, jeśli pimatic_ssl jest ustawione na true. Możesz chcieć użyć tej zmiennej w swoim pimatic_config_template, aby skonfigurować httpsServer.

Przykład skryptu

Typowe uruchomienie skryptu:

$ 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": "Ulubione",
      "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
      }
    }
  ]
}
O projekcie

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

Zainstaluj
ansible-galaxy install layereight.pimatic
Licencja
Unknown
Pobrania
98
Właściciel