Komma igång med OpenHAB Home Automation på Raspberry Pi

OpenHAB är en mogen, open source hemautomatiseringsplattform som körs på en mängd olika hårdvaror och är protokollagnostik, vilket innebär att den kan anslutas till nästan vilken hemautomatiseringsutrustning som helst på marknaden idag.

OpenHAB är en mogen, open source hemautomatiseringsplattform som körs på en mängd olika hårdvaror och är protokollagnostik, vilket innebär att den kan anslutas till nästan vilken hemautomatiseringsutrustning som helst på marknaden idag.
Annons

OpenHAB är en mogen, open source hemautomatiseringsplattform som körs på en mängd olika hårdvaror och är protokollagnostik, vilket innebär att den kan anslutas till nästan vilken hemautomatiseringsutrustning som helst på marknaden idag. Om du har blivit frustrerad med antalet tillverkarspecifika appar du behöver springa bara för att styra dina lampor, så har jag bra nyheter för dig: OpenHAB är den lösning du letat efter - det är det mest flexibla smarta hemmet nav Vilken smart nav för hemautomation är bäst för dig? Vilken smart nav för hemautomation är bäst för dig? En stund tänkte folk på idén som ingenting annat än en gimmick, men senaste produktutgåvor har visat att smart hemautomatisering börjar leva upp till sina löften. Läs mer du någonsin kommer att hitta.

Den här guiden är tillgänglig för nedladdning som en gratis PDF. Ladda ner Komma igång med OpenHAB Home Automation på Raspberry Pi nu . Känn dig fri att kopiera och dela med dig av dina vänner och familj.

Tyvärr handlar det om så långt som du kan få från konsumentvänliga - men som det är det där MakeUseOf kommer in: vi ska visa dig hur du går igång med det ultimata smarta hemsystemet pengar behöver inte köpa (för OpenHAB är 100% gratis - leverera bara hårdvaran).

Den första delen av den här guiden fokuserar specifikt på hur man får OpenHAB-inställningen med en Raspberry Pi 2, men vidare kan handledning och råd tillämpas på var som helst OpenHAB är installerat.

Denna guide omfattar tre inledande ämnen och en något mer avancerad.

  • Att få OpenHAB igång på Pi, och att installera demohuskonfigurationen för att kontrollera kärnsystem fungerar.
  • Hur man lägger till bindningar och profiler för enheter. Jag jobbar med Philips Hue.
  • Aktivera fjärråtkomst och anslutning till IFTTT.
  • Lägga till en DIY-närvarosensor med Bluetooth, och en introduktion till REST-gränssnittet.
  • Konfigurera OpenHAB mobilapp.

Vad du behöver

Åtminstone behöver du en Raspberry Pi (v2, helst) och en Ethernet eller trådlös adapter (Ethernet-föredragen, den här guiden kommer inte att innehålla instruktioner för hur du gör ditt Wi-Fi-adapter. Ställa in trådlöst nätverk på din hallon Pi Konfigurera trådlösa nätverk på din Raspberry Pi Praktiskt taget alla Raspberry Pi-projekt kommer att kräva en nätverksanslutning, och stor flexibilitet kan uppnås genom att ignorera Ethernet-porten till en trådlös USB-dongle. Läs mer). Allt annat är valfritt. Observera att OpenHAB kommer att köras på den ursprungliga Raspberry Pi, men det är ett känt problem med långsammare bearbetning och Z-Wave-enheter. Om du inte behöver Z-Wave kan du säkert ignorera denna varning och fortsätta med en Raspberry Pi-modell B eller B +, eftersom allting verkar fungera bra. Du kan alltid uppgradera till den senaste Pi om och när du lägger till Z-Wave.

Photo of Raspberry Pi 2 being used as OpenHAB controller
Denna lilla sak kan vara det bästa smarta hubben du någonsin har haft!

I skrivande stund är den senaste stabila versionen av OpenHAB version 1.71; version 1.8 förväntas snart, och allt i den här guiden borde fortfarande vara relevant, även om vissa bindningar kan ha fler funktioner. Version 2 är också tillgänglig för närvarande som en mycket tidig alfabetisk förhandsgranskning, men adopterar en dramatiskt annorlunda arkitektur till OpenHAB 1-serien: den här guiden är inte kompatibel med version 2.

Jag rekommenderar starkt att du följer denna guide långsamt och metodiskt - försök inte hoppa in i den djupa änden och lägg till allt på en gång. Ja, det är en lång guide - OpenHAB är ett svårt system som ofta kräver anpassning till dina behov, och det bästa sättet att se till att du lyckas är att arbeta långsamt och slutföra ett stycke i taget.

Den goda nyheten är att när det funkar, är det en bra solid erfarenhet och otroligt givande.

Installera OpenHAB

Det finns ingen förkonfigurerad bild för OpenHAB, så installationen görs på gammaldags sätt via en kommandorad. Jag föreslår att du arbetar headless på RPi - överhuvudtaget för att hantera en GUI som du sällan kommer att använda är inte värt det.

Börja med den senaste (fullständiga) Raspbian SD-bilden (inte "lite" -versionen, dessa inkluderar inte Java Virtual Machine). Få din nätverkskabel ansluten, starta sedan upp och navigera genom SSH. Springa:

sudo raspi-config 

Expand filsystemet; och från den avancerade menyn ändrar du minnesuppdelningen till 16. När du är klar, starta om och, som god praxis, kör en fullständig uppdatering

 sudo apt-get update sudo apt-get upgrade 

Det enklare sättet att installera OpenHAB runtime är via apt-get, men först måste vi lägga till en säker nyckel och det nya förvaret:

 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 

Nyfiken var allt installerat som ägs av "root". Vi måste fixa det med följande kommandon.

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

Därefter installerar vi Samba och delar konfigurations- och användarmappar. Det gör det enklare att installera tillägg och ändra webbplatskartan på distans.

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

Ändra arbetsgruppens namn om det behövs, men aktivera annars WINS-support:

 wins support = yes 

(du måste uncomment linjen och ändra nej till ja)

Lägg sedan till följande i avsnittet Dela definitioner (bläddra hela vägen ner till längden på den långa 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 

Jag kommenterade också avsnittet Skrivare. Jag har gjort två aktier, eftersom konfigurationsfilerna faktiskt lagras separat för tilläggen.

Spara och avsluta. Vi behöver slutligen ange ett Samba lösenord för openhab-användaren:

 sudo smbpasswd -a openhab 

Jag skulle föreslå "openhab" som lösenord för enkel användning, men det spelar ingen roll någon roll.

Tack vare läsaren David L - verkar det att metoden att starta om Samba har förändrats i den senaste Raspian. Här är de uppdaterade instruktionerna:

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

Efter omstart av Samba (äldre installationer använd sudo service samba omstart ), testa att du kan komma åt den delade enheten. Det kanske inte är automatiskt upptäckt på en Mac; men du kan använda Finder -> -> Anslut till Server och adressen

 smb://[email protected] 

Godkänn med användarnamn openhab och ditt valda lösenord, och öppna sedan båda dina aktier för att titta runt. Du borde till och med kunna öppna http: //raspberrypi.local: 8080 / i din webbläsare, men du kommer att få ett fel eftersom vi inte har skapat en webbplatskarta än. Det är normalt.

error on first launch openhab

Nu skulle det vara en bra tid att lära sig kommandot att sväva OpenHAB-loggen så att du kan hålla koll på fel.

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

Håll det igång och öppna i ett separat SSH-fönster hela tiden medan du fortsätter med guiden.

Installera Demo House

Innan vi gräver in i komplexa konfigurationsfiler, lägger till enheter och bindningar etc; låt oss kolla allt som fungerar genom att lägga till demoinnehållet. Du hittar "Demo Setup" under nedladdningsdelen av OpenHAB.org.

När du har tagit bort den, finns det två mappar: addons och konfigurationer .

openhab demo innehåll

Använda nätverksaktierna, kopiera konfigurationer till OpenHAB Config och skriv över den befintliga mappen. Kopiera tillägg till den andra OpenHAB Home- delen, skriv över de befintliga mapparna igen. Om du inte uppmanas att skriva över något gör du det fel. Om du har ett öga på debug-loggfilen, bör du se en fladdra av aktivitet, eftersom den noterar de nya bindningarna och pärmarna till handling. Öppna raspberrypi.local: 8080 / openhab.app? Sitemap = demo för att se demoen.

OpenHAB demo house web interface screenshot

Det är lite grundläggande i ögonblicket, men OpenHABs öppna natur betyder att vi kan installera ett underbart nytt tema senare eller ett alternativt gränssnitt helt. För tillfället behövde vi bara veta att allting fungerar. Observera att det vi tittar på kallas en webbplatskarta (inget att göra med en webbplatskarta). En webbplatskarta beskriver användargränssnittet - inte själva enheterna i ditt nätverk eller sensorer - bara gränssnittet för att visa dem. Varje del av den är helt anpassningsbar. Om du vill se hur den här har skapats öppnar du webbplatskartorna / demo.sitemap- filen i OpenHAB Config-delen.

sitemap demo exempel fil

Det är ganska skrämmande, men för det mesta kommer du att kopiera klistra in kodfragment från exempel någon annanstans för att skapa ditt eget anpassade gränssnitt. Här är den tekniska översikten över alla möjliga sidkartaelement, men för närvarande räcker det bara för att börja tänka på vilken typ av gränssnitt du vill bygga och vilken information du vill visa.

Medan du är där öppnar du också objekt / demo.items . Återigen ser skrämmande ut, men här skapar du saker för att styra och definiera sensorer för att spåra.

Så hur fungerar OpenHAB?

Nu när du har fått en snabb uppfattning om webbplatskartan och webbplatskartan, låt oss bryta ner exakt vad dessa filer är och de övriga huvudkomponenterna i OpenHAB som kombinerar för att skapa ditt fullständiga smarta hem. Du hittar underkataloger för var och en av dem i OpenHAB Config-delad mapp.

Objekt är en inventering av varje kontrollenhet, sensor eller informationselement du vill ha i ditt system. Det behöver inte heller vara en fysisk enhet - du kan definiera en webbkälla som väder eller aktiekurser. Varje objekt kan namnges, tilldelas flera grupper (eller inga) och kopplas till specifik bindning. (Nybörjar tips: Kapitalisering är viktigt när det gäller bindningar. Jag har länge försökt utreda varför mina "Hue" -lökar inte fungerade, det var för att de borde ha varit "nyans" istället).

Sitemaps är endast intresserad av gränssnittet som du kommer att se när du öppnar OpenHAB mobil eller webbapp. Du kan styra exakt hur du vill att knapparna läggs ut och informationen presenteras. Du kan definiera toppnivågrupper för varje rum i ditt hus; Genom att klicka på var och en skulle du visa en lista över varje enhet i det rummet. Eller du kanske föredrar att visa grupper för varje typ av enhet: en knapp för ljus, en annan för eluttag. Det kan finnas vissa enheter du använder så ofta att du bara vill ha en växel för dem direkt på startskärmen.

Regler är där hemautomatiseringsaspekten kommer till spel, där du kan definiera scheman eller villkor för att en åtgärd ska hända. Enkla händelser som att slå på sovrumsljuset klockan 22:00 till en varm röd färg; eller mer komplicerad logik som att slå på en rymdvärmare om temperaturen är mindre än 0 och någon är närvarande i det rummet. Du hittar också en skriptmapp, som erbjuder liknande funktionalitet till regler men på en mer komplex nivå av programmerbar logik.

Persistens är ett avancerat ämne som vi inte kommer att täcka i den här guiden, men uthållighet definierar data som du vill behålla. Som standard kommer OpenHAB bara att visa det aktuella läget för någonting; Om du vill spåra det värdet över tiden måste du definiera en persistensdefinition för den datakällan. Här anger du saker som hur ofta en datapunkt ska mätas eller när man ska kasta bort gamla datapunkter. Du måste också berätta vilken typ av persistensmotor som ska användas, till exempel MySQL eller enkel loggning på en fil .

Transform innehåller mappings för datavärden till etiketter. Exempelvis definierar humidex.scale- filen ett antal fuktighetsindexvärden och hur de ska visas på engelska: 29-38 är "lite obehag".

Sidkartorna och objektfilerna är viktiga för att OpenHAB ska kunna köras; resten är valfria. Du kan ha flera webbplatskartor och objekt, så du kan hålla demoinnehållet och återkomma till det när som helst, eller prova en ny layout för ditt hemgränssnitt. Oroa dig inte om det här hela verkar lite överväldigande just nu bryter vi ner det till hanterbara bitar och jag lovar i slutet av den här guiden, du har förtroende för att skapa din egen OpenHAB-inställning.

Därefter går vi igenom dig genom att lägga till några vanliga smarta hemmakläder, från och med i början av en ny webbplatskarta. Var och en kommer att presentera några grundläggande begrepp som hur man installerar bindningar och objektdefinitioner, så jag rekommenderar starkt dig att läsa igenom dessa instruktioner, även om du inte äger dessa specifika enheter .

Börja med att skapa en ny (tom) home.items- fil och en ny home.sitemap- fil i relevanta kataloger. Öppna upp home.sitemap och klistra in i följande kod. Detta fungerar bara som ett grundläggande skelett som vi lägger till bitar senare.

 sitemap home label="My Home" { } 

Du bör se ett meddelande för att rapportera att OpenHAB har identifierat en ny sidkarta och objektfil.

öppna nya webbplatskartor och objekt

Aktivera debug-läge

Medan du fortfarande försöker få OpenHAB att fungera korrekt kan det vara användbart att aktivera en mer omfattande debug-logg som listar allt och inte bara de viktiga grejerna. För att aktivera det här läget öppnar du OpenHAB Config-delad mapp och redigerar logback.xml . På rad 40 ändrar du följande rad för att läsa DEBUG istället för INFO. Du måste starta om efter att ändra det här.

Det här är en global förändring, så du får mycket mer information när du sviter loggfilen.

Lägger till Philips Hue

Jag ska börja med Philips Hue Philips Hue Starter Kit Review och Giveaway Philips Hue Starter Kit Review och Giveaway Marknaden är översvämd av glödlampor med wifi, alla med sin egen dumma mobilapp som du behöver kämpa för att sätta på dem . Är nyansen något annorlunda? Vi får reda på det. Läs mer . Liksom de flesta saker som du vill interagera med i OpenHAB, behöver Hue-lampor dig att installera en bindning - tänk på bindningar som som en drivrutin. I skrivande stund finns det cirka 160 bindningar tillgängliga för OpenHAB 1, vilket är anledningen till att OpenHAB är ett så kraftfullt system. Det kan kopplas till allt som kombinerar alla de olika styrsystemen i ett enda enhetligt gränssnitt. Här är en demo och snabb översikt över de aktuella stegen.

Bindningar måste först laddas ner, och det enklaste sättet att göra detta på Pi använder apt-get, och tvinga äganderätten till openhab-användaren.

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

Därefter måste du berätta för OpenHAB att ladda in den bindningen och konfigurera eventuella variabler som behövs. Bläddra till konfigurationsmappen och gör en kopia av openhab-default.cfg, namnger den openhab.cfg . Öppna det, sök efter HUE och ersätt hela avsnittet med följande kod. Det enda du behöver ändra är IP-värdet på din bro - om du inte redan vet det, kan du prova verktyget online upptäckt. Det hemliga värdet spelar ingen roll, det är bara ett slags användarnamn som OpenHAB kommer att använda för att identifiera sig till bron.

Snabbtips: För att aktivera en rad, ta bara bort # från början. Som standard är linjen som anger broens IP-adress inaktiverad (eller tekniskt "kommenterad"). Om du försöker en alternativ konfiguration ut kan det också vara bra att bara kopiera den befintliga raden och sätta en # i början för att markera den som en kommentar, så att du kan återgå enkelt om sakerna går fel.

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

openhab bindande config

Spara och avsluta. Liksom någon tredje part Hue-applikation måste du godkänna OpenHAB på Hue Bridge genom att trycka på knappen på framsidan - du behöver bara göra det här en gång. Du får se ett meddelande om att du väntar på att vara parad om du loggar på loggfilen, men om du har glömt eller missat räkna ned, återställ bara Pi - du kommer att få en 100 sekunders timer från när Hue-bindningen initieras. Se till att du har lyckats para ihop innan du fortsätter.

Öppna sedan filen home.items, till vilken vi lägger till några Hue-lampor. Här är en exempelfunktionsdefinition:

 Color Bedroom_Hue "Bedroom Hue" (Bedroom) {hue="1"} 
  • Färgordet anger vilken typ av kontroll vi har över det här objektet. RGB Hue-lampor är "Färg", eftersom vi har fullfärgskontroll av dem. Andra lampor kan bara vara en Switch.
  • Nästa är kodnamnet för föremålet: Jag valde Bedroom_Hue, men bokstavligen är allt bra - bara något beskrivande som känns naturligt för dig, för att du måste komma ihåg det senare när du gör sitemap. Kodnamnet ska inte ha några mellanslag.
  • Mellan citatmärket är etiketten. Vårt är enkelt i det här fallet, men för vissa saker som temperatur eller något som rapporterar ett värde, lägger du till en särskild kod som berättar hur man visar det värdet eller använder vilken transformation. Etiketten är för gränssnittet, och det kan ha utrymmen.
  • Mellan vinklarna är namnet på ikonen. Du hittar alla tillgängliga ikoner i OpenHAB-delen, under webapps / bilder katalogen. Det finns faktiskt en hel rad färgtonikoner som representerar olika ljusstyrkor eller på / av. Ange bara basikonnamnet - OpenHAB vet att du automatiskt söker efter de olika på / av-ikonen om det här är en omkopplad post. Detta är valfritt.
  • I runda parentesna berättar vi vilka grupper som ska vara en del av - i det här fallet bara sovrummet .
  • Slutligen och väsentligt kopplar vi objektet till lämplig bindning med alla nödvändiga variabler. I detta fall är nyansbindningen och lampans nummer 1. Du kan hitta numret genom att öppna den officiella Hue-applikationen och titta på lampans flik. Varje glödlampa har ett unikt nummer.

Jag har lagt till totalt fyra glödlampor, liksom en enkel deklaration av de grupper som vi kommer att expandera senare. Här är mina fullständiga home.items vid denna tidpunkt:

 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 är bara en kommentar, det har ingen annan funktion än att hjälpa oss att skanna filen senare när den blir större. Nu har vi lagt till enheterna, men öppnar http: //raspberrypi.local: 8080 /? Sitemap = home resulterar i ett tomt gränssnitt - naturligtvis eftersom vi inte har skapat gränssnittselement i webbplatskartan ännu. Låt oss börja väldigt enkelt för nu. Öppna upp home.sitemap .

Koden som används för att beskriva gränssnittet skiljer sig från objekt, men för närvarande skapar vi en ny "ram" och lägger till ett par gruppkontroller tillsammans med några 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 är ett användbart verktyg för snabb testning, men i verkligheten behöver du mer kontroll över hur objekten visas. För nu är det tillräckligt. Spara och ladda om din hemsida i webbläsaren. Du bör se detta (eller vilka grupper du har lagt till).

openhab första sidkarta

Klicka på All belysning för att se varje färgton, eftersom vi har definierat dem alla som tillhör den övergripande ljusgruppen.

openhab lights group Hue demo

Observera att Office Hue-objektet visas med en annan ikon - det beror på att mitt kontorljus redan är på, och OpenHAB vet det när det pratade med Hue-bron och var tillräckligt smart för att justera ikonen "on" -versionen av filen. Tyvärr återspeglar det inte färgen, men om du har en mobilapp installerad, kommer den att återspegla den aktuella färgen.

Om du ser fler saker än du trodde att du hade definierat eller mottagit fel om flera definitioner, vet du att även om du bara kan ladda en webbplatskarta åt gången på sidan kommer alla webbplatskartor att dra in objekt från alla .item-filer, så om du har lämnat demo-objektfilen där, det kan hända att du får några ytterligare saker i dina grupper också. Jag föreslår att jag nu säkerhetskopierar innehållsdeln för demo och flyttar den ur mappen för att undvika dupliceringsfel.

Fjärråtkomst och IFTTT med My.OpenHAB

Just nu behöver du vara på samma lokala nätverk för att få åtkomst till ditt OpenHAB-system, men vad händer om du vill styra dina enheter och kolla på sensorer när du inte är ute efter ditt Wi-Fi? Därför måste vi ställa in fjärråtkomst - och det gör vi på det enkla sättet, med My.OpenHABs webbtjänst, som kringgår behovet av att röra sig om med portöverföring och routerkonfigurationer. Som en bonus har My.OpenHAB-tjänsten en IFTTT-kanal, vilket ger dig oändliga möjligheter till fjärrkontroll och automation.

Först: Installera bindningen. Snabbtips: om du inte känner till det exakta namnet på ett visst installationspaket, försök att söka efter det med apt-cache.

apt-cache-sökning

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

Innan du kan registrera dig på My.OpenHAB-webbplatsen måste du skapa en hemlig nyckel och hitta din UUID, vilken unikt identifierar din installation. Kolla under OpenHAB Home share -> webapps -> static och du ska hitta en UUID-fil som innehåller din unika identifierare. Det är vid denna tidpunkt jag upptäckte att min Pi använde en äldre version av Java som inte skapar rätten hemligt. Typ

 java -version 

att kolla. Om det inte säger 1.7 eller högre har du fel version. Otroligt kommer den senaste versionen av Raspbian med Oracle Java 8 installerad, men inte som standard.

 sudo uppdateringsalternativ --config java 

uppdatera java-versionen

Välj det alternativ som anger jdk-8-oracle och starta om OpenHAB. Bonus: Oracle Java 8 är snabbare än standard OpenJDK!

Nu ska du också hitta en hemlig fil i webbapps / statisk mapp. Öppna både hemligheten och uuiden, och var redo att kopiera klistra in.

uuid och hemlighet

Nu ska du skapa ett My.OpenHAB-konto med hjälp av dessa uppgifter och sedan komma tillbaka - du måste också bekräfta din e-post innan något fungerar. Det finns ett par steg till den här. Först måste vi ställa in standard persistensmotor till myopenhab (uthållighet är något för en senare guide, men oavsett, vi måste ställa in någonting grundläggande för att "exportera" våra data till onlinetjänsten och göra den synlig för IFTTT) . För att göra detta, öppna openhab.cfg, och hitta variabeln som säger uthållighet: default = och ändra den till uthållighet: default = myopenhab . Spara.

Slutligen skapa en ny fil i mappen konfigurations / persistens som heter myopenhab.persist och klistra in i följande regel.

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

Du behöver inte förstå detta för tillfället, men vet att det står "spara varje objekt när det ändras".

Mina öppna saker

För att ansluta till IFTTT, gå över till OpenHAB-kanalen - du måste verifiera och ge den åtkomst till ditt MyOpenHAB-konto. Observera också att tills dina objekt har ändrats minst en gång kommer de inte att vara synliga i objektlistan på IFTTT, så om det inte är synligt, växla något till och från och ladda sedan om. Grattis, du har nu fullständig IFTTT-åtkomst till allt i ditt OpenHAB-system!

openhab ifttt kanal

Bluetooth Presence Sensor använder REST

För en stund sedan visade jag dig hur man gör ett automatiskt dörrlås med hjälp av Bluetooth. Gör en automatisk låsande kontorsdörr med Smartphone Proximity Sensor Gör en automatisk låsande kontorsdörr med Smartphone Proximity Sensor Vi kommer att sätta upp en Raspberry Pi med en Bluetooth-adaptern är ute efter när din smartphone är utom räckvidd och snapar ett relä till handling för att låsa dörren. Läs mer skanning för att upptäcka närvaron av användaren - jag ville ta med något sådant i OpenHAB.

På någon annan plattform än Raspberry Pi skulle det vara enkelt tack vare en färdig Bluetooth-bindning; tyvärr fungerar det inte på Pi på grund av en avgörande Java-fil som skulle behöva återkompileras för ARM-arkitekturen, läggas till bindningen och sedan bygga om bindningen. Det var tillräckligt att säga, jag försökte det, och det var grymt komplicerat och fungerade inte. Det finns emellertid en mycket lättare lösning som också fungerar som en bra introduktion till OpenHABs utökningsförmåga: Vi anpassar oss bara till vårt tidigare Python-skript för att få det att rapportera direkt till OpenHAB RESTful-gränssnittet.

Bortsett: ett RESTful gränssnitt innebär att du kan interagera med ett system med hjälp av den inbyggda webbservern, helt enkelt genom att ringa URL-adresser och överföra eller hämta data. Du kan besöka den här webbadressen för att se ett enkelt exempel på detta på din egen server: http: //raspberrypi.local: 8080 / rest / items - som matar ut en kodad lista över alla dina definierade objekt. Detta är oerhört kraftfullt, eftersom det avslöjar OpenHABs fulla potential och låter dig skriva anpassade gränssnitt. eller i använd omvänd, för att rapportera status för sensorer utan att ha en specifik bindning. Vi använder denna möjlighet att rapportera närvaron av en viss Bluetooth-enhet utan att tillgripa Bluetooth-bindningen.

Börja med att lägga till ett nytt Byt objekt till din home.items- fil. Jag har kallat min "JamesInOffice", och jag har gjort den till en växel snarare än en enkel på / av-kontakt så att jag manuellt kan kontrollera min närvaro om min telefon dör.

 Switch JamesInOffice "James in Office" (Office) 

Observera att jag inte har definierat en ikon eller associerad med en specifik bindning. Det är bara en generisk omkopplare.

Sätt sedan in en kompatibel USB Bluetooth-dongle och installera några grundläggande verktyg för att interagera med det.

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

Det sista kommandot ska visa din Bluetooth-adapter. Om inget listas, försök en annan adapter, din är inte kompatibel med Linux. Nästa steg är att hitta enhetens Bluetooth-hårdvaruadress.

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

Kontrollera att telefonen är öppen på sidan Bluetooth-inställningar (som sätter den i parning / offentligt läge) och självklart att Bluetooth är aktiverad. Du bör hitta en hexadecimal maskinvaruadress som anges.

bluetooth identifierad

Skapa en ny Python-skript från din Pi-användarens hemkatalog och klistra in i den här koden.
Det finns några saker du behöver redigera, från och med din specifika enhetsadress:

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

Förutom den här raden, som ligger på två ställen (ja, det kan troligtvis vara strukturerat bättre). Byt JamesInOffice till kodnamnet på den omkopplare du definierade.

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

Det sista steget är att berätta för detta skript att starta vid starttid.

 sudo nano /etc/rc.local 

Bläddra ner till botten och precis före utgången 0, lägg till följande rader:

 python /home/pi/detect.py & 

Skiltet betyder "gör det här i bakgrunden". Fortsätt och kör skriptet om du inte redan har öppnat ditt OpenHAB-gränssnitt. Om du har lagt till den i en grupp klickar du till den gruppen. Det tar ungefär 10 sekunder att uppdatera, men du kommer att se standardblinkersymbolen på eller av beroende på om din telefon är detekterad eller inte. Kontrollera loggfilen om inget händer, det kan vara att du har använt felaktigt artikelnamn.

OpenHAB Mobile App

Även om du självklart kan använda webbgränssnittet från en mobil enhet, har OpenHAB inbyggda appar för både iOS och Android - och de ser mycket trevligare ut än standardwebbläsargränssnittet. På inställningsskärmen anger du den lokala webbadressen som den interna IP som du har använt tills nu, inklusive portnumret. För fjärradress, skriv in https://my.openhab.org och du användarnamn (e-postadress) och lösenord som du angav när du registrerade dig. Om du inte har registrerat dig för MyOpenHAB än, lämna bara autentisering och fjärrwebbadress tomt, men du kommer bara att komma åt ditt system från din lokala Wi-Fi.

openhab-mobil

Flytta framåt och få hjälp

Mängden anpassning och snygga funktioner du kan lägga till på din OpenHAB-kontroller är verkligen typ av episk. Förutom den stora listan över enheter som stöds med bindningar kan du använda RESTful-gränssnittet, HTTP-tillägg och IFTTT för att läsa från eller kontrollera bokstavligen någon typ av IoT-enhet, och sedan några (försök några av våra kreativa belysningsideer 7 Creative Användningar för färgad LED-hemautomatiseringsbelysning 7 Kreativa användningsområden för färgad lysdiod Hemautomatisering Belysning Det är säkert coolt att sätta på dina ljus automatiskt, men det utnyttjar inte det fulla spektrumet av färger som finns med RGB-belysning. För det behöver vi bli kreativa . Läs mer ). Ja, det är en absolut smärta att installera, men inte ett enda kommersiellt system kan komma nära kraften i ett anpassat OpenHAB-system.

Som sagt var det inte lätt för mig, det var just därför jag skrev den här guiden för att underlätta processen för dig. Håll dig klar till MakeUseOf för en avancerad guide som täcker Z-Wave och andra coola trick du kan ställa in.

Om du behöver hjälp med en viss del av den här handboken, vänligen fråga i kommentarerna. Om du vill ha hjälp med en annan bindning eller några avancerade ämnen som vi inte har täckt än, är de officiella OpenHAB-forumen en välkomnande plats.

In this article