Introduzione a OpenHAB Home Automation su Raspberry Pi

OpenHAB è una piattaforma di automazione domestica matura e open source che funziona su una varietà di hardware ed è indipendente dal protocollo, il che significa che può connettersi a quasi tutti gli hardware di automazione domestica presenti oggi sul mercato.

OpenHAB è una piattaforma di automazione domestica matura e open source che funziona su una varietà di hardware ed è indipendente dal protocollo, il che significa che può connettersi a quasi tutti gli hardware di automazione domestica presenti oggi sul mercato.
Annuncio pubblicitario

OpenHAB è una piattaforma di automazione domestica matura e open source che funziona su una varietà di hardware ed è indipendente dal protocollo, il che significa che può connettersi a quasi tutti gli hardware di automazione domestica presenti oggi sul mercato. Se sei stato frustrato dal numero di app specifiche del produttore che devi eseguire solo per controllare le luci, allora ho delle ottime notizie per te: OpenHAB è la soluzione che stavi cercando: è la casa intelligente più flessibile hub Quale Smart Hub per la domotica è la cosa migliore per te? Quale Smart Hub per la domotica è la cosa migliore per te? Per un po 'la gente pensò che l'idea non fosse altro che un trucco, ma le recenti versioni del prodotto hanno dimostrato che la domotica intelligente sta iniziando a essere all'altezza delle sue promesse. Leggi di più che troverai mai.

Questa guida è disponibile per il download come PDF gratuito. Scarica Inizia subito con OpenHAB Home Automation su Raspberry Pi ora . Sentiti libero di copiare e condividere questo con i tuoi amici e familiari.

Sfortunatamente, è più lontano che puoi ottenere dal consumer-friendly, ma come sempre, è qui che entra in gioco MakeUseOf: ti mostreremo come farlo funzionare con il massimo del sistema di casa intelligente che i soldi non devono comprare (perché OpenHAB è 100% gratuito - basta fornire l'hardware).

La prima parte di questa guida si concentra in particolare su come ottenere la configurazione OpenHAB con un Raspberry Pi 2, ma più avanti, le esercitazioni e i consigli possono essere applicati ovunque sia installato OpenHAB.

Questa guida copre tre argomenti introduttivi e uno leggermente più avanzato.

  • Ottenere OpenHAB attivo e funzionante sul Pi e installare la configurazione della demo house per controllare che i sistemi di base funzionino.
  • Come aggiungere collegamenti e profili per i dispositivi. Lavorerò con Philips Hue.
  • Abilitazione dell'accesso remoto e connessione a IFTTT.
  • Aggiunta di un sensore di presenza fai-da-te tramite Bluetooth e un'introduzione all'interfaccia REST.
  • Configurazione dell'app mobile OpenHAB.

Cosa ti serve

Per lo meno, avrai bisogno di un Raspberry Pi (v2, preferibilmente), e di un adattatore Ethernet o wireless (preferibilmente Ethernet, questa guida non includerà le istruzioni per far funzionare la tua scheda Wi-Fi Impostazione della rete wireless sul tuo Raspberry Pi Configurazione di reti wireless sul tuo Raspberry Pi Praticamente ogni progetto Raspberry Pi richiede una connessione di rete e si può ottenere una notevole flessibilità ignorando la porta Ethernet a favore di un dongle USB wireless. Tutto il resto è facoltativo. Nota che OpenHAB verrà eseguito anche sul Raspberry Pi originale, ma c'è un problema noto con l'elaborazione più lenta e i dispositivi Z-Wave. Se non hai bisogno di Z-Wave, puoi tranquillamente ignorare questo avviso e andare avanti con un modello Raspberry Pi B o B +, perché tutto il resto sembra funzionare bene. È sempre possibile eseguire l'aggiornamento all'ultima Pi se e quando si aggiunge Z-Wave.

Photo of Raspberry Pi 2 being used as OpenHAB controller
Questa piccola cosa può essere il miglior hub di casa intelligente che tu abbia mai avuto!

Al momento della scrittura, l'ultima versione stabile di OpenHAB è la versione 1.71; la versione 1.8 è attesa a breve, e tutto in questa guida dovrebbe essere ancora pertinente, anche se alcuni binding potrebbero avere più funzionalità. La versione 2 è attualmente disponibile come anteprima alpha molto precoce, ma adotta un'architettura radicalmente diversa dalla serie OpenHAB 1: questa guida non è compatibile con la versione 2.

Vi suggerisco caldamente di seguire questa guida lentamente e metodicamente - non tentare di saltare nella parte più profonda e aggiungere tutto in una volta. Sì, è una guida lunga: OpenHAB è un sistema difficile che spesso richiede una messa a punto per le tue esigenze e il modo migliore per garantire il successo è lavorare lentamente e completare un pezzo alla volta.

La buona notizia è che una volta che funziona, è un'esperienza solida e incredibilmente gratificante.

Installare OpenHAB

Non esiste un'immagine preconfigurata per OpenHAB, quindi l'installazione viene eseguita alla vecchia maniera tramite una riga di comando. Vi suggerisco di lavorare senza headless sul RPi - il sovraccarico di gestione di una GUI che userete raramente non vale la pena.

Inizia con l'ultima (completa) immagine Raspbian SD (non la versione "lite", questi non includono la Java Virtual Machine). Inserisci il cavo di rete collegato, quindi avvia il sistema e naviga attraverso SSH. Correre:

sudo raspi-config 

Espandi il filesystem; e dal menu avanzato, cambia la suddivisione della memoria in 16. Una volta terminato, riavvia, e come buona pratica, esegui un aggiornamento completo

 sudo apt-get update sudo apt-get upgrade 

Il modo più semplice per installare il runtime di OpenHAB è tramite apt-get, ma prima dobbiamo aggiungere una chiave sicura e il nuovo repository:

 wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add - echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list sudo apt-get update sudo apt-get install openhab-runtime sudo update-rc.d openhab defaults 

Curiosamente, tutto è stato installato come di proprietà di "root". Dobbiamo sistemarlo con i seguenti comandi.

 sudo chown -hR openhab:openhab /etc/openhab sudo chown -hR openhab:openhab /usr/share/openhab 

Successivamente, installeremo Samba e condivideremo la configurazione e le cartelle utente: ciò faciliterà l'installazione dei componenti aggiuntivi e la modifica della Sitemap da remoto.

 sudo apt-get install samba samba-common-bin sudo nano /etc/samba/smb.conf 

Modificare il nome del gruppo di lavoro, se necessario, ma in caso contrario abilitare il supporto WINS:

 wins support = yes 

(dovrai togliere il commento dalla riga e cambiare no a yes)

quindi aggiungi quanto segue alla sezione delle definizioni di condivisione (scorri fino alla fine del file lungo):

 [OpenHAB Home] comment= OpenHAB Home path=/usr/share/openhab browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=no [OpenHAB Config] comment= OpenHAB Site Config path=/etc/openhab browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=no 

Ho anche commentato la sezione Stampanti. Ho effettuato due condivisioni, poiché i file di configurazione sono in realtà archiviati separatamente nei componenti aggiuntivi.

Salva ed esci. Abbiamo finalmente bisogno di impostare una password Samba per l'utente di openhab:

 sudo smbpasswd -a openhab 

Suggerirei "openhab" come password solo per facilità d'uso, ma non ha molta importanza.

Grazie al lettore David L - sembra che il metodo di riavvio di Samba sia cambiato nell'ultimo Raspian. Ecco le istruzioni aggiornate:

 sudo update-rc.d smbd enable sudo update-rc.d nmbd enable sudo service smbd restart 

Dopo aver riavviato Samba (le installazioni precedenti utilizzano il servizio sudo di riavvio samba ), testare è possibile accedere all'unità condivisa. Potrebbe non essere rilevato automaticamente su un Mac; ma puoi utilizzare il Finder -> Vai -> Connetti al server e l'indirizzo

 smb://[email protected] 

Autenticati con nome utente openhab e la tua password scelta, quindi apri entrambe le tue condivisioni per dare un'occhiata in giro. Dovresti anche poter aprire http: //raspberrypi.local: 8080 / nel tuo browser web, ma ti verrà riscontrato un errore perché non abbiamo ancora creato una Sitemap. È normale.

error on first launch openhab

Ora sarebbe il momento giusto per imparare il comando per eseguire il log di OpenHAB in modo da poter tenere d'occhio gli errori.

 tail -f /var/log/openhab/openhab.log 

Continuate a farlo funzionare e apritelo in una finestra SSH separata in ogni momento mentre continuate con la guida.

Installa la Demo House

Prima di approfondire la complessità dei file di configurazione, aggiungendo dispositivi e associazioni ecc; controlliamo tutto funziona aggiungendo il contenuto della demo. Troverai "Demo Setup" nella sezione download di OpenHAB.org.

Dopo averlo decompresso, ci sono due cartelle: componenti aggiuntivi e configurazioni .

contenuto demo di openhab

Utilizzando le condivisioni di rete, copiare le configurazioni nella condivisione di OpenHAB Config e sovrascrivere la cartella esistente. Copia i componenti aggiuntivi nell'altra condivisione di OpenHAB Home, di nuovo, sovrascrivendo le cartelle esistenti. Se non ti viene chiesto di sovrascrivere qualcosa, stai sbagliando. Se hai il tuo occhio sul file di log di debug, dovresti vedere una vibrazione di attività mentre nota i nuovi binding e i whirl in azione. Apri raspberrypi.local: 8080 / openhab.app? Sitemap = demo per vedere la demo.

OpenHAB demo house web interface screenshot

È un po 'semplice al momento, ma la natura aperta di OpenHAB significa che possiamo installare un nuovo tema adorabile in seguito o un'interfaccia alternativa interamente. Per ora, dovevamo solo sapere che tutto funziona. Nota che ciò che stiamo guardando è chiamato sitemap (niente a che fare con una mappa del sito web). Una mappa del sito descrive l'interfaccia utente, non i dispositivi reali sulla rete o i sensori, solo l'interfaccia per visualizzarli. Ogni parte di esso è completamente personalizzabile. Per vedere come è stato creato questo, apri il file sitemaps / demo.sitemap nella condivisione di OpenHAB Config.

file di esempio demo sitemap

È piuttosto scoraggiante, ma per la maggior parte dei casi dovrai copiare i frammenti di codice incollati da altri esempi per creare la tua interfaccia personalizzata. Ecco la panoramica tecnica di tutti i possibili elementi della sitemap, ma per ora sarà sufficiente iniziare a pensare a quale tipo di interfaccia si desidera costruire e quali informazioni si desidera visualizzare.

Mentre sei lì, apri anche gli oggetti / demo.it. Di nuovo, sembra spaventoso, ma qui è dove crei gli oggetti per controllare e definire i sensori da tracciare.

Quindi come funziona OpenHAB?

Ora che hai avuto una breve panoramica della sitemap e della cartella degli articoli, analizziamo esattamente quali sono questi file e gli altri componenti principali di OpenHAB che si combinano per creare la tua casa intelligente completa. Troverai sottodirectory per ognuno di questi nella cartella condivisa di OpenHAB Config.

Gli articoli sono un inventario di ogni dispositivo di controllo, sensore o elemento informativo che desideri nel tuo sistema. Neanche è necessario un dispositivo fisico: potresti definire una fonte web come il tempo o i prezzi delle azioni. Ogni voce può essere nominata, assegnata a più gruppi (o nessuno) e collegata a un'associazione specifica. (Suggerimento per principianti: la capitalizzazione è importante quando si tratta di legature. Ho passato molto tempo a cercare di capire perché le mie lampadine "Hue" non funzionassero, perché invece avrebbero dovuto essere "tonalità").

Le Sitemap riguardano solo l'interfaccia che vedrai quando apri l'app mobile o web di OpenHAB. È possibile controllare esattamente come si desidera che i pulsanti siano disposti e le informazioni presentate. Puoi definire gruppi di livello superiore per ogni stanza della tua casa; facendo clic su ognuno di essi viene visualizzato un elenco di tutti i dispositivi in ​​quella stanza. Oppure potresti preferire mostrare i gruppi per ciascun tipo di dispositivo: un pulsante per le luci, un altro per le prese elettriche. Potrebbero esserci alcuni dispositivi che utilizzi così spesso che desideri semplicemente un interruttore per loro direttamente nella schermata iniziale.

Le regole sono il punto in cui entra in gioco l'aspetto domotico, in cui è possibile definire gli orari o le condizioni per l'azione. Eventi semplici come accendere le luci della camera da letto alle 22:00 con un caldo colore rosso; o una logica più complessa come accendere uno scaldabagno se la temperatura è inferiore a 0 e qualcuno è presente in quella stanza. Troverai anche una cartella scripts, che offre funzionalità simili alle regole ma a un livello più complesso di logica programmabile.

La persistenza è un argomento avanzato che non tratteremo in questa guida, ma la persistenza definisce i dati di cui vuoi tenere traccia. Per impostazione predefinita, OpenHAB mostrerà solo lo stato corrente di qualcosa; se si desidera tracciare quel valore nel tempo, è necessario impostare una definizione di persistenza per tale origine dati. In questo dovrai specificare cose come la frequenza con cui misurare un punto dati o quando scartare i vecchi punti dati - dovrai anche dirgli quale tipo di motore di persistenza usare, come MySQL o semplice registrazione in un file .

Trasforma contiene associazioni per i valori dei dati alle etichette. Ad esempio, il file humidex.scale definisce un intervallo di valori di indice di umidità e come dovrebbero essere mostrati in inglese: 29-38 è "un po 'di disagio".

I file sitemap e items sono essenziali per l'esecuzione di OpenHAB; il resto è facoltativo. Puoi avere più Sitemap e articoli, in modo da poter conservare il contenuto della demo e rinviarlo in qualsiasi momento, oppure provare un nuovo layout per l'interfaccia di controllo domestica. Non preoccuparti se tutto ciò sembra un po 'travolgente in questo momento, lo scomporremo in pezzi gestibili e prometto che alla fine di questa guida avrai la certezza di creare la tua configurazione OpenHAB.

Successivamente, ti guideremo attraverso l'aggiunta di alcuni kit smart home, partendo da zero in una nuova sitemap. Ognuno introdurrà alcuni concetti fondamentali come come installare i binding e le definizioni degli item, quindi ti incoraggio vivamente a leggere queste istruzioni anche se non possiedi quei dispositivi particolari .

Inizia creando un nuovo file home.items (vuoto) e un nuovo file home.sitemap nelle directory pertinenti. Apri home.sitemap e incolla il seguente codice. Questo funziona come uno scheletro di base al quale aggiungeremo bit in seguito.

 sitemap home label="My Home" { } 

Dovresti visualizzare un avviso per segnalare che OpenHAB ha identificato una nuova Sitemap e un file di elementi.

openhab nuova mappa del sito e oggetti

Abilita la modalità di debug

Mentre stai ancora cercando di far funzionare correttamente OpenHAB, può essere utile abilitare un registro di debug più dettagliato che elenchi tutto, e non solo le cose importanti. Per abilitare questa modalità, aprire la cartella condivisa di OpenHAB Config e modificare logback.xml . Alla riga 40, modificare la seguente riga per leggere DEBUG anziché INFO. Avrai bisogno di riavviare dopo aver cambiato questo.

Questo è un cambiamento globale, quindi riceverai molte più informazioni una volta che avrai completato il file di registro.

Aggiunta di Philips Hue

Inizierò con Philips Hue Philips Hue Starter Kit Review e Giveaway Philips Hue Starter Kit Review e Giveaway Il mercato è invaso da bulbi con wifi, il tutto con la loro stupida app mobile con cui devi agitarti per accenderli . La tonalità è diversa? Lo scopriamo. Leggi di più . Come la maggior parte delle cose con cui vorresti interagire con OpenHAB, le lampadine Hue richiedono l'installazione di un'associazione - si pensi ai collegamenti come un driver di dispositivo. Al momento della scrittura, sono disponibili circa 160 associazioni per OpenHAB 1, motivo per cui OpenHAB è un sistema così potente: può interfacciarsi con qualsiasi cosa, combinando tutti questi diversi sistemi di controllo in un'unica interfaccia unificata. Ecco una demo e una rapida panoramica dei passaggi coinvolti.

I collegamenti devono essere prima scaricati e il modo più semplice per farlo sul Pi è usare apt-get, quindi forzare la proprietà all'utente di openhab.

 sudo apt-get install openhab-addon-binding-hue sudo chown -hR openhab:openhab /usr/share/openhab 

Quindi devi dire a OpenHAB di caricare quel legame e configurare le variabili necessarie. Passare alla cartella delle configurazioni e creare una copia di openhab-default.cfg, denominandola come openhab.cfg . Aprilo, cerca HUE e sostituisci l'intera sezione con il seguente codice. L'unica cosa che devi modificare è il valore IP del tuo bridge: se non lo conosci già, prova lo strumento di rilevamento online. Il valore segreto non ha molta importanza, è solo una sorta di nome utente che OpenHAB utilizzerà per identificarsi al bridge.

Suggerimento rapido : per abilitare una linea, basta rimuovere il # dall'inizio. Per impostazione predefinita, la linea che specifica l'indirizzo IP del bridge è disabilitata (o tecnicamente, "commentata"). Inoltre, se stai provando una configurazione alternativa, può essere utile copiare semplicemente la riga esistente e inserire un # all'inizio per contrassegnarlo come un commento, in modo da poter tornare facilmente se le cose vanno male.

 ################################ HUE Binding ######################################### 
 # IP of the Hue bridge hue:ip=192.168.1.216 hue:secret=makeuseofdotcom hue:refresh=10000 

config di associazione di openhab

Salva ed esci. Come qualsiasi altra applicazione Hue di terze parti, è necessario approvare OpenHAB su Hue Bridge premendo il pulsante sul lato anteriore - è sufficiente farlo una sola volta. Vedrai un messaggio sull'attesa di essere accoppiato se stai tagliando il file di log, ma se hai dimenticato o perso il conto alla rovescia, resetta il Pi - riceverai un timer di 100 secondi da quando il bind di Hue è iniziato Assicurati di aver eseguito correttamente l'associazione prima di continuare.

Successivamente, apri il file home.items, al quale aggiungeremo alcune lampadine Hue. Ecco una definizione di un articolo di esempio:

 Color Bedroom_Hue "Bedroom Hue" (Bedroom) {hue="1"} 
  • La parola Color specifica quale tipo di controllo abbiamo su questo elemento. Le lampadine RGB Hue sono "Color", dato che ne abbiamo il pieno controllo del colore. Altre luci potrebbero essere solo un interruttore.
  • Il prossimo è il nome in codice dell'articolo: Ho scelto Bedroom_Hue, ma letteralmente tutto è a posto - solo qualcosa di descrittivo che ti sembra naturale, perché dovrai ricordarlo più tardi quando crei la sitemap. Il nome in codice non dovrebbe contenere spazi.
  • Tra le virgolette c'è l'etichetta. La nostra è semplice in questo caso, ma per alcuni elementi come la temperatura o qualcosa che riporta un valore, aggiungerai un codice speciale che indica come visualizzare quel valore o usare quale trasformazione. L'etichetta è per l'interfaccia e può avere spazi.
  • Tra parentesi angolari c'è il nome dell'icona. Troverai tutte le icone disponibili nella condivisione OpenHAB, sotto la directory webapps / images . C'è in realtà un'intera gamma di icone di tonalità che rappresentano diverse luminosità o on / off. Basta specificare il nome dell'icona di base - OpenHAB saprà di cercare automaticamente le diverse icone on / off se si tratta di un oggetto commutato. Questo è opzionale.
  • Tra parentesi tonde, diciamo di quali gruppi far parte - in questo caso, solo il gruppo Camera da letto .
  • Infine, e in modo cruciale, colleghiamo l'articolo al binding appropriato con tutte le variabili necessarie. In questo caso, la rilegatura della tonalità e il numero della lampadina è 1. È possibile trovare il numero aprendo l'applicazione della tonalità ufficiale e guardando la scheda delle luci. Ogni lampadina ha un numero univoco.

Ho aggiunto un totale di quattro lampadine, oltre a una semplice dichiarazione dei gruppi che approfondiremo in seguito. Ecco la mia home.it completa a questo punto:

 Group Bedroom Group Office Group Kai Group Living_Room Group Cinema Group Secret 
 Group Lights 
 /* Lights */ Color Bedroom_Hue "Bedroom Hue" (Bedroom, Lights) {hue="1"} Color Office_Hue "Office Hue" (Office, Lights) {hue="2"} Color Secret_Hue "Secret Hue" (Secret, Lights) {hue="3"} Color Kai_Hue "Kai's Hue" (Kai, Lights) {hue="4"} 

Il / * Lights * / text è solo un commento, non ha altra funzione che aiutarci a scansionare il file più tardi quando diventa più grande. Ora abbiamo aggiunto i dispositivi, ma aprendo http: //raspberrypi.local: 8080 /? Sitemap = home risulta un'interfaccia vuota - ovviamente, perché non abbiamo ancora creato elementi di interfaccia nella mappa del sito. Iniziamo davvero semplice per ora. Apri home.sitemap .

Il codice utilizzato per descrivere l'interfaccia è diverso dagli elementi, ma per ora creeremo un nuovo "frame" e aggiungeremo un paio di controlli di gruppo insieme ad alcune icone.

 sitemap home label="My Home" { Frame { Group item=Lights label="All lighting" icon="hue" Group item=Bedroom label="Bedroom" icon="bedroom" Group item=Office label="Office" icon="desk" } } 

I gruppi sono uno strumento utile per test rapidi, ma in realtà è necessario un maggiore controllo su come vengono visualizzati gli oggetti. Per ora, questo sarà sufficiente. Salva e ricarica la sitemap di casa nel browser. Dovresti vedere questo (o, qualunque gruppo tu abbia aggiunto).

openhab prima sitemap

Fai clic su Tutte le luci per vedere ogni luce della tonalità, poiché le abbiamo definite tutte appartenenti a quel gruppo di luci sovrastanti.

openhab lights group Hue demo

Si noti che la voce Hue Office viene visualizzata con un'icona diversa, poiché la luce dell'ufficio è già accesa e OpenHAB lo sa quando parlava al bridge Hue ed era abbastanza intelligente da regolare l'icona della versione "on" del file. Sfortunatamente, non riflette il colore, ma se hai installato un'app mobile, questo rifletterà il colore corrente.

Se visualizzi più elementi di quelli che pensavi avessi definito o ricevessi errori in merito a più definizioni, sappi che, sebbene sia possibile caricare una sola Sitemap alla volta nella pagina, tutte le Sitemap preleveranno elementi da tutti i file .item, quindi se hai lasciato il file degli articoli demo lì, potresti avere alcuni elementi aggiuntivi visualizzati anche nei tuoi gruppi. Suggerirei a questo punto di eseguire il backup del contenuto degli elementi demo e di spostarlo fuori dalla cartella per evitare errori di duplicazione.

Accesso remoto e IFTTT con My.OpenHAB

Al momento, è necessario essere sulla stessa rete locale per accedere al sistema OpenHAB, ma cosa succede se si desidera controllare i dispositivi e controllare i sensori quando sono fuori dalla portata del Wi-Fi? Per questo avremo bisogno di impostare l'accesso remoto - e lo faremo in modo semplice, con il servizio web My.OpenHAB, che evita la necessità di fare confusione con il port forwarding e le configurazioni del router. Come bonus, il servizio My.OpenHAB ha anche un canale IFTTT, che ti offre infinite possibilità per il controllo remoto e l'automazione.

Primo: installa il binding. Suggerimento: se non conosci il nome esatto di un particolare pacchetto di installazione, prova a cercarlo con apt-cache.

ricerca apt-cache

 sudo apt-get install openhab-addon-io-myopenhab sudo chown -hR openhab:openhab /usr/share/openhab 

Prima di poterti registrare sul sito My.OpenHAB, dovrai creare una chiave segreta e trovare il tuo UUID, che identifica in modo univoco la tua installazione. Controlla sotto la condivisione di OpenHAB Home -> webapps -> static e dovresti trovare un file UUID contenente il tuo identificativo univoco. È a questo punto che ho scoperto che il mio Pi stava usando una versione precedente di Java che non creava correttamente la chiave segreta. genere

 java -version 

controllare. Se non dice 1.7 o superiore, hai la versione sbagliata. Stranamente, l'ultima versione di Raspbian viene fornita con Oracle Java 8 installato, ma non impostato come predefinito.

 sudo update-alternatives --config java 

aggiorna la versione di java

Scegli l'opzione che indica jdk-8-oracle, quindi riavvia OpenHAB. Bonus: Oracle Java 8 è più veloce di OpenJDK predefinito!

Ora dovresti trovare anche un file segreto nella cartella webapps / static . Apri sia il segreto che uuid e preparati a copiare la pasta.

uuido e segreto

Ora vai a creare un account My.OpenHAB, utilizzando questi dettagli, quindi torna indietro - dovrai anche confermare la tua email prima che tutto funzioni. Ci sono ancora un paio di passaggi per questo. Innanzitutto, è necessario impostare il motore di persistenza predefinito su myopenhab (la persistenza è qualcosa per una guida successiva, ma a prescindere, è necessario impostare qualcosa di base per "esportare" i nostri dati sul servizio online e renderli visibili a IFTTT) . Per fare ciò, apri openhab.cfg e trova la variabile che dice persistenza: default = e cambiala in persistenza: default = myopenhab . Salvare.

Infine, crea un nuovo file nella cartella configurations / persistence chiamata myopenhab.persist e incolla la seguente regola.

 Strategies { default = everyChange } Items { * : strategy = everyChange } 

Non hai bisogno di capirlo per ora, ma sappi che dice "salva ogni stato dell'oggetto quando cambia".

i miei oggetti di apertura

Per connetterti con IFTTT, accedi al canale OpenHAB: dovrai autenticarti e accedere al tuo account MyOpenHAB. Inoltre, fino a quando i tuoi articoli non saranno cambiati almeno una volta, non saranno visibili nell'elenco degli elementi su IFTTT, quindi se non è visibile, attiva e disattiva qualcosa, quindi ricarica. Congratulazioni, ora hai accesso IFTTT completo a tutto nel tuo sistema OpenHAB!

canale ifttt di openhab

Sensore di presenza Bluetooth usando REST

Poco fa ti ho mostrato come realizzare una serratura automatica per l'ufficio usando il Bluetooth Fai una porta da ufficio con chiusura automatica con sensore di prossimità per smartphone Fai una porta da ufficio con chiusura automatica con sensore di prossimità per smartphone Creeremo un Raspberry Pi con un Adattatore Bluetooth da tenere sotto controllo quando lo smartphone è fuori portata e inserire un relè in azione per bloccare la porta. Per saperne di più scansione per rilevare la presenza dell'utente - Volevo portare qualcosa di simile in OpenHAB.

Su qualsiasi piattaforma diversa da Raspberry Pi, questo sarebbe semplice grazie a un binding Bluetooth già pronto; sfortunatamente, non funziona su Pi a causa di un file Java cruciale che dovrebbe essere ricompilato per l'architettura ARM, aggiunto al binding e quindi ricostruito il binding. Basti dire che ci ho provato, ed è stato terribilmente complicato e non ha funzionato. Vi è tuttavia una soluzione molto più semplice che funge anche da buona introduzione alla pura estensibilità di OpenHAB: adatteremo semplicemente il nostro precedente script Python per farlo riferire direttamente all'interfaccia OpenHAB RESTful.

A parte: un'interfaccia RESTful significa che puoi interagire con un sistema usando il suo web server integrato, semplicemente chiamando gli URL e passando o recuperando dati. Puoi visitare questo URL per vedere un semplice esempio di questo sul tuo server: http: //raspberrypi.local: 8080 / rest / items - che genera un elenco codificato di tutti gli elementi definiti. Questo in modo incredibilmente potente, in quanto espone tutto il potenziale di OpenHAB e consente di scrivere interfacce personalizzate; o in reverse usato, per riportare lo stato dei sensori senza avere un legame specifico. Utilizzeremo questa funzionalità per segnalare la presenza di un dispositivo Bluetooth specifico senza ricorrere all'associazione Bluetooth.

Inizia aggiungendo un nuovo articolo Switch al tuo file home.items . Ho chiamato il mio "JamesInOffice", e ho fatto un interruttore piuttosto che un semplice contatto on / off in modo da poter controllare manualmente la mia presenza nel caso in cui il mio telefono muoia.

 Switch JamesInOffice "James in Office" (Office) 

Si noti che non ho definito un'icona o associato un'associazione specifica. È solo un interruttore generico.

Quindi, inserire un dongle Bluetooth USB compatibile e installare alcuni strumenti di base per interagire con esso.

 sudo apt-get install bluez python-bluez python-pip sudo pip install requests hcitool dev 

L'ultimo comando dovrebbe mostrare il tuo adattatore Bluetooth. Se nulla è elencato, prova un altro adattatore, il tuo non è compatibile con Linux. Il prossimo passo è trovare l'indirizzo hardware Bluetooth del tuo dispositivo.

 wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py python inquiry.py 

Assicurati che il tuo telefono sia aperto sulla pagina delle impostazioni Bluetooth (che lo mette in modalità accoppiamento / pubblico), e ovviamente che il Bluetooth sia attivato. Dovresti trovare un indirizzo hardware esadecimale elencato.

bluetooth identificato

Dalla tua directory home dell'utente Pi, crea un nuovo script Python e incolla questo codice.
Ci sono alcune cose che devi modificare, a partire dal tuo particolare indirizzo del dispositivo:

 result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5) 

Così come questa linea, che è in due punti (sì, questo potrebbe probabilmente essere strutturato meglio). Cambia JamesInOffice con il nome in codice dello switch che hai definito.

 r = requests.put("http://localhost:8080/rest/items/JamesInOffice/state", data=payload) 

Il passo finale è dire a questo script di avviarsi al momento dell'avvio.

 sudo nano /etc/rc.local 

Scorri verso il basso e subito prima dell'uscita 0, aggiungi le seguenti linee:

 python /home/pi/detect.py & 

Il segno & significa "fai questo in background". Vai avanti ed esegui lo script se non lo hai già fatto, e apri la tua interfaccia OpenHAB. Se lo hai aggiunto a un gruppo, fai clic su quel gruppo. Ci vogliono circa 10 secondi per l'aggiornamento, ma vedrai l'icona della lampadina di default accesa o spenta a seconda che il tuo telefono sia rilevato o meno. Controlla il file di log se non succede nulla, potrebbe essere che tu abbia usato il nome errato dell'oggetto.

OpenHAB Mobile App

Sebbene tu possa ovviamente utilizzare l'interfaccia web da un dispositivo mobile, OpenHAB ha app native sia per iOS che per Android - e sembrano molto più belle dell'interfaccia browser predefinita. Nella schermata delle impostazioni, inserisci l'URL locale come l'IP interno che hai utilizzato fino ad ora, incluso il numero di porta. Per l'URL remoto, inserisci https://my.openhab.org e il tuo nome utente (email) e la password che hai inserito al momento della registrazione. Se non ti sei ancora iscritto a MyOpenHAB, lascia vuoto l'autenticazione e l'URL remoto, ma accederai al tuo sistema solo dal tuo Wi-Fi locale.

openhab-mobile

Andare avanti e ottenere aiuto

La quantità di personalizzazione e le caratteristiche chiare che puoi aggiungere al tuo controller OpenHAB sono davvero epiche. Oltre al vasto elenco di dispositivi supportati con associazioni, puoi utilizzare l'interfaccia RESTful, le estensioni HTTP e IFTTT per leggere o controllare letteralmente qualsiasi tipo di dispositivo IoT, e poi alcuni (prova alcune delle nostre idee di illuminazione creativa 7 Usi creativi per l'illuminazione della domotica a LED colorata 7 Usi creativi per l'illuminazione della domotica a LED colorata Accendere le luci automaticamente è sicuramente interessante, ma non sfrutta l'intero spettro di colori disponibile con l'illuminazione RGB. Per questo, abbiamo bisogno di essere creativi . Leggi di più ). Sì, è un problema assoluto da installare, ma non un singolo sistema commerciale può avvicinarsi alla potenza di un sistema OpenHAB personalizzato.

Detto questo, il viaggio non è stato affatto facile per me, ed è proprio il motivo per cui ho scritto questa guida, per facilitare il processo per te. Resta sintonizzato su MakeUseOf per una guida avanzata che copre Z-Wave e altri fantastici trucchi che puoi configurare.

Se hai bisogno di aiuto con una parte specifica di questa guida, ti preghiamo di chiedere via nei commenti. Se vuoi aiuto con un altro bind o alcuni argomenti avanzati che non abbiamo ancora affrontato, i forum ufficiali di OpenHAB sono un luogo accogliente.

In this article