Noțiuni de bază cu OpenHAB Home Automation pe Raspberry Pi

Noțiuni de bază cu OpenHAB Home Automation pe Raspberry Pi / Smart Home

OpenHAB este o platformă matură, open source, care rulează pe o varietate de componente hardware și este agnostică de protocol, ceea ce înseamnă că se poate conecta la aproape orice hardware de automatizare de acasă de pe piață astăzi. Dacă ați fost frustrat de numărul de aplicații specifice producătorului de care aveți nevoie pentru a rula doar pentru a vă controla luminile, atunci am o veste bună pentru dvs.: OpenHAB este soluția pe care ați căutat - este cea mai flexibilă locuință inteligentă hub Care Smart Hub pentru Automatizarea Acasă este cel mai bun pentru dvs.? Care Smart Hub pentru Automatizarea Acasă este cel mai bun pentru dvs.? Pentru o vreme, oamenii se gândeau la această idee ca pe un gimmick, dar versiunile recente de produse au arătat că automatizarea inteligentă a locuințelor începe să se conformeze promisiunilor sale. Citiți mai multe pe care le veți găsi vreodată.

Acest ghid este disponibil pentru download ca un PDF gratuit. Descărcați Noțiuni de bază cu OpenHAB Home Automation pe Raspberry Pi acum. Simțiți-vă liber să copiați și să partajați acest lucru cu prietenii și familia.

Din păcate, este vorba de cât de departe puteți obține de la consumatori - dar, ca întotdeauna, acolo se face și MakeUseOf: vă vom arăta cum să vă ridicați și să rulați cu sistemul inteligent de acasă inteligent pe care banii nu trebuie să-l cumpere (pentru că OpenHAB este 100% gratuit - furnizați doar hardware-ul).

Prima parte a acestui ghid se concentrează în mod specific asupra modului de a obține configurarea OpenHAB cu ajutorul unui Raspberry Pi 2, dar mai departe, tutorialele și sfaturile pot fi aplicate oriunde este instalat OpenHAB.

Acest ghid acoperă trei subiecte introductive și unul ușor mai avansat.

  • Cum se deschide OpenHAB pe Pi și se instalează configurația casei demo pentru a verifica dacă sistemele de bază funcționează.
  • Cum se adaugă legături și profiluri pentru dispozitive. Voi colabora cu Philips Hue.
  • Activarea accesului la distanță și conectarea la IFTTT.
  • Adăugarea unui senzor de prezență DIY utilizând Bluetooth și o introducere la interfața REST.
  • Configurarea aplicației mobile OpenHAB.

Ce ai nevoie

Cel puțin, veți avea nevoie de un Raspberry Pi (de preferință, v2) și de un adaptor Ethernet sau fără fir (Ethernet preferat, acest ghid nu va include instrucțiuni privind efectuarea lucrărilor de adaptare a rețelei Wi-Fi Configurarea rețelei wireless pe zmeura dvs. Pi Configurarea rețelei wireless pe zmeura dvs. Pi Practic, fiecare proiect Raspberry Pi va necesita o conexiune la rețea și o flexibilitate considerabilă poate fi obținută prin ignorarea portului Ethernet în favoarea unui dongle USB wireless. Totul este opțional. Rețineți că OpenHAB va rula și pe versiunea originală Raspberry Pi, dar există o problemă cunoscută cu procesoare mai slabe și dispozitive Z-Wave. Dacă nu aveți nevoie de Z-Wave, puteți să ignorați cu siguranță acest avertisment și să continuați cu un model Raspberry Pi B sau B +, deoarece totul pare să funcționeze bine. Puteți oricând să faceți upgrade la cel mai recent Pi dacă și când adăugați Z-Wave.

Acest mic lucru poate fi cel mai bun hub inteligent de acasă pe care l-ați avut vreodată!

La momentul redactării, cea mai recentă versiune stabilă a OpenHAB este versiunea 1.71; Versiunea 1.8 este așteptată în curând și tot ceea ce se află în acest ghid ar trebui să fie în continuare relevant, deși anumite legări pot avea mai multe caracteristici. De asemenea, versiunea 2 este disponibilă ca o previzualizare alfa timpurie, dar adoptă o arhitectură dramatic diferită de seria OpenHAB 1: acest ghid nu este compatibil cu versiunea 2.

Vă sugerez foarte mult să urmați acest ghid, încet și metodic - nu încercați să sarăți la capătul adânc și să adăugați totul în același timp. Da, este un ghid lung - OpenHAB este un sistem dificil care necesită adesea ajustarea pentru nevoile dvs., iar cel mai bun mod de a asigura succesul este să lucrați încet și să completați o singură bucată.

Vestea bună este că, odată ce funcționează, este o experiență rock solidă și incredibil de plină de satisfacții.

Instalarea OpenHAB

Nu există o imagine preconfigurată pentru OpenHAB, astfel încât instalarea se face în mod vechi prin intermediul unei linii de comandă. Vă sugerez să lucrați fără cap pe RPi - cheltuielile de gestionare a unei interfețe grafice pe care le folosiți rar nu merită.

Începeți cu cea mai recentă (completă) imagine Raspbian SD (nu “lite” versiune, acestea nu includ masina virtuala Java). Obțineți cablul de rețea conectat, apoi porniți-l și navigați prin SSH. Alerga:

sudo raspi-config

Extindeți sistemul de fișiere; și din meniul avansat, schimbați memoria împărțită la 16. După ce ați terminat, reporniți și, ca bunele practici, executați o actualizare completă

sudo apt-get actualizare sudo apt-get upgrade

Modul mai simplu de a instala runtime-ul OpenHAB este via apt-get, dar mai întâi trebuie să adăugăm o cheie sigură și un depozit nou:

wget -qO - "https://bintray.com/user/downloadSubjectPublicKey?username=openhab" | sudo apt -key add - echo "deb http://dl.bintray.com/openhab/apt-repo stabil principal" | sudo tee /etc/apt/sources.list.d/openhab.list sudo apt-get actualizare sudo apt-get instalare openhab-runtime sudo update-rc.d openhab implicit

Curios, totul a fost instalat ca fiind deținut “rădăcină”. Trebuie să rezolvăm acest lucru cu următoarele comenzi.

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

Apoi, vom instala Samba și vom partaja fișierele de configurare și de utilizator - acest lucru va facilita instalarea programelor de completare și modificarea de la distanță a sitemap-ului.

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

Modificați numele grupului de lucru dacă este necesar, dar, în caz contrar, activați asistența WINS:

câștigă sprijin = da

(va trebui să deconectați linia și să schimbați nu la da)

apoi adăugați următoarele în secțiunea pentru definițiile partajării (derulați până la capătul fișierului lung):

[OpenHAB Home] comment = OpenHAB Acasă cale = / usr / share / openhab browseable = Da scriere = Da numai oaspete = nu crea mască = 0777 director masca = 0777 public = nu [OpenHAB Config] comment = OpenHAB Config path = = etc / openhab browseable = Da scrieable = Da numai oaspete = nu crea mască = 0777 director mască = 0777 public = nu

De asemenea, am comentat secțiunea Imprimante. Am făcut două acțiuni, deoarece fișierele de configurare sunt stocate separat în suplimente.

Salvează și ieși. În cele din urmă trebuie să setăm o parolă Samba pentru utilizatorul openhab:

sudo smbpasswd - un openhab

Aș sugera “openhab” ca parola doar pentru usurinta de utilizare, dar nu conteaza.

Mulțumită cititorului David L - se pare că metoda de repornire a lui Samba sa schimbat în ultimul Raspian. Iată instrucțiunile actualizate:

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

După ce reporniți Samba (utilizați instalațiile mai vechi sudo service samba restart), încercați să accesați unitatea partajată. S-ar putea să nu fie descoperit automat pe Mac; dar puteți folosi căutător -> Merge -> Conectați-vă la server și adresa

smb: //[email protected]

Autentificați-vă cu numele de utilizator openhab și parola aleasă, apoi deschideți ambele părți pentru a arunca o privire în jur. Ar trebui chiar să puteți deschide http: //raspberrypi.local: 8080 / în browserul dvs. web, dar veți fi întâmpinat cu o eroare deoarece nu am creat încă un sitemap. E normal.

Acum ar fi un moment bun pentru a afla comanda de a coada jurnalul OpenHAB, astfel incat sa aveti grija de erori.

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

Păstrați ca să ruleze și să se deschidă într-o fereastră separată SSH în orice moment în timp ce continuați cu ghidul.

Instalați Demo House

Înainte de a ne îndrepta spre complicațiile fișierelor de configurare, adăugând dispozitive și legături etc. să verificăm dacă totul funcționează prin adăugarea conținutului demo. Vei găsi “Demo Setup” în secțiunea de descărcări a OpenHAB.org.

Odată ce l-ați dezarhivat, există două dosare: addons și configuraţiile.

Utilizând acțiunile de rețea, copiați configuraţiile la OpenHAB Config partajați și suprascrieți dosarul existent. Copie addons celuilalt OpenHAB Home partajați, din nou, suprascrierea dosarelor existente. Dacă nu vi se solicită să suprascrieți ceva, faceți greșit. Dacă v-ați uitat ochiul pe fișierul de jurnalizare de depanare, ar trebui să vedeți o flutter de activitate, deoarece constată legăturile noi și devine în acțiune. Deschideți raspberrypi.local: 8080 / openhab.app? Sitemap = demo pentru a vedea demo-ul.

Este puțin cam în căutarea momentului, dar natura deschisă a OpenHAB înseamnă că putem instala o temă nouă minunată mai târziu sau o interfață alternativă în întregime. Pentru moment, trebuia doar să știm că totul funcționează. Rețineți că ceea ce privim este numit a sitemap (nu are legătură cu harta site-ului web). O hartă site descrie interfața cu utilizatorul - nu dispozitivele reale din rețea sau senzorii - doar interfața pentru a le vizualiza. Fiecare parte din acesta este complet personalizabil. Pentru a arunca o privire la modul în care a fost creat, deschideți Sitemaps / demo.sitemap fișier în cota OpenHAB Config.

Este destul de descurajator, dar în cea mai mare parte veți fi copiați fragmente de fragmente de cod din exemple în altă parte pentru a vă crea interfața personalizată. Iată o privire de ansamblu tehnică a tuturor posibilelor elemente de sitemap, dar pentru moment este suficient să începeți să vă gândiți la ce tip de interfață doriți să construiți și la ce informații doriți să afișați.

În timp ce sunteți acolo, deschideți-vă obiecte / demo.items de asemenea. Din nou, arată înfricoșător, dar aici creați elemente pentru a controla și a defini senzorii pentru urmărire.

Cum funcționează OpenHAB??

Acum, că ați avut o scurtă examinare a folderului sitemap și elemente, să analizăm exact ce sunt aceste fișiere și celelalte componente principale ale OpenHAB care se combină pentru a crea casa inteligentă completă. Veți găsi subdirectoare pentru fiecare dintre acestea în folderul partajat OpenHAB Config.

Articole este un inventar al fiecărui dispozitiv de comandă, senzor sau element de informație dorit în sistemul dvs. De asemenea, nu este necesar să fie un dispozitiv fizic - puteți defini o sursă web, cum ar fi vremea sau prețul acțiunilor. Fiecare element poate fi numit, atribuit mai multe grupuri (sau nici unul) și legat de legare specifică. (Sfat pentru începători: capitalizarea este importantă atunci când vine vorba de legături. Am petrecut mult timp încercând să înțeleg de ce “Nuanţă” becurile nu funcționau; pentru că ar fi trebuit să fie “nuanţă” in schimb).

sitemapuri se referă numai la interfața pe care o veți vedea când deschideți aplicația mobilă sau web OpenHAB. Puteți controla exact modul în care doriți butoanele prezentate și informațiile prezentate. Puteți defini grupuri de nivel superior pentru fiecare cameră a casei dvs.; făcând clic pe fiecare ar arăta o listă a fiecărui dispozitiv din acea cameră. Sau puteți prefera să afișați grupuri pentru fiecare tip de dispozitiv: un buton pentru lumini, altul pentru prize electrice. S-ar putea să existe unele dispozitive pe care le folosiți atât de des încât doriți doar să le schimbați pe ecranul de start.

reguli este locul în care intră în joc aspectul automatizării acasă, unde puteți defini orarele sau condițiile pentru ca o acțiune să se întâmple. Evenimente simple cum ar fi întoarcerea luminilor dormitorului la ora 22:00 până la o culoare roșie caldă; sau o logică mai complexă, cum ar fi pornirea unui încălzitor dacă temperatura este mai mică de 0 și cineva este prezent în acea cameră. Veți găsi, de asemenea, a script-uri , care oferă funcționalități similare cu regulile, dar la un nivel mai complex de logică programabilă.

persistență este un subiect avansat pe care nu îl vom acoperi în acest ghid, dar persistența definește datele pe care doriți să le păstrați. În mod implicit, OpenHAB va arăta doar starea actuală a ceva; dacă doriți să urmăriți această valoare în timp, trebuie să configurați o definiție de persistență pentru acea sursă de date. În acest mod veți specifica lucruri precum frecvența măsurată a unui punct de date sau momentul în care ar trebui să eliminați punctele vechi de date - va trebui, de asemenea, să-i spuneți ce fel de motor de persistență să utilizați, cum ar fi MySQL sau logarea simplă într-un fișier.

Transforma conține mapări pentru valori de date pe etichete. De exemplu, humidex.scale fișierul definește o gamă de valori ale indicelui de umiditate și cum trebuie arătate în engleză: 29-38 “unele disconfort”.

sitemap și articole fișierele sunt esențiale pentru ca OpenHAB să ruleze; restul sunt opționale. Puteți avea mai multe sitemap-uri și elemente, astfel încât să puteți păstra conținutul demonstrativ și să vă puteți referi la el în orice moment sau să încercați un aspect nou pentru interfața de control de la domiciliu. Nu vă faceți griji dacă totul pare a fi un pic copleșitor acum, îl vom rupe în bucăți ușor de manevrat și vă promit că până la sfârșitul acestui ghid veți avea încredere în crearea propriei configurații OpenHAB.

În continuare, vă vom ajuta să vă adăugați un set comun de locuințe inteligente, pornind de la zero într-un nou sitemap. Fiecare dintre ele va introduce câteva concepte de bază, cum ar fi cum să instalați legături și definiții de articole, așadar vă recomand să vă citiți cu atenție aceste instrucțiuni chiar dacă nu dețineți aceste dispozitive.

Începeți prin a crea un nou (gol) home.items fișier și un nou home.sitemap în directoarele relevante. Deschide home.sitemap și lipiți-l în următorul cod. Acest lucru acționează doar ca un schelet de bază la care vom adăuga biți mai târziu.

sitemap home label = "Casa mea"  

Ar trebui să vedeți un anunț pentru a raporta că OpenHAB a identificat un nou fișier sitemap și elemente.

Activați modul Debug

În timp ce încă încercați să obțineți funcționarea corectă a OpenHAB, poate fi util să activați un jurnal de depanare mai detaliat care afișează totul, și nu doar lucrurile importante. Pentru a activa acest mod, deschideți folderul partajat OpenHAB Config și editați logback.xml. Pe linia 40, modificați următoarea linie pentru a citi DEBUG în loc de INFO. Va trebui să reporniți după ce ați schimbat acest lucru.

Aceasta este o schimbare globală, deci veți obține mult mai multe informații odată ce coafați fișierul jurnal.

Adăugând Philips Hue

Voi începe cu Philips Hue. Ca și cele mai multe lucruri pe care doriți să le interacționați în OpenHAB, becurile Huei vă cer să instalați a legare - gândiți-vă la legături ca la un driver de dispozitiv. La momentul scrisului, există aproximativ 160 de legături disponibile pentru OpenHAB 1, motiv pentru care OpenHAB este un sistem atât de puternic - poate interfața cu orice, combinând toate aceste sisteme de control disparate într-o singură interfață unificată. Iată o prezentare demo și o scurtă trecere în revistă a pașilor implicați.

Legăturile trebuie mai întâi să fie descărcate și cel mai simplu mod de a face acest lucru pe Pi este utilizarea apt-get, apoi forța de proprietate asupra utilizatorului openhab.

sudo apt-get instalare openhab-addon-obligatorie-hue sudo chown -hR openhab: openhab / usr / share / openhab

Apoi trebuie să îi spuneți OpenHAB să se încarce în legarea respectivă și să configureze orice variabile necesare. Navigați la dosarul configurații și faceți o copie a acestuia openhab-default.cfg, numind-o openhab.cfg. Deschide asta, căuta NUANŢĂ și înlocuiți întreaga secțiune cu următorul cod. Singurul lucru pe care trebuie să îl modificați este valoarea IP a podului dvs. - dacă nu îl cunoașteți deja, încercați instrumentul de descoperire online. Valoarea secretă nu contează, este doar un fel de nume de utilizator pe care OpenHAB îl va folosi pentru a se identifica cu podul.

Sfat rapid: pentru a activa o linie, trebuie doar să eliminați # de la început. În mod prestabilit, linia care specifică adresa IP a podului este dezactivată (sau tehnic, “comentat”). De asemenea, dacă încercați o configurație alternativă, poate fi utilă doar să copiați linia existentă și să puneți un # la început pentru al marca ca pe un comentariu, astfel încât să puteți reveni cu ușurință dacă lucrurile nu merg bine.

######################## HUE Binding ################ #########################
# IP de nuanță Hue: ip = 192.168.1.216 nuanță: secret = makeuseofdotcom nuanță: refresh = 10000

Salvează și ieși. Ca orice aplicație terță parte Hue, va trebui să aprobați OpenHAB pe Hue Bridge prin apăsarea butonului din față - trebuie doar să o faceți o singură dată. Veți vedea un mesaj despre așteptând să fie asociate dacă refuzați fișierul jurnal, dar dacă ați uitat sau ați pierdut numărătoarea în jos, trebuie doar să resetați Pi - veți primi un cronometru de 100 de secunde de la inițierea legării Hue. Asigurați-vă că ați împerecheat cu succes înainte de a continua.

Apoi, deschideți home.items dosar, la care vom adăuga niște bulbi Hue. Iată o definiție a elementului exemplu:

Culoare Bedroom_Hue "Hue dormitor"  (Dormitor) hue = "1"
  • Culoare cuvântul specifică ce fel de control avem asupra acestui element. Becurile RGB Hue sunt “Culoare”, deoarece avem un control complet al culorilor. Alte lumini ar putea fi doar un comutator.
  • Înainte este numele de cod al articolului: am ales Bedroom_Hue, dar literalmente orice este bine - doar ceva descriptiv care te simte natural, pentru că va trebui să-l amintești mai târziu când faci sitemap-ul. Codul nu trebuie să aibă spații.
  • Între citate este eticheta. Este simplu în acest caz, dar pentru unele elemente cum ar fi temperatura sau ceva care raportează o valoare, veți adăuga un anumit cod special care să-i spună cum să afișați acea valoare sau folosind ce transforma. Eticheta este pentru interfață și poate avea spații.
  • Între paranteze unghiulare este numele pictogramei. Veți găsi toate pictogramele disponibile în partajarea OpenHAB, sub webapps / imagini director. Există de fapt o gamă întreagă de pictograme de nuanță care reprezintă luminozități diferite sau pornire / oprire. Doar specificați numele pictogramei de bază - OpenHAB va ști să caute automat diferite pictograme pornit / oprit dacă acesta este un element comutat. Acest lucru este opțional.
  • În parantezele rotunde, îi spunem la care grupuri să fie parte - în acest caz, doar Dormitor grup.
  • În cele din urmă și în mod crucial, conectăm elementul la legarea corespunzătoare cu orice variabile necesare. În acest caz, nuanţă obligatoriu, iar numărul becului este 1. Puteți găsi numărul deschizând aplicația oficială Hue și uitați-vă la fila luminile. Fiecare bec are un număr unic.

Am adăugat un total de patru becuri, precum și o simplă declarație a grupurilor pe care o vom extinde mai târziu. Iată-mi complet home.items in acest punct:

Grupul grupului de dormitoare Grupul de birouri Grupul Kai Living_Room Group Cinema Group Secret
Lumini de grup
/ * Lumini * / Culoare Bedroom_Hue "Hue dormitor"  (Dormitor, Lumini) hue = "1" Culoare Office_Hue "Hue Office"  (Office, Lumini) hue = "2" Culoare Secret_Hue "Secret Hue"  (Secret, Lumini) hue = "3" Culoarea Kai_Hue "Hai-ul lui Kai"  (Kai, Lumini) hue = "4"

/* Lumini */ textul este doar un comentariu, nu are altă funcție decât să ne ajute să scanăm fișierul mai târziu când devine mai mare. Acum, avem dispozitivele adăugate, dar deschidem http: //raspberrypi.local: 8080 /? Sitemap = home rezultate într-o interfață goală - desigur, pentru că nu am creat încă elemente de interfață în sitemap-ul încă. Să începem cu adevărat simplu pentru moment. Deschide home.sitemap.

Codul folosit pentru a descrie interfața este diferit de elemente, dar pentru moment vom crea un nou “cadru” și adăugați câteva controale de grup împreună cu unele icoane.

sitemap home label = "Casa mea" Cadru Element grup = Lights label = "Toate lumini" icon = "hue" = "birou"

Grupurile reprezintă un instrument util pentru testarea rapidă, însă, în realitate, veți dori mai mult control asupra modului în care elementele sunt afișate. Deocamdată, acest lucru va fi suficient. Salvați și reîncărcați harta site-ului dvs. de acasă în browser. Ar trebui să vedeți acest lucru (sau, indiferent de grupurile pe care le-ați adăugat).

Click pe Toată iluminarea pentru a vedea fiecare lumină Hue, din moment ce le-am definit pe toți ca aparținând acelui grup de lumini de bază.

Observați că elementul Hue Office este afișat cu o altă pictogramă - asta pentru că lumina biroului meu este deja pornită și OpenHAB știe acest lucru când a vorbit cu podul Hue și a fost suficient de inteligent pentru a ajusta pictograma “pe” versiune a dosarului. Din păcate, nu reflectă culoarea, dar dacă aveți instalată aplicația mobilă, aceasta va reflecta culoarea actuală.

Dacă vedeți mai multe elemente decât credeți că ați definit sau ați primit erori cu privire la mai multe definiții, știți că, deși puteți încărca câte o singură pagină de sit în parte pe pagină toate sitemap-urile vor trage elemente din toate fișierele .item, așa că dacă ați lăsat fișierul cu articole demonstrative acolo, este posibil să aveți și câteva elemente suplimentare în grupurile dvs. Aș sugera, în acest moment, să salvez conținutul articolelor demo și să-l mut din folder, pentru a evita erorile de duplicare.

Accesul la distanță și IFTTT cu My.OpenHAB

În momentul de față, trebuie să fiți în aceeași rețea locală pentru a vă accesa sistemul OpenHAB, dar ce se întâmplă dacă doriți să controlați dispozitivele și să verificați senzorii atunci când nu vă aflați în afara rețelei Wi-Fi? Pentru aceasta, va trebui să configuram accesul la distanță - și o vom face ușor, cu ajutorul serviciului web My.OpenHAB, care ocolește nevoia de a vă mizeria prin configurațiile de port forwarding și router. Ca bonus, serviciul My.OpenHAB are, de asemenea, un canal IFTTT, oferindu-vă posibilități infinite de control la distanță și de automatizare.

Mai întâi: instalați legarea. Sfat rapid: dacă nu știți exact numele unui anumit pachet de instalare, încercați să îl căutați cu apt-cache.

sudo apt-get instalare openhab-addon-io-myopenhab sudo chowen -hR openhab: openhab / usr / share / openhab

Înainte de a vă putea înregistra pe site-ul My.OpenHAB, va trebui să creați o cheie secretă și să găsiți UUID, care vă identifică în mod unic instalarea. Verificați sub OpenHAB Acasă partajați -> webapps -> static și ar trebui să găsiți un fișier UUID care să conțină identificatorul dvs. unic. În acest moment mi-am descoperit că Pi folosea o versiune mai veche a Java care nu creează corect cheia secretă. Tip

java -versiune

a verifica. Dacă nu spune 1.7 sau mai mult, aveți o versiune greșită. În mod ciudat, cea mai recentă versiune de Raspbian vine cu Oracle Java 8 instalat, dar nu setat ca implicit.

sudo update-alternatives - config java

Alegeți opțiunea care indică jdk-8-oracle, apoi reporniți OpenHAB. Bonus: Oracle Java 8 este mai rapid decât OpenJDK-ul implicit!

Acum, ar trebui să găsiți și un fișier secret în webapps / static pliant. Deschideți ambele secret și UUID, și să fie gata să copiați pasta.

Acum du-te crea un cont My.OpenHAB, folosind aceste detalii, apoi reveniți - va trebui, de asemenea, pentru a confirma e-mail înainte de a merge orice. Mai sunt încă câțiva pași. În primul rând, trebuie să setăm motorul de persistență implicit la miopenhab (persistența este ceva pentru un ghid ulterior, dar indiferent, trebuie să stabilim ceva fundamental pentru a “export” datele noastre către serviciul online și făcând-o vizibilă pentru IFTTT). Pentru aceasta, deschideți openhab.cfg și găsiți variabila care spune persistenta: default = și schimbați-l persistenta: default = myopenhab. Salvați.

În cele din urmă, creați un nou fișier în Configurații / persistența director numit myopenhab.persist, și lipiți în regula următoare.

Strategii default = everyChange Elemente *: strategy = everyChange 

Nu aveți nevoie să înțelegeți acest lucru pentru moment, dar știți că se spune “salvați fiecare stare a articolului atunci când se schimbă”.

Pentru a vă conecta la IFTTT, mergeți direct pe canalul OpenHAB - va trebui să vă autentificați și să-l acordați acces la contul MyOpenHAB. De asemenea, rețineți că până când elementele dvs. s-au modificat cel puțin o dată, acestea nu vor fi vizibile în lista de articole din IFTTT, deci dacă nu este vizibilă, activați și dezactivați ceva, apoi reîncărcați. Felicitări, aveți acum acces IFTTT complet la tot ce aveți în sistemul dvs. OpenHAB!

Senzor de prezență Bluetooth utilizând REST

Cu puțin timp în urmă v-am arătat cum să faceți o blocare automată a ușilor de birou utilizând Bluetooth Face o ușă de birou cu auto-blocare cu senzor de proximitate Smartphone Faceți o ușă de birou cu senzor de proximitate Smart-Lock Adaptor Bluetooth pentru a fi în căutarea când telefonul dvs. smartphone este în afara razei de acțiune și prindeți un releu în acțiune pentru a bloca ușa. Citiți mai multe scanări pentru a detecta prezența utilizatorului - am vrut să aduc ceva de genul acesta în OpenHAB.

Pe orice altă platformă, în afară de Raspberry Pi, acest lucru ar fi simplu, datorită legăturii Bluetooth brute; din păcate, nu funcționează pe Pi din cauza unui fișier Java esențial care ar trebui să fie recompilat pentru arhitectura ARM, adăugat la legare, și apoi reconstrui legarea. Este suficient să spun că am încercat asta și a fost complicat și nu a funcționat. Cu toate acestea, există o soluție mult mai ușoară, care servește și ca o bună introducere în extensia deschisă a OpenHAB: pur și simplu vom adapta scriptul nostru anterior Python pentru a avea un raport direct la interfața OpenHAB RESTful.

În afară de aceasta: o interfață RESTful înseamnă că puteți interacționa cu un sistem care este construit în serverul web, pur și simplu apelând adresele URL și trecând sau preluând date. Puteți vizita această adresă URL pentru a vedea un exemplu simplu al acestui lucru pe propriul server: http: //raspberrypi.local: 8080 / rest / items - care emite o listă codificată a tuturor elementelor dvs. definite. Acest lucru este incredibil de puternic, deoarece expune întregul potențial al OpenHAB și vă permite să scrieți interfețe personalizate; sau în invers, pentru a raporta starea senzorilor fără a avea o legare specifică. Vom folosi această capacitate pentru a raporta prezența unui anumit dispozitiv Bluetooth fără a recurge la legarea Bluetooth.

Începeți prin adăugarea unui nou Intrerupator la articolul dvs. home.items fişier. Am sunat pe a mea “JamesInOffice”, și am făcut o schimbare mai degrabă decât o simplă conectare / deconectare, astfel încât să pot controla manual prezența mea în cazul în care telefonul meu moare.

Switch JamesInOffice "James în birou" (Office)

Observați că nu am definit o pictogramă sau am asociat o obligație specifică. Este doar un comutator generic.

Apoi, introduceți un dongle Bluetooth USB compatibil și instalați câteva instrumente de bază pentru a interacționa cu acesta.

sudo apt-get instalare bluez python-bluez python-pip sudo pip instalare cereri hcitool dev

Ultima comandă ar trebui să afișeze adaptorul Bluetooth. Dacă nu apare nimic, încercați un alt adaptor, al tău nu este compatibil cu Linux. Următorul pas este să găsiți adresa hardware Bluetooth a dispozitivului dvs..

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

Asigurați-vă că telefonul este deschis pe pagina cu setări Bluetooth (care o pune în mod de asociere / mod public) și evident că Bluetooth este activat. Ar trebui să găsiți o adresă hardware hexazecimală listată.

Din directorul de acasă al utilizatorului Pi, creați un nou script Python și lipiți-l în acest cod.
Există câteva lucruri pe care trebuie să le editați, începând cu adresa dispozitivului dvs.:

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

Pe lângă această linie, care se află în două locuri (da, aceasta ar putea fi mai bine structurată). Schimbați JamesInOffice la codul de cod al comutatorului pe care l-ați definit.

r = requests.put ("http: // localhost: 8080 / rest / items / JamesInOffice / state", date = sarcină utilă) 

Ultimul pas este să spui lansarea acestui script la momentul încărcării.

sudo nano /etc/rc.local

Derulați în jos până în partea de jos și chiar înainte de ieșirea 0, adăugați următoarele linii:

python /home/pi/detect.py &

Semnul & semnul înseamnă “faceți acest lucru în fundal”. Continuați și rulați scriptul, dacă nu ați făcut-o deja, și deschideți-vă interfața OpenHAB. Dacă l-ați adăugat la un grup, dați clic pe acel grup. Este nevoie de aproximativ 10 secunde pentru a fi actualizată, dar veți vedea pictograma bec incandescentă pornită sau oprită în funcție de dacă telefonul dvs. este detectat sau nu. Verificați fișierul jurnal dacă nu se întâmplă nimic, ar putea fi faptul că ați folosit numele elementului greșit.

OpenHAB Mobile App

Deși, desigur, puteți utiliza interfața web de pe un dispozitiv mobil, OpenHAB are aplicații native pentru iOS și Android - și arată mult mai frumoasă decât interfața browser implicită. În ecranul de setări, introduceți adresa URL locală ca adresă IP internă pe care ați utilizat-o până acum, inclusiv numărul portului. Pentru adresa URL la distanță, introduceți https://my.openhab.org, și numele de utilizator (adresa de e-mail) și parola pe care ați introdus-o când v-ați înscris. Dacă nu v-ați înscris încă pentru MyOpenHAB, lăsați nevalid adresa de autentificare și adresa URL la distanță, dar veți accesa sistemul dvs. numai de pe dispozitivul Wi-Fi local.

Mutarea înainte și obținerea de ajutor

Cantitatea de personalizare și caracteristici îngrijite pe care le puteți adăuga la controlerul dvs. OpenHAB este într-adevăr un fel de epic. Pe lângă vasta listă a dispozitivelor acceptate cu legături, puteți utiliza interfața RESTful, extensiile HTTP și IFTTT pentru a citi sau a controla literalmente orice fel de dispozitiv IoT, iar apoi unele (încercați câteva dintre ideile noastre de iluminat creativ 7 Utilizări creative pentru iluminatul colorat cu LED-uri de iluminat automatizat 7 Utilizări creative pentru LED-ul colorat Acasă Iluminarea automatizării Lumina luminoasă este lumină în mod automat, dar nu beneficiază de întregul spectru de culori disponibile cu iluminare RGB. . Citeste mai mult ). Da, este o durere absolută de instalat, dar nu un singur sistem comercial se poate apropia de puterea unui sistem OpenHAB personalizat.

Acestea fiind spuse, călătoria nu a fost deloc ușoară pentru mine, de aceea am scris acest ghid, pentru a ușura procesul pentru tine. Și dacă veți descoperi sistemul copleșit de OpenHAB, există și alte opțiuni atunci când vine vorba de automatizarea acasă a Raspberry - cum ar fi utilizarea Raspberry Pi pentru a vă automatiza ușa de garaj Cum să vă automatizați ușa de garaj cu IFTTT și zmeura Pi Cum să vă automatizați ușa garajului cu IFTTT și Raspberry Pi În acest tutorial, vă vom arăta cum să vă automatizați ușa de garaj folosind nimic mai mult decât o Raspberry Pi și IFTTT. Citiți mai multe, de exemplu.

Rămâi acordat lui MakeUseOf pentru un ghid avansat care acoperă Z-Wave și alte trucuri interesante pe care le puteți configura.

Dacă aveți nevoie de ajutor pentru o anumită parte a acestui ghid, vă rugăm să întrebați în comentarii. Dacă doriți ajutor cu alte teme legale sau avansate pe care nu le-am acoperit încă, forumurile oficiale OpenHAB sunt un loc primitor.

Explorați mai multe despre: Home Automation, Longform Guide, Smart Hubs.