layereight.pimatic
ansible-pimatic 
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"
- zobacz także dokumentację Ansible Galaxy oraz wniosek o Ansible Galaxy
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
}
}
]
}
An Ansible role to install and configure pimatic - a smart home automation software for the Raspberry Pi.
ansible-galaxy install layereight.pimatic