
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.

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:
- Naviga in Pannello di controllo -> Sistema -> Modifica le variabili di ambiente per l’account.
- Creare una nuova variabile avente come valore l’indirizzo della cartella di installazione di Java.
- Aggiungi la variabile di ambiente di sistema JAVA_HOME in Windows
- Naviga in ->Pannello di controllo -> Sistema e sicurezza -> Sistema -> Impostazioni di sistema avanzate -> Variabili d’ambiente -> Variabili di sistema
- 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:
- Scaricare l’ultima versione dalla pagina di download.
- 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.
- Aprite il vostro Web browser preferito e collegatevi all’indirizzo http://localhost:8080
- Selezionate il pacchetto di OpenHAB che intendete utilizzare
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:
- 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"
- Arresta l’istanza di openHAB digitando logout nella console.
- 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
- 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.
- Interrompere il processo openHAB se è attualmente in esecuzione;
- Fare un Backup dei file principali di openHAB;
- 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;
- Estrarre il contenuto del file zip della versione appena scaricata nella cartella di installazione esistente;
- 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

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:
- Estrarre l’immagine openHABian dall’archivio compresso appena scaricato in un percorso a piacere
- Inserire la memory card nel computer
- Aprire con i privilegi di amministratore il programma WIn32 Disk Imager appena scaricato
- Selezionare il percorso dove abbiamo salvato l’immagine del SO e la memory card sulla quale vogliamo installarlo.
- Cliccare su “Scrivi immagine”
- Attendere che la scrittura vada a buon fine prima di rimuovere la micro SD dal computer.
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
- 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
- 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
- Successivamente, risincronizzare l’indice del pacchetto:
sudo apt-get update
- 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