openhab guida 2

Amiamo mantenere le promesse, ed è per questo che oggi torniamo a parlare di OpenHAB.
In questo articolo vedremo come è possibile installare e configurare OpenHAB sulle principali piattaforme software e hardware, comprese le board Raspberry Pi in pochi passi, cominciando a sfruttare le sue potenzialità sin da subito.
Nell’articolo precedente, abbiamo introdotto OpenHAB, un software Open Source sviluppato in Java, la cui architettura è basata principalmente sul framework Eclipse SmartHome e che utilizza Apache Karaf in combinazione con Eclipse Equinox per la creazione di un Open Services Gateway (OSGi).
Si tratta di una piattaforma di sviluppo software per la domotica molto interessante e versatile grazie al suo alto grado di compatibilità con i principali SO.

Articolo sulle principali piattaforme software Open Source per Home Automation.

Per completare con successo la fase di installazione e configurazione iniziale, basterà seguire alcune semplici istruzioni, che se eseguite correttamente ci permetteranno di raggiugere il nostro obbiettivo.

Qui di seguito vengono elencati i procedimenti da seguire per installare OpenHAB sui principali SO.

Installazione su Windows

Prerequisiti

Assicurarsi che il software Java sia installato ed aggiornato.
Aggiungere la variabile JAVA_HOME System Environment in Windows:
Immagine 1

  1. Naviga in Pannello di controllo -> Sistema -> Modifica le variabili di ambiente per l’account.
  2. Creare una nuova variabile avente come valore l’indirizzo della cartella di installazione di Java.
  3. Aggiungi la variabile di ambiente di sistema JAVA_HOME in Windows
  4. Naviga in ->Pannello di controllo -> Sistema e sicurezza -> Sistema -> Impostazioni di sistema avanzate -> Variabili d’ambiente -> Variabili di sistema
  5. Crea una nuova variabile di sistema, basata sulla directory di installazione Java.

La directory in cui installare OpenHAB non deve contenere degli spazi, creiamo quindi una cartella in C:\ chiamandola ad esempio openHAB2.

Fase di Installazione

I file di installazione di OpenHAB vengono distribuiti tramite un file zip.
Per completare la fase di installazione, bisogna seguire questi semplici passaggi:

  1. Scaricare l’ultima versione dalla pagina di download.
  2. Decomprimere l’archivio nella directory scelta precedentemente (C:\openHAB2)

Una volta decompresso l’archivio, aprire la directory e avviare lo script start.bat e attendere che venga eseguito.
Immagine 3

  1. Aprite il vostro Web browser preferito e collegatevi all’indirizzo http://localhost:8080
  2. Selezionate il pacchetto di OpenHAB che intendete utilizzare

Immagine 4

Una volta selezionato il pacchetto appropriato, si presenterà una schermata di selezione dell’interfaccia utente e sarà possibile procedere con la configurazione.

Posizione dei file

Avvenuta con successo l’installazione di OpenHAB, all’interno della cartella di installazione adesso troveremo diverse nuove cartelle.

Percorsi principali
Applicazione openHAB C: \ openHAB2 \ runtime
Ulteriori file aggiuntivi C: \ openHAB2 \ addons
Configurazione del sito C: \ openHAB2 \ conf
File di registro C: \ openHAB2 \ userdata \ logs
Dati utente come database rrd4j C: \ openHAB2 \ userdata
Configurazione del servizio C: \ openHAB2 \ userdata \ etc

Avvio automatico di openHAB

Per far si che OpenHAB si avvii in automatico all’avvio del sistema in background, è necessario impostare il processo OpenHAB come servizio di Windows.
Avremo bisogno di collegarci alla console di OpenHAB, operazione possibile utilizzando lo script presente in C:\openHAB2\runtime\bin\client.bat, oppure utilizzando un client SSH standard, come ad esempio Putty e KiTTY, impostando una sessione con i parametri seguenti:
Host: 127.0.0.1
Porta: 8101
Username: openhab
Password: habopen
Procediamo con il processo di automazione:

  1. Apri la console di OpenHAB e immetti i due comandi seguenti:
feature:install service-wrapper
wrapper:install --name "openHAB2" --display "openHAB2" --description "openHAB 2 Service"
  1. Arresta l’istanza di openHAB digitando logout nella console.
  2. Aggiorna il file in C:\openHAB2\userdata\etc\openHAB2-wrapper.conf, sostituendo il contenuto con quello riportato qui di seguito.

Modificare la prima voce OPENHAB_HOME in modo da farla corrispondere alla directory di installazione di openHAB.

#*******************************************************
# openHAB2-wrapper.conf for Windows Service Installation
#*******************************************************
# openHAB installation dir (Adapt this first setting to your system)
set.default.OPENHAB_HOME=C:\openHAB2
# Wrapper Properties
set.default.OPENHAB_CONF=%OPENHAB_HOME%\conf
set.default.OPENHAB_RUNTIME=%OPENHAB_HOME%\runtime
set.default.OPENHAB_USERDATA=%OPENHAB_HOME%\userdata
set.default.OPENHAB_LOGDIR=%OPENHAB_USERDATA%\logs
set.default.KARAF_HOME=%OPENHAB_RUNTIME%
set.default.KARAF_BASE=%OPENHAB_USERDATA%
set.default.KARAF_DATA=%OPENHAB_USERDATA%
set.default.KARAF_ETC=%OPENHAB_USERDATA%\etc
set.default.PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib
# Java Application
wrapper.working.dir=%KARAF_BASE%
wrapper.java.command=%JAVA_HOME%\bin\java
wrapper.java.mainclass=org.apache.karaf.wrapper.internal.service.Main
wrapper.java.classpath.1=%KARAF_HOME%\lib\boot\*.jar
wrapper.java.classpath.2=%KARAF_DATA%\lib\wrapper\*.jar
wrapper.java.library.path.1=%KARAF_DATA%\lib\wrapper\
# Java Parameters
wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"
wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"
wrapper.java.additional.3=-Dkaraf.data="%KARAF_DATA%"
wrapper.java.additional.4=-Dkaraf.etc="%KARAF_ETC%"
wrapper.java.additional.5=-Dcom.sun.management.jmxremote
wrapper.java.additional.6=-Dkaraf.startLocalConsole=false
wrapper.java.additional.7=-Dkaraf.startRemoteShell=true
wrapper.java.additional.8=-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed"
wrapper.java.additional.9=-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext"
wrapper.java.additional.10=-Dopenhab.home="%OPENHAB_HOME%"
wrapper.java.additional.11=-Dopenhab.conf="%OPENHAB_HOME%\conf"
wrapper.java.additional.12=-Dopenhab.runtime="%OPENHAB_HOME%\runtime"
wrapper.java.additional.13=-Dopenhab.userdata="%OPENHAB_HOME%\userdata"
wrapper.java.additional.14=-Dopenhab.logdir="%OPENHAB_USERDATA%\logs"
wrapper.java.additional.15=-Dfelix.cm.dir="%OPENHAB_HOME%\userdata\config"
wrapper.java.additional.16=-Dorg.osgi.service.http.port=8080
wrapper.java.additional.17=-Dorg.osgi.service.http.port.secure=8443
wrapper.java.maxmemory=512
# Wrapper Logging Properties
wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=%OPENHAB_USERDATA%\logs\wrapper.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=INFO
wrapper.logfile.maxsize=10m
wrapper.logfile.maxfiles=5
wrapper.syslog.loglevel=NONE
# Wrapper Windows Properties
wrapper.console.title=openHAB2
wrapper.ntservice.name=openHAB2
wrapper.ntservice.displayname=openHAB2
wrapper.ntservice.description=openHAB 2 Service
wrapper.ntservice.dependency.1=
wrapper.ntservice.starttype=AUTO_START
wrapper.ntservice.interactive=false

  1. Aprire il prompt dei comandi con privilegi di amministratore e digitare i seguenti comandi:
C:\openHAB2\userdata\bin\openHAB2-service.bat install
net start "openHAB2"

Fase completata. Adesso OpenHAB verrà eseguito automaticamente ad ogni avvio del sistema.

Aggiornamento di OpenHAB Runtime

Attualmente per Windows non è disponibile uno script che permetta l’aggiornamento automatico del software, quindi nel caso in cui si voglia aggiornare la propria versione di OpenHAB, bisogna farlo manualmente, scaricando la versione che si preferisce dalla pagina di download e seguire i passaggi seguenti.

  1. Interrompere il processo openHAB se è attualmente in esecuzione;
  2. Fare un Backup dei file principali di openHAB;
  3. Eliminare i seguenti file e cartelle dall’installazione esistente:
userdata \ etc \ all.policy
userdata \ etc \ branding.properties
userdata \ etc \ branding-ssh.properties
userdata \ etc \ config.properties
userdata \ etc \ custom.properties
userdata \ etc \ custom.system.properties
userdata \ etc \ distribution.info
userdata \ etc \ jre.properties
userdata \ etc \ org.openhab.addons.cfg
userdata \ etc \ org.ops4j.pax.url.mvn.cfg
userdata \ etc \ overrides.properties
userdata \ etc \ profile.cfg
userdata \ etc \ startup.properties
userdata \ etc \ system.properties
userdata \ etc \ version.properties
userdata \ cache
userdata \ tmp

Eliminare inoltre la cartella di runtime e qualsiasi file presente nel percorso userdata \ etc il cui nome inizia con org.apache.karaf;

  1. Estrarre il contenuto del file zip della versione appena scaricata nella cartella di installazione esistente;
  2. Quando richiesto, non sovrascrivere i file esistenti.

Raspberry Pi

Per installare ed utilizzare OpenHAB su una board Raspberry Pi, è possibile optare per tre soluzioni:

  • Utilizzare l’immagine precompilata OpenHABian, basata sul SO Raspbian, disponibile sul sito ufficiale
  • Installare la piattaforma da repository
  • Tramite installazione manuale

Se sulla micro SD della vostra Raspberry Pi è già presente un SO configurato per adempiere a determinati compiti, potete installare OpenHAB da terminale.
Altrimenti vi consiglio di utilizzare l’immagine precompilata da installare sulla micro SD.

Installazione su Micro SD

raspberry pi header
Articolo sulla nuova board Raspberry Pi 3 Model A+

La procedura di istallazione quì di seguito riportata, si riferisce all’utilizzo di una board Raspberry Pi 3.

Assicurarsi di avere il materiale seguente:

  • Memory Card micro SD di almeno 16 GB;
  • Tastiera e mouse USB, bluetooth o Wireless;
  • Un monitor con ingresso HDMI;
  • Alimentatore da 5V 2,5A con connettore micro USB;
  • Box case – Facoltativo.

Per alimentare correttamente il Raspberry Pi, è indispensabile utilizzare un alimentatore da almeno 2.5 A.
Cominciamo con il download dell’ultima versione di openHABian dal reposity Github e del software Win32 Disk Imager, che ci permetterà di scrivere l’immagine SO nella memory card. Scaricabile dal sito sourceforge.net.
Una volta completati i download, possiamo procedere all’installazione, seguendo il procedimento seguente:

  1. Estrarre l’immagine openHABian dall’archivio compresso appena scaricato in un percorso a piacere
  2. Inserire la memory card nel computer
  3. Aprire con i privilegi di amministratore il programma WIn32 Disk Imager appena scaricato
  4. Selezionare il percorso dove abbiamo salvato l’immagine del SO e la memory card sulla quale vogliamo installarlo.
  5. Cliccare su “Scrivi immagine”
  6. Attendere che la scrittura vada a buon fine prima di rimuovere la micro SD dal computer.

Raspberry Pi 3 kit
Per instaurare un collegamento con la rete, è possibile collegare la Raspberry Pi al router con un cavo Ethernet, oppure configurare openHABian per operare in modalità Wi-Fi.
Nel caso in cui si voglia optare per l’utilizzo dei Wifi, è possibile farlo prima di rimuovere la micro SD dal computer, accedendo alla partizione primaria della scheda e tramite il file explorer, aprire il file openhabian.conf con un editor di testo qualsiasi.
Identificare la riga dove sono indicati i parametri di accesso alla rete wifi,  decommentarla e modificare i campi di identificazione (wifi_ssid = “My SSID Wi-Fi” e wifi_psk = “password123”).

Adesso non resta altro che inserire la micro SD nell’apposito slot della Raspberry Pi, collegare al RPi il monitor, tastiera, mouse e il cavo di alimentazione.
Al primo avvio bisognerà aspettare circa 15-40 minuti prima che la fase di completamento sia conclusa, dopo la quale sarà possibile configurare a proprio piacimento OpenHAB digitando sul terminale:

sudo openhabian-config

Installazione tramite package repository

Per chi ha già installato un sistema operativo sulla propria Raspberry Pi e vuole installare OpenHAB, può farlo in pochi minuti.

Il procedimento qui di seguito è valido anche per altre piattaforme basate su Linux, diverse da  Raspbian (Es. Debian, Ubuntu, Fedora, etc..)

OpenHAB 2 può essere installato, oltre che manualmente, anche da repository, operazione che permette di risparmiare tempo quando non si ha bisogno di un’installazione personalizzata.
Sono disponibili 3 versioni di OpenHAB, tra le quali consiglio l’installazione dell’ultima versione, in quanto stabile e già testata.
Qui di seguito i passaggi da seguire.

Sistemi basati su Apt

  1. Aggiungere la chiave del repository Bintray openHAB 2 al gestore pacchetti e installa l’estensione che permette di utilizzare il protocollo HTTPS:
    wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
    sudo apt-get install apt-transport-http
  2. Aggiungere il repository openHAB 2 all’elenco delle fonti apt di sistema:

    echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list
  3. Successivamente, risincronizzare l’indice del pacchetto:
    sudo apt-get update
  4. Ora installare openHAB con il seguente comando:
    sudo apt-get install openhab2

Quando si sceglie di installare un componente aggiuntivo, openHAB lo scaricherà da Internet al momento. Se si ha intenzione di tenere il computer offline, è consigliabile installare anche il pacchetto completo dei componenti aggiuntivi con il seguente comando:

sudo apt-get install openhab2-addons

Sistemi basati su Yum o Dnf

Le informazioni del repository RPM devono essere definite all’interno di un file, che deve essere creato in /etc/yum.repos.d/openhab.repo, riempiendolo con il seguente contenuto.

 [openHAB-Stable] name=openHAB 2.x.x Stable baseurl=https://dl.bintray.com/openhab/rpm-repo2/stable gpgcheck=1 gpgkey=https://bintray.com/user/downloadSubjectPublicKey?username=openhab enabled=1

Dopo sarà possibile installare openHAB tramite il seguente comando, tenendo presente che per i sistemi che lo supportano, dnf può essere usato al posto di yum:

sudo yum install openhab2

Il primo avvio può richiedere fino a 15 minuti.
Una volta avviato, se è stato configurato correttamente tutto quanto, dovresti essere in grado di raggiungere la dashboard di OpenHAB 2 visitando l’indirizzo http://openhab-device: 8080.

Quando si sceglie di installare un componente aggiuntivo, openHAB lo scaricherà da Internet al momento. Se si ha intenzione di tenere il computer offline, è consigliato installare anche il pacchetto completo dei componenti aggiuntivi con il seguente comando:

sudo yum install openhab2-addons

Avvio automatico di OpenHAB

Se la fase di installazione è andata a buon fine, è possibile avviare openHAB e configurarlo per essere eseguito automaticamente ad ogni avvio del sistema.

Sistemi basati su sysVinit

(ad es. Ubuntu 14.x, Debian Wheezy e precedenti):
sudo /etc/init.d/openhab2 start sudo /etc/init.d/openhab2 status  sudo update-rc.d openhab2 defaults

Sistemi basati su systemd

(ad es. Debian 8, Ubuntu 15.x, Raspbian Jessie e successivi):

sudo systemctl start openhab2.service
sudo systemctl status openhab2.service
sudo systemctl daemon-reload
sudo systemctl enable openhab2.service

Links utili:

https://www.openhab.org/docs/
https://www.openhab.org/docs/installation/openhabian.html

Ivan Scordato