Komme i gang med OpenHAB Home Automation på Raspberry Pi

OpenHAB er en moden, åpen kildekode-hjemmeautomatiseringsplattform som kjører på en rekke maskinvare og er protokollabnostisk, noe som betyr at den kan koble til nesten hvilken som helst hjemmevirksomhets maskinvare på markedet i dag.

OpenHAB er en moden, åpen kildekode-hjemmeautomatiseringsplattform som kjører på en rekke maskinvare og er protokollabnostisk, noe som betyr at den kan koble til nesten hvilken som helst hjemmevirksomhets maskinvare på markedet i dag.
Annonse

OpenHAB er en moden, åpen kildekode-hjemmeautomatiseringsplattform som kjører på en rekke maskinvare og er protokollabnostisk, noe som betyr at den kan koble til nesten hvilken som helst hjemmevirksomhets maskinvare på markedet i dag. Hvis du har blitt frustrert med antall produsent-spesifikke apper du trenger å kjøre bare for å kontrollere lysene dine, så har jeg gode nyheter for deg: OpenHAB er løsningen du leter etter - det er det mest fleksible smarte hjemmet hub Hvilken Smart Hub for Home Automation er best for deg? Hvilken Smart Hub for Home Automation er best for deg? For en stund tenkte folk på ideen som ingenting annet enn en gimmick, men nylige produktutgivelser har vist at smart hjemmeautomatisering begynner å leve opp til sine løfter. Les mer du vil finne.

Denne veiledningen er tilgjengelig for nedlasting som en gratis PDF. Last ned Komme i gang med OpenHAB Home Automation på Raspberry Pi nå . Du er velkommen til å kopiere og dele dette med venner og familie.

Dessverre handler det om så langt du kan få fra forbruksvennlig - men som alltid, det er der MakeUseOf kommer inn: vi skal vise deg hvordan du går opp og går med det ultimate smarte hjemmet pengene trenger ikke å kjøpe (fordi OpenHAB er 100% gratis - bare leverer maskinvaren).

Den første delen av denne veiledningen fokuserer spesielt på hvordan du får OpenHAB-oppsett med en Raspberry Pi 2, men videre kan veiledningene og rådene brukes til hvor som helst OpenHAB er installert.

Denne veiledningen dekker tre innledende emner, og en litt mer avansert.

  • Å få OpenHAB opp og kjører på Pi, og å installere demohuskonfigurasjonen for å sjekke kjernesystemer, virker.
  • Hvordan legge til bindinger og profiler for enheter. Jeg jobber med Philips Hue.
  • Aktiverer ekstern tilgang og tilkobling til IFTTT.
  • Legge til en DIY-nærværsensor ved hjelp av Bluetooth, og en introduksjon til REST-grensesnittet.
  • Konfigurere OpenHAB mobilappen.

Hva du trenger

I det minste trenger du en Raspberry Pi (v2, helst), og en Ethernet eller trådløs adapter (Ethernet-foretrukket, denne veiledningen inneholder ikke instruksjoner om hvordan du gjør Wi-Fi-adapter-arbeidet. Sette opp trådløst nettverk på din hindbær Pi Sette opp trådløst nettverk på din Raspberry Pi Nesten hvert Hindbær Pi-prosjekt vil kreve en nettverkstilkobling, og stor fleksibilitet kan oppnås ved å ignorere Ethernet-porten til fordel for en trådløs USB-dongle. Les mer). Alt annet er valgfritt. Legg merke til at OpenHAB vil kjøre på den opprinnelige Raspberry Pi, men det er et kjent problem med langsommere prosessering og Z-Wave-enheter. Hvis du ikke har behov for Z-Wave, kan du sikkert ignorere denne advarselen og fortsette med en Raspberry Pi-modell B eller B +, fordi alt annet ser ut til å fungere bra. Du kan alltid oppgradere til den siste Pi hvis og når du legger til Z-Wave.

Photo of Raspberry Pi 2 being used as OpenHAB controller
Denne lille tingen kan være det beste smarte hjemmet du noensinne har hatt!

I skrivende stund er den nyeste stabile versjonen av OpenHAB versjon 1.71; versjon 1.8 forventes snart, og alt i denne veiledningen bør fortsatt være relevant, selv om visse bindinger kan ha flere funksjoner. Versjon 2 er også tilgjengelig for øyeblikket som en svært tidlig alfaforhåndsvisning, men adopterer en dramatisk annerledes arkitektur til OpenHAB 1-serien: denne guiden er ikke kompatibel med versjon 2.

Jeg anbefaler sterkt at du følger denne veiledningen langsomt og metodisk - ikke forsøk å hoppe inn i den dype enden og legge til alt samtidig. Ja, det er en lang guide. OpenHAB er et vanskelig system som ofte krever tweaking for dine behov, og den beste måten å sikre suksess på er å jobbe sakte og fullføre ett stykke av gangen.

Den gode nyheten er at når det virker, er det en solid erfaring og utrolig givende.

Installere OpenHAB

Det er ikke forhåndskonfigurert bilde for OpenHAB, så installasjonen gjøres på gammeldags måte via en kommandolinje. Jeg foreslår at du jobber headless på RPi - overhead for å administrere en GUI som du sjelden vil bruke, er ikke verdt det.

Start med det nyeste (fullstendige) Raspbian SD-bildet (ikke "lite" -versjonen, disse inkluderer ikke Java Virtual Machine). Få nettverkskabelen din tilkoblet, start opp og navigere gjennom SSH. Løpe:

sudo raspi-config 

Utvid filsystemet; og fra den avanserte menyen, skift minnesplassen til 16. Når du er ferdig, start på nytt og, som god praksis, kjøre en full oppdatering

 sudo apt-get update sudo apt-get upgrade 

Den enklere måten å installere OpenHAB-kjøretiden er via apt-get, men først må vi legge til en sikker nøkkel og det nye lagringsstedet:

 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 

Merkelig, alt ble installert som eid av "root". Vi må fikse det med følgende kommandoer.

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

Deretter installerer vi Samba og deler konfigurasjons- og brukermapper - dette vil gjøre det enklere å installere tilleggsprogrammer og endre sidekartet eksternt.

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

Endre arbeidsgruppens navn om nødvendig, men aktiver ellers WINS-støtte:

 wins support = yes 

(du må uncomment linjen, og endre nei til ja)

Legg deretter til følgende i delen Definisjoner (bla helt ned til bunnen av den lange filen):

 [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å kommentert avsnittet Skrivere. Jeg har laget to aksjer, siden konfigurasjonsfilene faktisk lagres separat til tilleggene.

Lagre og lukk. Vi må endelig sette et Samba-passord for openhab-brukeren:

 sudo smbpasswd -a openhab 

Jeg vil foreslå "openhab" som passord bare for brukervennlighet, men det spiller ingen rolle.

Takk til leseren David L - det ser ut til at metoden for å starte om igjen Samba har endret seg i den siste Raspian. Her er de oppdaterte instruksjonene:

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

Etter at du har startet Samba (eldre installasjoner, bruk sudo service samba restart ), kan du prøve å få tilgang til den delte stasjonen. Det kan ikke bli automatisk oppdaget på en Mac; men du kan bruke Finder -> -> Koble til Server og adressen

 smb://[email protected] 

Godkjen med brukernavnet openhab og ditt valgte passord, og åpne begge delene dine for å se deg om. Du bør til og med kunne åpne http: //raspberrypi.local: 8080 / i nettleseren din, men du vil bli møtt av en feil fordi vi ikke har opprettet et nettstedkart ennå. Det er normalt.

error on first launch openhab

Nå vil det være en god tid å lære kommandoen å hale OpenHAB-loggen, slik at du kan holde øye med feil.

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

Hold det løpende og åpne i et separat SSH-vindu hele tiden mens du fortsetter med guiden.

Installer Demo House

Før vi dykker inn i intricacies av konfigurasjonsfiler, legger til enheter og bindinger etc; la oss sjekke alt som fungerer ved å legge til demoinnholdet. Du finner "Demo Setup" under nedlastingsdelen av OpenHAB.org.

Når du har pakket det ut, er det to mapper: addons og konfigurasjoner .

openhab demo innhold

Bruk nettverksaksjene, kopier konfigurasjoner til OpenHAB Config, og overskriv den eksisterende mappen. Kopier tillegg til den andre OpenHAB Home- delen, igjen, overskrive de eksisterende mappene. Hvis du ikke blir bedt om å overskrive noe, gjør du det feil. Hvis du har øye på feilsøkingsloggfilen, bør du se en fladder av aktivitet som det legger merke til de nye bindingene og hvirvene til handling. Åpne raspberrypi.local: 8080 / openhab.app? Sitemap = demo for å se demoen.

OpenHAB demo house web interface screenshot

Det er litt grunnleggende å se i øyeblikket, men OpenHABs åpenhet betyr at vi kan installere et nydelig nytt tema senere eller et alternativt grensesnitt helt. For nå har vi bare trengte å vite at det hele fungerer. Vær oppmerksom på at det vi ser på, kalles et sitemap (ingenting å gjøre med et nettstedssidekart). En sitemap beskriver brukergrensesnittet - ikke de faktiske enhetene på nettverket eller sensorer - bare grensesnittet for å vise dem. Hver del av den er helt tilpassbar. For å se hvordan denne er blitt opprettet, åpner du sitemaps / demo.sitemap- filen på OpenHAB Config-delen.

sitemap demo eksempel fil

Det er ganske skremmende, men for det meste vil du kopiere klistrekodefragmenter fra eksempler andre steder for å lage ditt eget tilpassede grensesnitt. Her er den tekniske oversikten over alle mulige sitemapelementer, men for nå er det nok bare å begynne å tenke på hva slags grensesnitt du vil bygge og hvilken informasjon du vil vise.

Mens du er der, kan du også åpne elementer / demo.items . Igjen ser det skummelt ut, men det er her du lager elementer for å kontrollere og definere sensorer for å spore.

Så hvordan fungerer OpenHAB?

Nå som du har hatt en rask oversikt over mappeoversikten og elementene, la oss slå ned nøyaktig hva disse filene er og de andre hovedkomponentene i OpenHAB som kombinerer for å lage ditt komplette, smarte hjem. Du finner underkataloger for hver av disse i OpenHAB Config-delt mappe.

Elementer er en oversikt over hver kontrollenhet, sensor eller informasjonselement du vil ha i systemet. Det trenger heller ikke være en fysisk enhet - du kan definere en nettkilde som vær eller aksjekurser. Hvert element kan bli navngitt, tildelt flere grupper (eller ingen), og knyttet til bestemt binding. (Nybegynner tips: Kapitalisering er viktig når det gjelder bindinger. Jeg brukte lang tid på å finne ut hvorfor min "Hue" -pærer ikke virket, det var fordi de burde vært "nyanse" i stedet).

Sitemaps er bare opptatt av grensesnittet du vil se når du åpner OpenHAB mobil- eller webapp. Du kan kontrollere nøyaktig hvordan du vil at knappene legges ut og informasjon som presenteres. Du kan definere toppnivågrupper for hvert rom i huset ditt; Ved å klikke på hver, vil du vise en liste over alle enheter i det rommet. Eller du kan foretrekke å vise grupper for hver type enhet: en knapp for lys, en annen for strømuttak. Det kan være noen enheter du bruker så ofte at du bare vil ha en bytte for dem rett på startskjermbildet.

Regler er hvor hjemmeautomatiseringsaspektet kommer inn i spill, hvor du kan definere planer eller vilkår for en handling som skal skje. Enkle hendelser som å slå på soverommet lyser klokken 22.00 til en varm rød farge; eller mer komplisert logikk som å slå på en romvarmer hvis temperaturen er mindre enn 0 og noen er til stede i det rommet. Du finner også en skriptmappe, som gir lignende funksjonalitet til regler, men på et mer komplekst nivå av programmerbar logikk.

Persistens er et avansert emne som vi ikke vil dekke i denne veiledningen, men utholdenhet definerer data du vil beholde oversikt over. Som standard vil OpenHAB bare vise den nåværende tilstanden til noe; Hvis du vil spore den verdien over tid, må du sette opp en utholdenhetsdefinisjon for datakilden. Her spesifiserer du ting som hvor ofte et datapunkt skal måles, eller når du skal kaste bort gamle datapunkter. Du må også fortelle hva slags persistensmotor du skal bruke, for eksempel MySQL eller enkelt logging til en fil .

Transform inneholder mappings for dataværdier til etiketter. For eksempel definerer humidex.scale- filen en rekke fuktighetsindeksverdier og hvordan de skal vises på engelsk: 29-38 er "litt ubehag".

Sitekart og elementfiler er avgjørende for OpenHAB å kjøre; resten er valgfritt. Du kan ha flere nettstedskart og elementer, slik at du kan holde demoinnholdet og henvise til det til enhver tid, eller prøve en ny layout for ditt hjemgrensesnitt. Ikke bekymre deg om alt dette virker litt overveldende akkurat nå, vi slår det ned i håndterbare stykker, og jeg lover ved slutten av denne veiledningen at du får tillit til å lage ditt eget OpenHAB-oppsett.

Neste opp, vi går deg gjennom å legge til noen vanlige smarte hjemmekitprogrammer, fra begynnelsen på nytt i et nytt nettstedskart. Hver enkelt vil introdusere noen kjernekonsepter, for eksempel hvordan du installerer bindinger og elementdefinisjoner, så jeg vil sterkt oppfordre deg til å lese gjennom disse instruksjonene, selv om du ikke eier disse bestemte enhetene .

Start med å opprette en ny (tom) home.items- fil, og en ny home.sitemap- fil i de relevante katalogene. Åpne opp home.sitemap og lim inn i følgende kode. Dette virker bare som et grunnleggende skjelett som vi legger til biter senere.

 sitemap home label="My Home" { } 

Du bør se et varsel for å rapportere at OpenHAB har identifisert en ny sitemap og elementfil.

åpne nytt sitemap og elementer

Aktiver feilsøkingsmodus

Mens du fremdeles prøver å få OpenHAB til å fungere på riktig måte, kan det være nyttig å aktivere en mer omfattende feilsøkingslogg som viser alt, og ikke bare de viktige tingene. For å aktivere denne modusen, åpne OpenHAB Config-delt mappe, og rediger logback.xml . På linje 40, endre følgende linje for å lese DEBUG i stedet for INFO. Du må starte på nytt etter at du har endret dette.

Dette er en global endring, slik at du får mye mer informasjon når du haler loggfilen.

Legge til Philips Hue

Jeg skal begynne med Philips Hue Philips Hue Starter Kit Review og Giveaway Philips Hue Starter Kit Review og Giveaway Markedet er oversvømmet av pærer med wifi, alle med sin egen dumme mobil app som du trenger å lure rundt med for å slå dem på . Er fargetone annerledes? Vi finner ut. Les mer . Som de fleste tingene du vil ønske å kommunisere med i OpenHAB, krever Hue pærer deg å installere en binding - tenk på bindinger som en enhetsdriver. I skrivende stund er det rundt 160 bindinger tilgjengelig for OpenHAB 1, derfor OpenHAB er et så kraftig system - det kan grensesnittet til alt, kombinere alle de forskjellige kontrollsystemene i et enkelt enhetlig grensesnitt. Her er en demonstrasjon og rask oversikt over trinnene som er involvert.

Bindinger må først lastes ned, og den enkleste måten å gjøre dette på Pi, bruker apt-get, og tvinge eierskap til openhab-brukeren.

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

Deretter må du fortelle OpenHAB å laste inn den bindingen, og konfigurere eventuelle variabler som trengs. Bla til konfigurasjonsmappen og lag en kopi av openhab-default.cfg, navngi den openhab.cfg . Åpne det opp, søk etter HUE og erstatt hele delen med følgende kode. Det eneste du må endre er IP-verdien til broen din - hvis du ikke allerede vet det, kan du prøve verktøyet for nettbasert oppdagelse. Den hemmelige verdien spiller ingen rolle, det er bare et slags brukernavn som OpenHAB vil bruke til å identifisere seg til broen.

Hurtig tips : For å aktivere en linje, bare fjern # fra starten. Som standard er linjen som angir broens IP-adresse, deaktivert (eller teknisk sett "kommentert"). Også, hvis du prøver en alternativ konfigurasjon, kan det være nyttig å bare kopiere den eksisterende linjen og sette en # i starten for å markere den som en kommentar, slik at du kan komme tilbake lett hvis ting 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

Lagre og lukk. Som en tredjeparts Hue-applikasjon, må du godkjenne OpenHAB på Hue Bridge ved å trykke på knappen på forsiden - du trenger bare å gjøre dette en gang. Du får se en melding om å vente på å bli parret hvis du logger loggfilen, men hvis du har glemt eller savnet tellingen ned, bare tilbakestill Pi - du får 100 sekunders timer fra når Tone bindingen er initiert. Pass på at du har parret før du fortsetter.

Deretter åpner du home.items- filen, som vi vil legge til noen Hue-pærer. Her er et eksempel på elementdefinisjon:

 Color Bedroom_Hue "Bedroom Hue" (Bedroom) {hue="1"} 
  • Fargeordet angir hvilken type kontroll vi har over dette elementet. RGB Hue pærer er "Color", siden vi har full fargekontroll av dem. Andre lys kan bare være en bryter.
  • Neste er kodenavnet til elementet: Jeg valgte Bedroom_Hue, men bokstavelig talt er alt bra - bare noe beskrivende som føles naturlig for deg, fordi du må huske det senere når du gjør sitemap. Kodenavnet skal ikke ha noen mellomrom.
  • Mellom sitatmerket er merket. Vårt er enkelt i dette tilfellet, men for noen ting som temperatur eller noe som rapporterer en verdi, legger du til en spesiell kode som forteller hvordan du viser den verdien eller bruker hvilken transformasjon. Etiketten er for grensesnittet, og det kan ha mellomrom.
  • Mellom vinkelbeslagene er ikonets navn. Du finner alle tilgjengelige ikoner i OpenHAB-delen, under webapps / bilder katalogen. Det er faktisk et helt utvalg av fargetoner som representerer forskjellige lysstyrker eller på / av. Bare spesifiser basikonikonet - OpenHAB vet at du automatisk skal se etter de forskjellige på / av-ikonene hvis dette er et byttet element. Dette er valgfritt.
  • I runde parentes, forteller vi det hvilke grupper som skal være en del av - i dette tilfellet, bare soverom- gruppen.
  • Til slutt, sammenkaller vi varen til riktig binding med eventuelle variabler som trengs. I dette tilfellet er fargen bindende og nummeret på pæren 1. Du kan finne nummeret ved å åpne den offisielle Hue applikasjonen og se på lampen. Hver pære har et unikt nummer.

Jeg har lagt til totalt fire pærer, samt en enkel deklarasjon av gruppene som vi vil utvide senere. Her er mitt komplette home.items på dette punktet:

 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, den har ingen annen funksjon enn å hjelpe oss med å skanne filen senere når den blir større. Nå har vi lagt til enhetene, men åpner http: //raspberrypi.local: 8080 /? Sitemap = home resulterer i et tomt grensesnitt - selvfølgelig, fordi vi ikke har faktisk opprettet grensesnittelementer i sitemapet ennå. La oss begynne veldig enkelt for nå. Åpne opp home.sitemap .

Koden som brukes til å beskrive grensesnittet, er forskjellig fra elementer, men for nå lager vi en ny "ramme" og legger til et par gruppekontroller sammen med noen 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 nyttig verktøy for rask testing, men i virkeligheten vil du ha mer kontroll over hvordan elementene vises. For nå vil dette være tilstrekkelig. Lagre og last inn hjemmesiden din i nettleseren. Du bør se dette (eller, uansett hvilke grupper du har lagt til).

openhab første sitemap

Klikk på All lighting for å se hvert Hue-lys, siden vi har definert dem alle som tilhører den overordnede lysgruppen .

openhab lights group Hue demo

Legg merke til at Office Hue-elementet vises med et annet ikon - det er fordi mitt kontorlys er allerede på, og OpenHAB vet dette når det snakket til Hue-broen og var smart nok til å justere ikonet "på" -versjonen av filen. Dessverre reflekterer det ikke fargen, men hvis du har mobilapp installert, gjenspeiler den gjeldende fargen.

Hvis du ser flere elementer enn du trodde du hadde definert eller mottatt feil om flere definisjoner, vet du at selv om du bare kan laste inn ett nettstedkart av gangen på siden, vil alle sitemaps trekke elementer inn fra alle .item-filer, så hvis du har forlatt demo-elementfilen der, det kan hende du har noen ekstra elementer dukker opp i gruppene dine også. Jeg foreslår at du sikkerhetskopierer innholdet på demoelementene og flytter det ut av mappen for å unngå dupliseringsfeil.

Fjerntilgang, og IFTTT med My.OpenHAB

For øyeblikket trenger du å være på samme lokale nettverk for å få tilgang til OpenHAB-systemet, men hva hvis du vil styre enhetene dine og sjekke på sensorer når det er utenfor Wi-Fi-området? For det må vi sette opp ekstern tilgang - og vi gjør det på den enkle måten, med My.OpenHAB webtjenesten, som omgår behovet for å rote rundt med port videresending og rutekonfigurasjoner. Som en bonus har My.OpenHAB-tjenesten også en IFTTT-kanal, noe som gir deg uendelige muligheter for fjernkontroll og automatisering.

Først: installer bindingen. Hurtig tips: Hvis du ikke vet nøyaktig navnet på en bestemt installasjonspakke, kan du prøve å søke etter den med apt-cache.

apt-cache søk

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

Før du kan registrere deg på My.OpenHAB-siden, må du opprette en hemmelig nøkkel, og finn din UUID, som unikt identifiserer installasjonen din. Sjekk under OpenHAB Home share -> webapps -> static og du bør finne en UUID-fil som inneholder din unike identifikator. Det er på dette tidspunktet at jeg oppdaget at min Pi brukte en eldre versjon av Java som ikke riktig lager den hemmelige nøkkelen. Type

 java -version 

å sjekke. Hvis den ikke sier 1.7 eller høyere, har du feil versjon. Merkelig, den nyeste versjonen av Raspbian kommer med Oracle Java 8 installert, men ikke angitt som standard.

 sudo oppdateringsalternativer --config java 

oppdater java-versjonen

Velg alternativet som indikerer jdk-8-oracle, og start deretter OpenHAB. Bonus: Oracle Java 8 er raskere enn standard OpenJDK!

Nå bør du også finne en hemmelig fil i webapps / statisk mappe. Åpne både hemmelig og uuid, og vær klar til å kopiere lim inn.

uuid og hemmelig

Nå skal du lage en My.OpenHAB-konto, bruke disse detaljene, så kom tilbake - du må også bekrefte e-posten din før noe fungerer. Det er et par trinn til denne. Først må vi sette standard persistensmotor til myopenhab (utholdenhet er noe for en senere guide, men uansett må vi sette opp noe grunnleggende for å "eksportere" våre data til onlinetjenesten og gjøre den synlig for IFTTT) . For å gjøre dette åpner du openhab.cfg, og finner variabelen som sier utholdenhet: default = og endre den til utholdenhet: default = myopenhab . Lagre.

Til slutt, opprett en ny fil i mappen konfigurasjon / utholdenhet kalt myopenhab.persist, og lim inn i følgende regel.

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

Du trenger ikke å forstå dette for nå, men vet at det står "lagre hvert element når det endres".

Mine åpne ting

For å koble til IFTTT, gå over til OpenHAB-kanalen - du må godkjenne og gi den tilgang til MyOpenHAB-kontoen din. Vær også oppmerksom på at inntil varene dine har endret seg minst en gang, vil de ikke være synlige i elementlisten på IFTTT, så hvis det ikke er synlig, bytt til noe av og på, og last deretter på nytt. Gratulerer, du har nå fullstendig IFTTT-tilgang til alt i OpenHAB-systemet!

openhab ifttt kanal

Bluetooth Presence Sensor bruker REST

For kort tid siden viste jeg deg hvordan du lager et automatisk kontor dørlås ved hjelp av Bluetooth Lag en automatisk låsende kontordør med Smartphone Proximity Sensor Lag en automatisk låsende kontordør med Smartphone Proximity Sensor Vi skal sette opp en Raspberry Pi med en Bluetooth-adapter for å være på utkikk etter når smarttelefonen er utenfor rekkevidde, og koble et relé til handling for å låse døren. Les Mer skanning for å oppdage tilstedeværelsen av brukeren - Jeg ville bringe noe slikt inn i OpenHAB.

På noen annen plattform enn Raspberry Pi, ville dette være enkelt takket være en ferdig Bluetooth-binding; dessverre virker det ikke på Pi på grunn av en avgjørende Java-fil som må kompileres for ARM-arkitekturen, legges til bindingen, og deretter gjenoppbygger bindingen. Tilstrekkelig å si, jeg prøvde det, og det var skjult komplisert og fungerte ikke. Det er imidlertid en mye enklere løsning som også tjener som en god introduksjon til OpenHABs uttrekkbarhet. Vi vil ganske enkelt tilpasse vårt tidligere Python-skript for å få det til å rapporteres direkte til OpenHAB RESTful-grensesnittet.

Bortsett: et RESTful grensesnitt betyr at du kan samhandle med et system ved hjelp av det er innebygd i webserver, ved å ringe nettadresser og sende inn eller hente data. Du kan besøke denne nettadressen for å se et enkelt eksempel på dette på din egen server: http: //raspberrypi.local: 8080 / rest / items - som gir en kodet liste over alle dine definerte elementer. Dette er utrolig kraftig, da det avslører fullt mulig potensial for OpenHAB og lar deg skrive egendefinerte grensesnitt; eller i brukt revers, for å rapportere status for sensorer uten å ha en bestemt binding. Vi bruker denne muligheten til å rapportere tilstedeværelsen av en bestemt Bluetooth-enhet uten å ty til Bluetooth-bindingen.

Begynn med å legge til et nytt bytt element i din home.items- fil. Jeg har kalt min "JamesInOffice", og jeg har gjort den til en bytte snarere enn en enkel på / av-kontakt, slik at jeg kan kontrollere min tilstedeværelse manuelt dersom telefonen dør.

 Switch JamesInOffice "James in Office" (Office) 

Legg merke til at jeg ikke har definert et ikon, eller knyttet en bestemt binding. Det er bare en generisk bryter.

Sett deretter inn en kompatibel USB Bluetooth-dongle, og installer noen grunnleggende verktøy for å kommunisere med det.

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

Den siste kommandoen skal vise Bluetooth-adapteren. Hvis ingenting er oppført, prøv en annen adapter, din er ikke kompatibel med Linux. Det neste trinnet er å finne Bluetooth-maskinvareadressen til enheten din.

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

Kontroller at telefonen er åpen på Bluetooth-innstillingssiden (som setter den i paring / offentlig modus), og åpenbart at Bluetooth er aktivert. Du bør finne en heksadesimal maskinvareadresse som er oppført.

bluetooth identifisert

Fra Pi-brukerens hjemmekatalog, opprett et nytt Python-skript og lim inn i denne koden.
Det er noen ting du må redigere, med utgangspunkt i din bestemte enhetsadresse:

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

I tillegg til denne linjen, som er på to steder (ja, dette kan sannsynligvis bli strukturert bedre). Endre JamesInOffice til kodenavnet til bryteren du definerte.

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

Det siste trinnet er å fortelle dette skriptet å starte ved oppstartstid.

 sudo nano /etc/rc.local 

Rull ned til bunnen og like før avkjøringen 0, legg til følgende linjer:

 python /home/pi/detect.py & 

Signaturet betyr "gjør dette i bakgrunnen". Gå videre og kjør skriptet hvis du ikke allerede har åpnet OpenHAB-grensesnittet. Hvis du har lagt den til i en gruppe, klikker du gjennom til den gruppen. Det tar ca. 10 sekunder å oppdatere, men du vil se standard lampeikonet bli slått av, avhengig av om telefonen din oppdages eller ikke. Kontroller loggfilen hvis ingenting skjer, det kan være at du har brukt feil artikkelnavn.

OpenHAB Mobile App

Selv om du selvsagt kan bruke webgrensesnittet fra en mobil enhet, har OpenHAB innfødte programmer for både iOS og Android - og de ser mye bedre ut enn standard nettlesergrensesnitt. På innstillingsskjermen skriver du inn den lokale nettadressen som den interne IP-en du har brukt til nå, inkludert portnummeret. For ekstern nettadresse, skriv inn https://my.openhab.org, og du brukernavn (e-post) og passord som du skrev inn da du registrerte deg. Hvis du ikke har registrert deg for MyOpenHAB ennå, la du bare autentisering og ekstern nettadresse tomt, men du får bare tilgang til systemet fra ditt lokale Wi-Fi.

openhab-mobil

Flytter fremover og får hjelp

Mengden tilpasning og ryddige funksjoner du kan legge til i OpenHAB-kontrolleren din, er veldig episk. I tillegg til den store listen over støttede enheter med bindinger, kan du bruke RESTful-grensesnittet, HTTP-utvidelser og IFTTT til å lese fra eller kontrollere bokstavelig talt noen form for IoT-enhet, og deretter noen (prøv noen av våre kreative belysningsideer 7 Kreative bruksområder for Colored LED Home Automation Lighting 7 Kreative bruksområder for Colored LED Home Automation Lighting Det er sikkert kult å slå på lysene dine, men det utnytter ikke det fulle spekteret av farger som er tilgjengelige med RGB-belysning. For det må vi bli kreative . Les mer ). Ja, det er en absolutt smerte å installere, men ikke et eneste kommersielt system kan komme nær kraften til et tilpasset OpenHAB-system.

Når det er sagt, var turen ikke lett for meg, det er nettopp hvorfor jeg skrev denne veiledningen for å lette prosessen for deg. Hold deg oppdatert på MakeUseOf for en avansert guide som dekker Z-Wave og andre kule triks du kan sette opp.

Hvis du trenger hjelp med en bestemt del av denne veiledningen, vennligst spør deg bort i kommentarene. Hvis du vil ha hjelp med en annen bindende eller noen avanserte emner vi ikke har dekket ennå, er de offisielle OpenHAB-forumene et innbydende sted.

In this article