Kom i gang med OpenHAB Home Automation på Raspberry Pi

OpenHAB er en moden, open source home automation platform, der kører på en bred vifte af hardware og er protokol agnostic, hvilket betyder, at den kan oprette forbindelse til næsten enhver hjemmeautomatisering hardware på markedet i dag.

OpenHAB er en moden, open source home automation platform, der kører på en bred vifte af hardware og er protokol agnostic, hvilket betyder, at den kan oprette forbindelse til næsten enhver hjemmeautomatisering hardware på markedet i dag.
Reklame

OpenHAB er en moden, open source home automation platform, der kører på en bred vifte af hardware og er protokol agnostic, hvilket betyder, at den kan oprette forbindelse til næsten enhver hjemmeautomatisering hardware på markedet i dag. Hvis du har været frustreret over antallet af producentspecifikke apps, skal du køre bare for at styre dine lys, så har jeg gode nyheder for dig: OpenHAB er den løsning, du har søgt efter - det er det mest fleksible smarte hjem hub Hvilken Smart Hub til Home Automation er bedst for dig? Hvilken Smart Hub til Home Automation er bedst for dig? I et øjeblik tænkte folk på ideen som intet andet end en gimmick, men nylige produktudgivelser har vist, at smart hjemmeautomatisering begynder at leve op til sine løfter. Læs mere, du nogensinde vil finde.

Denne vejledning er tilgængelig til download som en gratis PDF. Download Kom godt i gang med OpenHAB Home Automation på Raspberry Pi nu . Du er velkommen til at kopiere og dele dette med dine venner og familie.

Desværre handler det om, hvad du kan få fra forbrugervenlig - men som det er her, hvor MakeUseOf kommer ind: vi viser dig, hvordan du kommer op og kører med det ultimative smarte hjemsystem, penge behøver ikke købe (fordi OpenHAB er 100% fri - lever kun hardware).

Den første del af denne vejledning fokuserer specifikt på, hvordan man får OpenHAB setup med en Raspberry Pi 2, men videre kan vejledning og rådgivning anvendes overalt, hvor OpenHAB er installeret.

Denne vejledning dækker tre indledende emner, og en lidt mere avanceret.

  • At få OpenHAB op og køre på Pi, og at installere demohuskonfigurationen for at kontrollere kernesystemer virker.
  • Sådan tilføjes bindinger og profiler til enheder. Jeg arbejder sammen med Philips Hue.
  • Aktivering af fjernadgang og tilslutning til IFTTT.
  • Tilføje en DIY-tilstedeværelsessensor ved hjælp af Bluetooth, og en introduktion til REST-grænsefladen.
  • Konfiguration af OpenHAB mobilappen.

Hvad du skal bruge

I det mindste skal du have en Raspberry Pi (v2, helst) og en Ethernet eller trådløs adapter (Ethernet-foretrukket, denne vejledning indeholder ikke instruktioner om at gøre dit Wi-Fi-adapter arbejde. Opsætning af trådløst netværk på din hindbær Pi Opsætning af trådløst netværk på din Raspberry Pi Næsten hvert Raspberry Pi-projekt vil kræve en netværksforbindelse, og stor fleksibilitet kan opnås ved at ignorere Ethernet-porten til fordel for en trådløs USB-dongle. Læs mere). Alt andet er valgfrit. Bemærk, at OpenHAB også kører på den oprindelige Raspberry Pi, men der er et kendt problem med langsommere behandling og Z-Wave-enheder. Hvis du ikke har brug for Z-Wave, kan du sikkert ignorere denne advarsel og fortsætte med en Raspberry Pi model B eller B +, fordi alt andet synes at virke fint. Du kan altid opgradere til den nyeste Pi, hvis og når du tilføjer Z-Wave.

Photo of Raspberry Pi 2 being used as OpenHAB controller
Denne lille ting kan være den bedste smarte hjemhub, du nogensinde har haft!

På tidspunktet for skrivningen er den seneste stabile version af OpenHAB version 1.71; version 1.8 forventes snart, og alt i denne vejledning skal stadig være relevant, selvom visse bindinger kan have flere funktioner. Version 2 er også tilgængelig som en meget tidlig alfa preview, men vedtager en dramatisk anderledes arkitektur til OpenHAB 1 serien: denne vejledning er ikke kompatibel med version 2.

Jeg anbefaler stærkt, at du følger denne vejledning langsomt og metodisk - forsøg ikke at springe ind i den dybe ende og tilføje alt på én gang. Ja, det er en lang vejledning - OpenHAB er et vanskeligt system, som ofte kræver justering til dine behov, og den bedste måde at sikre succes på er at arbejde langsomt og færdiggøre et stykke ad gangen.

Den gode nyhed er, at når det virker, er det en rock solid oplevelse og utrolig givende.

Installation af OpenHAB

Der er ikke et forudkonfigureret billede til OpenHAB, så installationen gøres på gammeldags måde via en kommandolinje. Jeg foreslår at du arbejder headless på RPi - overhead for at administrere en GUI, som du sjældent bruger, ikke er det værd.

Start med det nyeste (fulde) Raspbian SD-billede (ikke "lite" -versionen, disse omfatter ikke Java Virtual Machine). Få dit netværkskabel tilsluttet, start derefter op og navigere gennem SSH. Løb:

sudo raspi-config 

Udvid filsystemet; og fra den avancerede menu skifter du hukommelsen til 16. Når du er færdig, skal du genstarte og som en god praksis køre en fuld opdatering

 sudo apt-get update sudo apt-get upgrade 

Den nemmere måde at installere OpenHAB runtime på er via apt-get, men først skal vi tilføje en sikker nøgle og det nye lager:

 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 

Mærkeligt blev alt installeret som ejet af "root". Vi skal rette det med følgende kommandoer.

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

Derefter installerer vi Samba og deler konfigurations- og brugermapper - det gør det nemmere at installere tilføjelser og ændre sitemap eksternt.

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

Skift arbejdsgruppens navn, hvis det er nødvendigt, men aktiver ellers WINS-support:

 wins support = yes 

(du skal downloade linjen og ændre nej til ja)

Tilføj derefter følgende i afsnittet Deldefinitioner (rul hele vejen ned til bunden af ​​den lange fil):

 [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 

Jeg har også kommenteret afsnittet Printere. Jeg har lavet to aktier, da konfigurationsfilerne faktisk gemmes separat til tilføjelsesprogrammerne.

Gem og luk. Vi skal endelig indstille et Samba kodeord til openhab-brugeren:

 sudo smbpasswd -a openhab 

Jeg vil foreslå "openhab" som adgangskode for nem brug, men det gør ikke noget meget.

Takket være læseren David L - ser det ud til, at metoden til genstart af Samba er ændret i den seneste Raspian. Her er de opdaterede instruktioner:

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

Efter genstart af Samba (ældre installationer bruger sudo service samba genstart ), test du kan få adgang til det delte drev. Det kan ikke blive automatisk opdaget på en Mac; men du kan bruge Finder -> -> Opret forbindelse til server og adresse

 smb://[email protected] 

Godkend med brugernavn openhab og dit valgte kodeord, og åbn begge dele for at kigge rundt. Du skal endda kunne åbne http: //raspberrypi.local: 8080 / i din webbrowser, men du vil blive mødt med en fejl, fordi vi endnu ikke har oprettet et sitemap. Det er normalt.

error on first launch openhab

Nu ville det være en god tid at lære kommandoen at hale OpenHAB loggen, så du kan holde øje med fejl.

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

Hold det løbende og åbent i et separat SSH-vindue, mens du fortsætter med guiden.

Installer Demo House

Før vi dykker ind i intricacies af konfigurationsfiler, tilføjer enheder og bindinger mv. lad os kontrollere alt, hvad der virker ved at tilføje demoindholdet. Du finder "Demo Setup" under downloads-sektionen på OpenHAB.org.

Når du har pakket det ud, er der to mapper: addons og konfigurationer .

openhab demo indhold

Brug netværksaktierne til at kopiere konfigurationer til OpenHAB Config og overskrive den eksisterende mappe. Kopier tilføjelser til den anden OpenHAB Home share, igen, overskrive de eksisterende mapper. Hvis du ikke bliver bedt om at overskrive noget, gør du det forkert. Hvis du har øje på debug logfilen, skal du se en fladder af aktivitet, da den bemærker de nye bindinger og hvirvler til handling. Åbn raspberrypi.local: 8080 / openhab.app? Sitemap = demo for at se demoen.

OpenHAB demo house web interface screenshot

Det er lidt grundlæggende i øjeblikket, men OpenHABs åbne natur betyder, at vi kan installere et dejligt nyt tema senere eller en alternativ grænseflade helt. For nu har vi lige brug for at vide, at det hele fungerer. Bemærk, at det vi kigger på hedder et sitemap (intet at gøre med et webstedssidekort). Et sitemap beskriver brugergrænsefladen - ikke de faktiske enheder på dit netværk eller sensorer - bare grænsefladen for at se dem. Hver del af det er helt tilpasses. For at se, hvordan denne er blevet oprettet, skal du åbne sitemaps / demo.sitemap- filen på OpenHAB Config-aktien.

sitemap demo eksempel fil

Det er ret skræmmende, men for det meste vil du kopiere indsæt kodefragmenter fra eksempler andre steder for at oprette din egen brugerdefinerede grænseflade. Her er det tekniske overblik over alle mulige sitemapelementer, men i øjeblikket er det tilstrækkeligt, bare for at begynde at tænke på, hvilken slags grænseflade du vil opbygge, og hvilke oplysninger du vil vise.

Mens du er derinde, skal du også åbne elementer / demo.items . Igen ser det skræmmende ud, men her skaber du elementer til at styre og definere sensorer til at spore.

Så hvordan virker OpenHAB?

Nu hvor du har fået en hurtig gennemgang af mappen sitemap og emner, lad os nedbryde præcis, hvad disse filer er og de øvrige hovedkomponenter i OpenHAB, der kombinerer for at oprette dit komplette smarte hjem. Du finder undermapper for hver af disse i OpenHAB Config-delt mappe.

Elementer er en oversigt over hver kontrolenhed, sensor eller informationselement, du vil have i dit system. Det behøver heller ikke være en fysisk enhed - du kan definere en webkilde som f.eks. Vejr eller aktiekurser. Hvert element kan navngives, tildeles flere grupper (eller ingen) og er forbundet med specifik binding. (Begynder tip: Kapitalisering er vigtig, når det gælder bindinger. Jeg har lang tid forsøgt at finde ud af, hvorfor mine "Hue" pærer ikke fungerede, det var fordi de burde have været "nuance" i stedet).

Sitemaps vedrører kun den grænseflade, du vil se, når du åbner OpenHAB mobil eller webapp. Du kan nøjagtigt styre, hvordan du vil have de viste knapper og oplysninger præsenteret. Du kunne definere topniveau grupper for hvert værelse i dit hus; ved at klikke på hver vil du vise en liste over alle enheder i det rum. Eller du foretrækker måske at vise grupper for hver type enhed: en knap til lys, en anden til stikkontakter. Der kan være nogle enheder, du bruger så ofte, at du bare vil have en skifte til dem lige på startskærmen.

Regler er, hvor hjemmeautomatiseringsaspektet kommer i spil, hvor du kan definere tidsplaner eller betingelser for en handling der skal ske. Enkle begivenheder som at tænde soveværelset lyser klokken 22.00 til en varm rød farve; eller mere kompleks logik som at tænde en rumvarmer, hvis temperaturen er mindre end 0, og der er nogen der er til stede i det rum. Du finder også en scripts- mappe, som giver lignende funktionalitet til regler, men på et mere komplekst niveau af programmerbar logik.

Persistens er et avanceret emne, som vi ikke vil dække i denne vejledning, men vedholdenhed definerer data, som du vil registrere. Som standard vil OpenHAB kun vise den aktuelle tilstand af noget; hvis du vil spore den værdi over tid, skal du opsætte en persistensdefinition for den pågældende datakilde. Her specificerer du ting som hvor ofte et datapunkt skal måles, eller hvornår man skal kassere gamle datapunkter. Du skal også fortælle om, hvilken type persistensmotor der skal bruges, f.eks. MySQL eller simpel logning på en fil .

Transform indeholder mapper for dataværdier til etiketter. F.eks. Definerer humidex.scale- filen en række fugtighedsindeksværdier, og hvordan de skal vises på engelsk: 29-38 er "noget ubehag".

Sitemap og elementer filer er afgørende for OpenHAB at køre; resten er valgfri. Du kan have flere sitemaps og emner, så du kan holde demoindholdet og henvise til det til enhver tid, eller prøve et nyt layout til din hjemmekontrol grænseflade. Bare rolig, hvis det hele virker lidt overvældende lige nu, bringer vi det ned i håndterbare stykker, og jeg lover i slutningen af ​​denne vejledning, at du får tillid til at oprette din egen OpenHAB-opsætning.

Derefter vil vi gå igennem ved at tilføje nogle almindelige smarte hjemmesæt, der starter fra bunden i et nyt sitemap. Hver enkelt vil introducere nogle kernekoncepter, såsom hvordan man installerer bindinger og elementdefinitioner, så jeg vil kraftigt opfordre dig til at læse disse instruktioner, selvom du ikke ejer disse bestemte enheder .

Start med at oprette en ny (tom) home.items- fil og en ny home.sitemap- fil i de relevante mapper. Åbn home.sitemap og indsæt i den følgende kode. Dette virker bare som et grundlæggende skelet, som vi senere vil tilføje bits til.

 sitemap home label="My Home" { } 

Du skal se en meddelelse om at rapportere, at OpenHAB har identificeret et nyt sitemap- og emnefil.

openhab nyt sitemap og emner

Aktivér fejlfindingstilstand

Mens du stadig forsøger at få OpenHAB til at fungere korrekt, kan det være nyttigt at aktivere en mere omfattende fejlfindingslog, der viser alt, og ikke kun de vigtige ting. For at aktivere denne tilstand skal du åbne OpenHAB Config-delt mappe og redigere logback.xml . På linje 40 skal du ændre følgende linje for at læse DEBUG i stedet for INFO. Du skal genstarte efter ændring af dette.

Dette er en global ændring, så du får meget mere information, når du har halen logfilen.

Tilføjelse af Philips Hue

Jeg skal begynde med Philips Hue Philips Hue Starter Kit Review og Giveaway Philips Hue Starter Kit Review og Giveaway Markedet er oversvømmet af pærer med wifi, alle med deres egen dumme mobil app, som du har brug for at kede med for at tænde dem . Er farven anderledes? Vi finder ud af. Læs mere . Som de fleste ting, du vil interagere med i OpenHAB, kræver Hue pærer dig at installere en binding - tænk på bindinger som en enhedsdriver. På tidspunktet for skrivningen er der omkring 160 bindinger til rådighed for OpenHAB 1, hvorfor OpenHAB er et så kraftfuldt system - det kan interface med noget, der kombinerer alle de forskellige styresystemer i en enkelt samlet grænseflade. Her er en demo og et hurtigt overblik over de involverede trin.

Bindinger skal først downloades, og den nemmeste måde at gøre dette på Pi bruger apt-get, og tvinge ejerskab til openhab-brugeren.

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

Derefter skal du fortælle OpenHAB at indlæse bindingen og konfigurere eventuelle variable. Gennemse til konfigurationsmappen og lav en kopi af openhab-default.cfg, navngiv det openhab.cfg . Åbn det, søg efter HUE og erstat hele sektionen med følgende kode. Det eneste, du skal ændre, er din bros IP-værdi. Hvis du ikke allerede ved det, kan du prøve online-opdagelsesværktøjet. Den hemmelige værdi betyder ikke noget, det er bare et slags brugernavn, som OpenHAB vil bruge til at identificere sig til broen.

Hurtig tip : For at aktivere en linje, skal du blot fjerne # fra starten. Som standard er linjen, der angiver broens IP-adresse, deaktiveret (eller teknisk set "kommenteret"). Hvis du prøver en alternativ konfiguration, kan det også være nyttigt at bare kopiere den eksisterende linje og sætte en # i starten for at markere den som en kommentar, så du kan nemt vende tilbage, hvis tingene går galt.

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

openhab binding config

Gem og luk. Ligesom enhver Hue-applikation fra tredjepart skal du godkende OpenHAB på Hue Bridge ved at trykke på knappen på forsiden - du behøver kun at gøre dette en gang. Du får vist en besked om at vente på at blive parret, hvis du taler logfilen, men hvis du har glemt eller savnet tællingen, skal du bare nulstille Pi - du får 100 sekunders timer fra, når Tone bindingen er initieret. Sørg for, at du har parret, før du fortsætter.

Derefter åbner du home.items filen, som vi vil tilføje nogle Hue pærer. Her er et eksempel element definition:

 Color Bedroom_Hue "Bedroom Hue" (Bedroom) {hue="1"} 
  • Farveordet angiver, hvilken slags kontrol vi har over dette element. RGB Hue pærer er "Color", da vi har fuld farve kontrol af dem. Andre lys kan bare være en Switch.
  • Næste er kodenavnet for emnet: Jeg valgte Bedroom_Hue, men bogstaveligt talt er alt godt - bare noget beskrivende, der føles naturligt for dig, fordi du bliver nødt til at huske det senere, når du laver sitemap. Kodenavnet skal ikke have nogen mellemrum.
  • Mellem citatmærket er mærket. Vores er enkel i dette tilfælde, men for nogle ting som temperatur eller noget der rapporterer en værdi, vil du tilføje nogle specielle kodeord, der fortæller det, hvordan du viser den værdi eller bruger hvilken transformation. Mærket er til grænsefladen, og det kan have mellemrum.
  • Mellem vinkelbeslagene er ikonets navn. Du finder alle tilgængelige ikoner i OpenHAB-delen, under webapps / images- biblioteket. Der er faktisk en hel række farvetoner, der repræsenterer forskellige lysstyrker eller til / fra. Angiv blot baseikonnavnet - OpenHAB vil vide, at du automatisk kigger efter de forskellige on / off-ikoner, hvis dette er et skiftet element. Dette er valgfrit.
  • I de runde parentes fortæller vi det, hvilke grupper der skal være en del af - i dette tilfælde kun soveværelsesgruppen .
  • Endelig forbinder vi varen med den nødvendige binding med eventuelle nødvendige variabler. I dette tilfælde er nuance bindingen og nummeret på pæren 1. Du kan finde nummeret ved at åbne den officielle Hue applikation og se på lyset fanen. Hver pære har et unikt nummer.

Jeg har tilføjet i alt fire løg, samt en simpel erklæring fra de grupper, som vi vil udvide senere. Her er mit komplette home.items på dette tidspunkt:

 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"} 

/ * Lights * / Text er bare en kommentar, det har ingen anden funktion end at hjælpe os med at scanne filen senere, når den bliver større. Nu har vi tilføjet enhederne, men åbner http: //raspberrypi.local: 8080 /? Sitemap = home resulterer i en tom grænseflade - selvfølgelig, fordi vi ikke har lavet grænsefladeelementer i sitemap endnu. Lad os begynde virkelig simpelt for nu. Åben op home.sitemap .

Koden, der bruges til at beskrive grænsefladen, er forskellig fra elementer, men for nu vil vi oprette en ny "ramme" og tilføje et par gruppekontrol sammen med nogle ikoner.

 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" } } 

Grupper er et nyttigt værktøj til hurtig testning, men i virkeligheden vil du have mere kontrol over, hvordan varerne vises. For nu vil det være tilstrækkeligt. Gem og genindlæs dit sitemap i browseren. Du bør se dette (eller, uanset hvilke grupper du har tilføjet).

openhab første sitemap

Klik på All belysning for at se alle Hue-lys, da vi har defineret dem alle som tilhørende den overordnede lysgruppe.

openhab lights group Hue demo

Bemærk, at Office Hue-elementet vises med et andet ikon - det skyldes, at mit kontorlys allerede er på, og OpenHAB ved det, når det talte til Hue-broen og var klog nok til at justere ikonet "on" -versionen af ​​filen. Desværre afspejler det ikke farven, men hvis du har en mobilapp installeret, afspejler den den aktuelle farve.

Hvis du ser flere ting, end du troede, du havde defineret eller modtaget fejl om flere definitioner, ved du, at selv om du kun kan indlæse et sitemap ad gangen på siden, vil alle sitemaps trække elementer fra alle .item-filer, så hvis du har forladt demo-elementer filen der, du kan få nogle yderligere elementer dukker op i dine grupper også. Jeg foreslår på dette tidspunkt at sikkerhedskopiere demo-indholdet og flytte det ud af mappen for at undgå duplikeringsfejl.

Fjernadgang, og IFTTT med My.OpenHAB

Lige nu skal du være på samme lokale netværk for at få adgang til dit OpenHAB-system, men hvad hvis du vil styre dine enheder og kontrollere sensorer, når du ikke er i Wi-Fi? For det bliver vi nødt til at oprette fjernadgang - og det gør vi på den nemme måde, med My.OpenHAB webtjenesten, der omgår behovet for at røre rundt med port videresendelse og router konfigurationer. Som en bonus har My.OpenHAB-tjenesten også en IFTTT-kanal, der giver uendelige muligheder for fjernbetjening og automatisering.

Først: installer bindingen. Hurtigtips: Hvis du ikke kender det eksakte navn på en bestemt installationspakke, skal du prøve at søge efter den med apt-cache.

apt-cache søgning

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

Inden du kan tilmelde dig på My.OpenHAB-webstedet, skal du oprette en hemmelig nøgle og finde din UUID, som unikt identificerer din installation. Kontroller under OpenHAB Home share -> webapps -> static, og du skal finde en UUID-fil, der indeholder din unikke identifikator. Det er på dette tidspunkt, at jeg opdagede min Pi brugte en ældre version af Java, der ikke korrekt opretter den hemmelige nøgle. Type

 java -version 

at tjekke. Hvis den ikke siger 1.7 eller højere, har du den forkerte version. Det er mærkeligt, at den nyeste version af Raspbian kommer med Oracle Java 8 installeret, men ikke angivet som standard.

 sudo opdateringsalternativer --config java 

opdater java-versionen

Vælg den indstilling, der angiver jdk-8-oracle, og genstart derefter OpenHAB. Bonus: Oracle Java 8 er hurtigere end standard OpenJDK!

Nu skal du også finde en hemmelig fil i webapps / statisk mappe. Åbn både hemmeligheden og uuidet, og vær klar til at kopiere pasta.

uuid og hemmelighed

Nu skal du oprette en My.OpenHAB-konto, ved hjælp af disse detaljer, så kom tilbage - du skal også bekræfte din email, før noget fungerer. Der er et par flere skridt til denne. For det første er vi nødt til at indstille standard persistensmotor til myopenhab (vedholdenhed er noget til en senere vejledning, men uanset skal vi oprette noget grundlæggende for at "eksportere" vores data til onlinetjenesten og gøre den synlig for IFTTT) . For at gøre dette skal du åbne openhab.cfg og finde den variabel, der siger persistens: default = og ændre den til persistens: default = myopenhab . Gemme.

Endelig skal du oprette en ny fil i konfigurations / persistensmappen kaldet myopenhab.persist, og indsæt i den følgende regel.

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

Du behøver ikke at forstå dette for nu, men ved at det står "gemme alle ting, når det ændres".

Mine openhab elementer

For at forbinde med IFTTT skal du gå over til OpenHAB-kanalen - du skal godkende og give den adgang til din MyOpenHAB-konto. Bemærk også, at indtil dine varer er ændret mindst én gang, vil de ikke blive synlige i listen over varer på IFTTT, så hvis det ikke er synligt, skift noget til og fra, og genindlæs derefter. Tillykke med, at du nu har komplet IFTTT adgang til alt i dit OpenHAB system!

openhab ifttt kanal

Bluetooth-tilstedeværelsessensor ved hjælp af REST

For kort tid siden viste jeg dig, hvordan du laver et automatisk kontor dørlås ved hjælp af Bluetooth Lav en automatisk låsende kontordør med Smartphone Proximity Sensor Lav en automatisk låsende kontordør med Smartphone Proximity Sensor Vi opretter en Raspberry Pi med en Bluetooth adapter til at være på udkig efter, når din smartphone er uden for rækkevidde, og snap et relæ til handling for at låse døren. Læs Mere scanning for at registrere brugerens tilstedeværelse - Jeg ønskede at bringe sådan noget i OpenHAB.

På enhver anden platform end Raspberry Pi ville det være enkelt takket være en færdig Bluetooth-binding; Desværre virker det ikke på Pi på grund af en afgørende Java-fil, der skal genopbygges til ARM-arkitekturen, tilføjes bindingen og derefter genopbygge bindingen. Tilstrækkelig at sige, jeg forsøgte det, og det var forfærdeligt kompliceret og fungerede ikke. Der er dog en meget nemmere løsning, der også tjener som en god introduktion til OpenHABs udvidelse. Vi tilpasser vores tidligere Python-script til at rapportere direkte til OpenHAB RESTful-grænsefladen.

Bortset: en RESTful grænseflade betyder, at du kan interagere med et system ved hjælp af det er bygget i webserver, simpelthen ved at kalde webadresser og sende ind eller hente data. Du kan besøge denne webadresse for at se et simpelt eksempel på dette på din egen server: http: //raspberrypi.local: 8080 / rest / items - som udsender en kodet liste over alle dine definerede elementer. Dette er utrolig kraftfuldt, da det afslører OpenHABs fulde potentiale og giver dig mulighed for at skrive brugerdefinerede grænseflader; eller i brugt omvendt, at rapportere status for sensorer uden at have en specifik binding. Vi bruger denne mulighed for at rapportere tilstedeværelsen af ​​en bestemt Bluetooth-enhed uden at ty til Bluetooth-bindingen.

Start med at tilføje et nyt Switch- element til din home.items- fil. Jeg har kaldt min "JamesInOffice", og jeg har lavet den en switch i stedet for en simpel tænd / sluk-kontakt, så jeg kan manuelt styre min tilstedeværelse, hvis min telefon dør.

 Switch JamesInOffice "James in Office" (Office) 

Bemærk, at jeg ikke har defineret et ikon eller tilknyttet en bestemt binding. Det er bare en generisk switch.

Indsæt derefter en kompatibel USB Bluetooth dongle, og installer nogle grundlæggende værktøjer til at interagere med det.

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

Den sidste kommando skal vise din Bluetooth-adapter. Hvis intet er angivet, prøv en anden adapter, din er ikke kompatibel med Linux. Det næste skridt er at finde enhedens Bluetooth hardware adresse.

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

Sørg for, at din telefon er åben på siden Bluetooth-indstillinger (som sætter den i parring / offentlig tilstand), og selvfølgelig er Bluetooth aktiveret. Du bør finde en hexadecimal hardwareadresse angivet.

bluetooth identificeret

Opret et nyt Python-script fra din Pi-brugerens hjemmekatalog, og indsæt i denne kode.
Der er et par ting, du skal redigere, begyndende med din bestemte enhedsadresse:

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

Samt denne linje, der er på to steder (ja, det kunne nok være struktureret bedre). Skift JamesInOffice til kodenavnet på den switch du definerede.

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

Det sidste trin er at fortælle dette script at starte ved opstartstid.

 sudo nano /etc/rc.local 

Rul ned til bunden og lige før exit 0, tilføj følgende linjer:

 python /home/pi/detect.py & 

& Tegn betyder "gør dette i baggrunden". Gå videre og kør scriptet, hvis du ikke allerede har det, og åbn din OpenHAB-grænseflade. Hvis du har tilføjet det til en gruppe, skal du klikke igennem til den pågældende gruppe. Det tager cirka 10 sekunder at opdatere, men du vil se standard lightbulb-ikonet tænde eller slukke afhængigt af om din telefon er registreret eller ej. Kontroller logfilen, hvis der ikke sker noget, det kan være, at du har brugt det forkerte varenavn.

OpenHAB Mobile App

Selvom du selvfølgelig kan bruge webgrænsefladen fra en mobil enhed, har OpenHAB indbyggede apps til både iOS og Android - og de ser meget pænere ud end standardwebbrowseren. Indtast den lokale webadresse på indstillingsskærmen som den interne IP, du har brugt indtil nu, herunder portnummeret. For ekstern webadresse skal du indtaste https://my.openhab.org og dit brugernavn (email) og adgangskode, du indtastede, da du tilmeldte dig. Hvis du endnu ikke har tilmeldt MyOpenHAB, skal du bare forlade autentificering og fjernwebadresse, men du får kun adgang til dit system fra din lokale Wi-Fi.

openhab-mobil

Flyt frem og få hjælp

Mængden af ​​tilpasning og pæne funktioner du kan føje til din OpenHAB controller er virkelig venlig episk. Ud over den store liste over understøttede enheder med bindinger kan du bruge RESTful-grænsefladen, HTTP-udvidelser og IFTTT til at læse fra eller kontrollere bogstavelig talt nogen form for IoT-enhed og derefter nogle (prøv nogle af vores kreative belysningsideer 7 Creative Uses til Farvet LED Home Automation Lighting 7 Creative Anvendelser til Farvet LED Home Automation Lighting Det er helt sikkert coolt at tænde dine lys, men det udnytter ikke det fulde spektrum af farver, der er tilgængelige med RGB belysning. Dermed skal vi være kreative . Læs mere ). Ja, det er en absolut smerte at installere, men ikke et enkelt kommercielt system kan komme tæt på kraften i et tilpasset OpenHAB-system.

Når det er sagt, var turen slet ikke let for mig, hvilket er netop derfor, jeg skrev denne vejledning for at lette processen for dig. Bliv afstemt med MakeUseOf for en avanceret guide, der dækker Z-Wave og andre cool tricks, du kan oprette.

Hvis du har brug for hjælp til en bestemt del af denne vejledning, så spørg væk i kommentarerne. Hvis du ønsker hjælp til en anden bindende eller nogle avancerede emner, vi ikke har dækket endnu, er de officielle OpenHAB-fora et indbydende sted.

In this article