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

Komma igång med OpenHAB Home Automation på Raspberry Pi / Smart hem

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 att OpenHAB är 100% gratis - leverera bara hårdvaran).

Den första delen av denna guide 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.

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 finns också tillgänglig 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 att hoppa in i den djupa änden och lägga 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 lyckas är att arbeta långsamt och slutföra en bit 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 använder är inte värt det.

Börja med den senaste (fullständiga) Raspbian SD-bilden (inte den “lite” version, 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-få uppdatering sudo apt-get uppgradering

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-få uppdatering sudo apt-get install openhab-runtime sudo uppdatering-rc.d openhab standard

Nyfiken, allt var installerat som ägs av “rot”. Vi måste fixa det med följande kommandon.

sudo chown -hR openhab: openhab / etc / openhab sudo chown -hR öppet: 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 installera samba samba-common-bin sudo nano /etc/samba/smb.conf

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

vinner support = ja

(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 Hemsida = / usr / share / openhab browseable = Ja writeable = Ja bara gäst = nej skapa mask = 0777 katalog mask = 0777 public = nej [OpenHAB Config] kommentar = OpenHAB Site Config path = / etc / openhab browseable = Ja writeable = Ja bara gäst = nej skapa mask = 0777 katalogmask = 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 föreslår “openhab” som lösenordet bara 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 aktivera sudo update-rc.d nmbd aktivera sudo service smbd starta om

Efter omstart av Samba (äldre installationer använder 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 Upphittare -> -> Anslut till servern 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.

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.

svansen -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. Hittar du “Demo Setup” under nedladdningsdelen av OpenHAB.org.

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

Använda nätverksaktierna, kopiera konfigurationer till OpenHAB Config dela och skriv över den befintliga mappen. Kopia addons till den andra OpenHAB Home dela om igen, skriva över de befintliga mapparna. 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 som den noterar de nya bindningarna och vrålarna till handling. Öppna raspberrypi.local: 8080 / openhab.app? Sitemap = demo för att se demoen.

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 a sitemap (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. För att titta på hur denna har skapats, öppna upp webbplatskartor / demo.sitemap filen på OpenHAB Config-aktien.

Det är ganska skrämmande, men för det mesta kommer du att kopiera klistra in kodfragment från exempel på andra ställen 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, öppna upp objekt / demo.items för. Å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.

artiklar ä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örjare tips: Kapitalisering är viktigt när det gäller bindningar. Jag har länge försökt uträtta varför min “Nyans” glödlampor fungerade inte; det var för att de borde ha varit “nyans” istället).

Sitemaps är bara bekymrad över gränssnittet som du ser 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 i 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 skript mapp, som erbjuder liknande funktionalitet till regler men på en mer komplex nivå av programmerbar logik.

Uthållighet ä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 ett register över. 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.

Omvandla innehåller mappings för datavärden till etiketter. Till exempel, humidex.scale fil definierar ett antal fuktighetsindexvärden och hur de ska visas på engelska: 29-38 är “lite obehag”.

De sitemap och objekt filer är nödvändiga 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 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 = "Mitt hem"  

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

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. Liksom de flesta saker som du vill interagera med i OpenHAB, krä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 det på Pi använder apt-get, tvinga ägande till openhab-användaren.

sudo apt-get install openhab-addon-bindande-färgton 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, namnge den openhab.cfg. Öppna det, sök efter NYANS och ersätt hela sektionen 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, “kommenterade”). Om du också försöker en alternativ konfiguration kan det 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å lätt om sakerna går fel.

################## HUE Binding ################################################################################ #########################
# IP av nyans broskärm: ip = 192.168.1.216 nyans: hemlig = makeuseofdotcom nyans: refresh = 10000

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 väntar på att vara parad om du tappar loggfilen, men om du har glömt eller missat räkna ned, bara återställ Pi - du får 100 sekunders timer från när Hue-bindningen startas. Se till att du har lyckats para ihop innan du fortsätter.

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

Färg Bedroom_Hue "Bedroom Hue"  (Sovrum) hue = "1"
  • De Färg ordet specificerar 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 objektet: 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 vad omvandla. 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 rundkonsolerna berättar vi vilka grupper som ska vara en del av - i det här fallet bara Sovrum grupp.
  • Slutligen och väsentligt kopplar vi objektet till lämplig bindning med alla nödvändiga variabler. I det här fallet nyans bindning, och lampans nummer är 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 min komplett home.items vid denna tidpunkt:

Group Bedroom Group Office Group Kai Group Living_Room Group Cinema Group Secret
Gruppljus
/ * Lights * / Color Bedroom_Hue "Bedroom Hue"  (Sovrum, ljus) hue = "1" Färg Office_Hue "Office Hue"  (Office, Lights) hue = "2" Färg Secret_Hue "Secret Hue"  (Secret, Lights) hue = "3" Färg Kai_Hue "Kai's Hue"  (Kai, Lights) hue = "4"

De / * 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 home.sitemap.

Koden som används för att beskriva gränssnittet skiljer sig från objekt, men för närvarande ska vi skapa en ny “ram” och lägg till ett par gruppkontroller tillsammans med några ikoner.

sitemap home label = "Mitt hem" Ram Gruppobjekt = Lights label = "All lighting" icon = "nyans" Gruppobjekt = Sovrumslabel = "Sovrum" ikon = "sovrum" Gruppobjekt = Office label = "Office" ikon = "skrivbord"

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).

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

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 “på” version 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 alla webbplatskartor kommer att dra in objekt från alla .item-filer, så om du har lämnat demo-objektfilen där kan du få några ytterligare saker att visas 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 automatisering.

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.

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. Kontrollera under OpenHAB Home share -> webapps -> statisk och du bör 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

Välj det alternativ som indikerar jdk-8-orakel, starta om OpenHAB. Bonus: Oracle Java 8 är snabbare än standard OpenJDK!

Nu borde du också hitta en hemlig fil i webapps / statisk mapp. Öppna båda hemlighet och uuid, och var redo att kopiera pasta.

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ågot 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 öppnar du openhab.cfg och hittar variabeln som säger persistens: default = och ändra den till persistens: default = myopenhab. Spara.

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

Strategier default = everyChange Objekt *: strategy = everyChange 

Du behöver inte förstå detta för nu, men vet att det står “spara varje objekt tillstånd när det ändras”.

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-tillgång till allt i ditt OpenHAB-system!

Bluetooth Presence Sensor använder REST

För ett tag 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 till 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 enkelt 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 en ny Växla objekt till din home.items fil. Jag har kallat min “JamesInOffice”, och jag har gjort det 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.

Byt 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 installeringsförfrågningar 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.

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 / resten / objekt / JamesInOffice / state", data = nyttolast) 

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 &

& Tecknet betyder “gör detta 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 inhemska appar för både iOS och Android - och de ser en massa trevligare än standardwebbgrä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, ange https://my.openhab.org, och du användarnamn (email) 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.

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 hos 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. Och om du hittar OpenHAB-systemet överväldigande, finns det andra alternativ när det gäller Frambärsautomatisering - som att använda Raspberry Pi för att automatisera din garageport Hur man automatiserar din garageport med IFTTT och Raspberry Pi Hur man automatiserar din garageport med IFTTT och Raspberry Pi I denna handledning visar vi dig hur du automatiserar din garageport med ingenting annat än en Raspberry Pi och IFTTT. Läs mer till exempel.

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.

Utforska mer om: Hemautomation, Longform Guide, Smart Hubs.