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

Komma igång med OpenHAB Home Automation på Raspberry Pi
Den här guiden finns att ladda ner som en gratis PDF. Ladda ner den här filen nu . Kopiera gärna och dela detta med dina vänner och familj.

OpenHAB är en mogen plattform för hemautomatisering med öppen källkod som körs på en mängd olika hårdvaror och är protokollagnostisk, vilket innebär att den kan ansluta till nästan vilken hushållsmaskinvara som finns på marknaden idag. Om du har varit frustrerad över antalet tillverkarspecifika appar du behöver köra bara för att styra dina lampor, så har jag goda nyheter för dig: OpenHAB är lösningen du har letat efter - det är det mest flexibla smarta hemmet nav du någonsin kommer att hitta.





Tyvärr är det ungefär så långt du kan komma från konsumentvänligt - men som alltid är det där MakeUseOf kommer in: vi visar dig hur du kommer igång med de ultimata smarta hemmapengarna behöver inte köpa (eftersom OpenHAB är 100% gratis - bara leverera hårdvaran).





Den första delen av den här guiden fokuserar specifikt på hur du får OpenHAB -installation med en Raspberry Pi 2 , men vidare kan självstudier och råd tillämpas överallt där OpenHAB är installerat.





Denna guide täcker tre inledande ämnen och ett något mer avancerat.

  • Att få OpenHAB igång med Pi och installera demo house -konfigurationen för att kontrollera att kärnsystem fungerar.
  • Så här lägger du till bindningar och profiler för enheter. Jag kommer att arbeta med Philips Hue.
  • Aktivera fjärråtkomst och ansluta till IFTTT.
  • Lägga till en DIY -närvarosensor med Bluetooth och en introduktion till REST -gränssnittet.
  • Konfigurera mobilappen OpenHAB.

Vad du behöver

Åtminstone behöver du en Raspberry Pi (v2, helst) och en Ethernet- eller trådlös adapter (Ethernet föredras, den här guiden innehåller inte instruktioner om hur din Wi-Fi-adapter fungerar). Allt annat är valfritt. Observera att OpenHAB också körs på den ursprungliga Raspberry Pi, men det finns 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 allt annat verkar fungera bra. Du kan alltid uppgradera till den senaste Pi om och när du lägger till Z-Wave.



Den här lilla saken kan vara det bästa smarta hemmet du någonsin har haft!

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





Jag föreslår 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 anpassningar för dina behov, och det bästa sättet att säkerställa framgång är att arbeta långsamt och slutföra en bit i taget.

Den goda nyheten är att när det väl fungerar är det en stenhård upplevelse 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 utan huvud på RPi - omkostnaderna för att hantera ett GUI som du sällan använder är inte värt det.

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

sudo raspi-config

Utöka filsystemet; och från den avancerade menyn, ändra minnesdelningen till 16. När du är klar startar du om och kör som en bra metod en fullständig uppdatering

sudo apt-get update
sudo apt-get upgrade

Det enklare sättet att installera OpenHAB -körtiden ä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

Märkligt nog installerades allt som ägt 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 lättare 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 -stöd:

wins support = yes

(du måste avmarkera raden och ändra nej till ja)

lägg sedan till följande i delningsdefinitionsavsnittet (rulla hela vägen ner till botten av 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å resurser eftersom konfigurationsfilerna faktiskt lagras separat i tilläggen.

Spara och avsluta. Vi måste äntligen ställa in ett Samba -lösenord för openhab -användaren:

sudo smbpasswd -a openhab

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

Tack till läsaren David L - det verkar som om metoden för att starta om Samba har ä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änder sudo service samba starta om ), testa att du kan komma åt den delade enheten. Det kanske inte upptäcks automatiskt på en Mac; men du kan använda Upphittare -> -> Anslut till servern och adressen

smb://openhab@raspberrypi.local

Verifiera med användarnamn openhab och ditt valda lösenord, ö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 felmeddelande eftersom vi inte har skapat en webbplatskarta ännu. Det är normalt.

Nu skulle det vara en bra tid att lära sig kommandot för att skräddarsy 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 det i ett separat SSH -fönster hela tiden medan du fortsätter med guiden.

Installera Demo House

Innan vi fördjupar oss i komplexiteten i konfigurationsfiler, lägger till enheter och bindningar etc; låt oss kontrollera att allt fungerar genom att lägga till demoinnehållet. Du hittar 'Demo Setup' under nedladdningsavsnittet på OpenHAB.org.

När du har packat upp den finns det två mappar: tillägg och konfigurationer .

Använd nätverksresurserna och kopiera konfigurationer till OpenHAB Config dela och skriv över den befintliga mappen. Kopiera tillägg till den andra OpenHAB Home dela, igen, skriva över befintliga mappar. Om du inte uppmanas att skriva över något gör du det fel. Om du har koll på felsökningsloggfilen bör du se en fladdrande aktivitet när den märker de nya bindningarna och rör sig till handling. Öppna raspberrypi.local: 8080/openhab.app? Sitemap = demo för att se demoen.

Det ser lite grundläggande ut just nu, men OpenHABs öppna natur innebär att vi kan installera ett härligt nytt tema senare eller ett alternativt gränssnitt helt. För tillfället behövde vi bara veta att allt fungerar. Observera att det vi tittar på kallas a webbplatskarta (inget att göra med en webbplatskarta). En webbplatskarta beskriver användargränssnittet - inte de faktiska 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 den här har skapats, öppna sitemaps/demo.sitemap filen på OpenHAB Config -resursen.

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 teknisk översikt av alla möjliga webbplatskartelement, men för nu räcker det bara 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 inne, öppna dig objekt/demo.items för. Återigen ser det skrämmande ut, men det är här du skapar objekt för att styra och definiera sensorer att spåra.

Så hur fungerar OpenHAB?

Nu när du har haft en snabb genomgång av mappen webbplatskarta och objekt, låt oss bryta ner exakt vad dessa filer är och de andra huvudkomponenterna i OpenHAB som kombineras för att skapa ditt kompletta smarta hem. Du hittar underkataloger för var och en av dessa i OpenHAB Config delade mapp.

Artiklar är en inventering av varje styrenhet, 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 anslutas till specifik bindning. (Nybörjartips: Stor bokstäver är viktigt när det gäller bindningar. Jag tillbringade en lång tid med att försöka räkna ut varför mina 'Hue' -lampor inte fungerade; det var för att de borde ha varit 'nyans' istället).

Webbplatskartor berör endast gränssnittet du ser när du öppnar OpenHAB -mobil- eller webbappen. Du kan styra exakt hur du vill att knapparna ska läggas ut och information presenteras. Du kan definiera grupper på högsta nivå för varje rum i ditt hus; genom att klicka på var och en visar en lista över alla enheter i rummet. Eller du kanske föredrar att visa grupper för varje typ av enhet: en knapp för lampor, en annan för eluttag. Det kan finnas vissa enheter du använder så ofta att du bara vill ha en switch för dem direkt på startskärmen.

Regler är där hemautomatiseringsaspekten spelar in, där du kan definiera scheman eller villkor för att en åtgärd ska hända. Enkla händelser som att tända sovrumsljusen vid 22 -tiden till en varm röd färg; eller mer komplex logik som att slå på en rumsvärmare om temperaturen är lägre än 0 och någon är närvarande i det rummet. Du hittar också en skript mapp, som erbjuder liknande funktioner som regler men på en mer komplex nivå av programmerbar logik.

Uthållighet är ett avancerat ämne som vi inte kommer att behandla i den här guiden, men uthållighet definierar data som du vill ha ett register över. Som standard kommer OpenHAB bara att visa det aktuella tillståndet för något; om du vill spåra det värdet över tid måste du ställa in en persistensdefinition för den datakällan. I det här anger du saker som hur ofta en datapunkt ska mätas, eller när du ska kasta gamla datapunkter - du måste också berätta vilken typ av uthållighetsmotor som ska användas, till exempel MySQL eller enkel loggning till en fil .

Omvandla innehåller mappningar för datavärden till etiketter. Till exempel humidex.skala filen definierar ett intervall av luftfuktighetsindexvärden och hur de ska visas på engelska: 29-38 är 'viss obehag'.

De webbplatskarta och objekt filer är viktiga för att OpenHAB ska kunna köras; resten är valfria. Du kan ha flera webbplatskartor och objekt, så att du kan behålla demoinnehållet och återvända till det när som helst, eller prova en ny layout för ditt hemkontrollgränssnitt. Oroa dig inte om det här verkar lite överväldigande just nu, vi delar upp det i hanterbara bitar och jag lovar att i slutet av den här guiden har du självförtroende för att skapa din egen OpenHAB -installation.

Därefter leder vi dig genom att lägga till några vanliga smarta hempaket, från början i en ny webbplatskarta. Var och en kommer att introducera några kärnbegrepp, till exempel hur man installerar bindningar och artikeldefinitioner, så jag rekommenderar starkt att du läser igenom dessa instruktioner även om du inte äger just dessa enheter .

Börja med att skapa en ny (tom) hem. artiklar fil och en ny hem. webbplatskarta fil i relevanta kataloger. Öppna hem. webbplatskarta och klistra in följande kod. Detta fungerar bara som ett grundläggande skelett som vi kommer att lägga till bitar senare.

sitemap home label='My Home'
{

}

Du bör se ett meddelande om att OpenHAB har identifierat en ny webbplatskarta och objektfil.

aligncenter size-large wp-image-496593

Aktivera felsökningsläge

Medan du fortfarande försöker få OpenHAB att fungera korrekt kan det vara användbart att aktivera en mer utförlig felsökningslogg som listar allt, och inte bara de viktiga sakerna. För att aktivera det här läget öppnar du den delade mappen OpenHAB Config och redigerar logback.xml . På rad 40, ändra följande rad för att läsa DEBUG istället för INFO. Du måste starta om efter att du har ändrat detta.

Det här är en global förändring, så du kommer att få mycket mer information när du svänger loggfilen.

Lägger till Philips Hue

Jag ska börja med Philips Hue. Som de flesta saker du vill interagera med i OpenHAB kräver Hue -lampor att du installerar en bindande - tänk på bindningar som en enhetsdrivrutin. 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 samverka med allt och kombinera alla dessa olika styrsystem till ett enda enhetligt gränssnitt. Här är en demo och en snabb överblick över de inblandade stegen.

Bindningar måste först laddas ner, och det enklaste sättet att göra detta på Pi är att använda apt-get , tvinga sedan ägande 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 alla variabler som behövs. Bläddra till konfigurationsmappen och gör en kopia av openhab-default.cfg , namngav det openhab.cfg . Öppna det, sök efter NYANS 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, prova online -upptäcktsverktyget. Det hemliga värdet spelar egentligen ingen roll, det är bara ett slags användarnamn som OpenHAB kommer att använda för att identifiera sig till bron.

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

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

Spara och avsluta. Som alla andra Hue -applikationer måste du godkänna OpenHAB på Hue Bridge genom att trycka på knappen på framsidan - du behöver bara göra detta en gång. Du kommer att se ett meddelande om väntar på att bli ihopkopplad om du svänger loggfilen, men om du har glömt eller missat nedräkningen, återställ bara Pi - du får en 100 sekunders timer från när Hue -bindningen initieras. Se till att du har parat ihop innan du fortsätter.

Öppna sedan hem. artiklar fil, till vilken vi lägger till några Hue -lampor. Här är en exempelobjektdefinition:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • De Färg word anger vilken typ av kontroll vi har över denna artikel. RGB Hue -lampor är 'Color', eftersom vi har full färgkontroll av dem. Andra lampor kan bara vara en switch.
  • Därefter är objektets kodnamn: Jag valde Sovrum_Hue , men bokstavligen allt är bra - bara något beskrivande som känns naturligt för dig, eftersom du måste komma ihåg det senare när du gör webbplatskartan. Kodenamnet ska inte ha några mellanslag.
  • Mellan citattecken finns etiketten. Vårt är enkelt i det här fallet, men för vissa objekt som temperatur eller något som rapporterar ett värde lägger du till någon speciell kod som berättar hur man visar det värdet eller använder vad omvandla. Etiketten är för gränssnittet, och den kan ha mellanslag.
  • Mellan vinkelparenteserna finns namnet på ikonen. Du hittar alla tillgängliga ikoner i OpenHAB -resursen under webbappar/bilder katalog. Det finns faktiskt en hel rad nyansikoner som representerar olika ljusstyrkor eller på/av. Ange bara basikonnamnet - OpenHAB vet att automatiskt leta efter de olika på/av -ikonerna om detta är ett bytt objekt. Detta är valfritt.
  • I de runda parenteserna berättar vi för dem vilka grupper som ska ingå i - i det här fallet bara Sovrum grupp.
  • Slutligen och avgörande kopplar vi objektet till lämplig bindning med alla variabler som behövs. I det här fallet, nyans bindande och lampans nummer är 1. Du kan hitta numret genom att öppna den officiella Hue -applikationen och titta på fliken lampor. Varje lampa har ett unikt nummer.

Jag har lagt till totalt fyra lampor, samt en enkel deklaration av grupperna som vi kommer att utöka senare. Här är min kompletta hem. artiklar 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'}

De / * Ljus */ text är bara en kommentar, den 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, för vi har faktiskt inte skapat gränssnittselement i webbplatskartan ännu. Låt oss börja riktigt enkelt för tillfället. Öppna hem. webbplatskarta .

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 snabba tester, men i verkligheten vill du ha mer kontroll över hur föremålen visas. För nu räcker detta. Spara och ladda om din webbplatskarta i webbläsaren. Du bör se det här (eller vilka grupper du har lagt till).

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

Lägg märke till att Office Hue -objektet visas med en annan ikon - det beror på att mitt kontorslampa redan är tänt och OpenHAB vet detta när det talade till Hue -bron och var tillräckligt smart för att justera ikonen 'på' -versionen av filen. Tyvärr återspeglar det inte färgen, men om du har en mobilapp installerad återspeglar den den aktuella färgen.

Om du ser fler objekt än du trodde att du hade definierat eller fick fel om flera definitioner, vet du att även om du bara kan ladda en webbplatskarta åt gången på sidan alla webbplatskartor drar in objekt från alla .item -filer , så om du har lämnat demo -objektfilen där kan det hända att några andra objekt dyker upp i dina grupper också. Jag föreslår vid denna tidpunkt att säkerhetskopiera innehållet i demotyperna och flytta det från mappen för att undvika dubbleringsfel.

Fjärråtkomst och IFTTT med My.OpenHAB

Just nu måste du vara på samma lokala nätverk för att komma åt ditt OpenHAB-system, men vad händer om du vill styra dina enheter och kontrollera sensorer när du är utanför ditt Wi-Fi-område? För det måste vi konfigurera fjärråtkomst - och vi kommer att göra det på det enkla sättet, med My.OpenHAB -webbtjänsten [Bruten URL borttagen], som kringgår behovet av att röra med portvidarebefordran och routerkonfigurationer. Som en bonus har My.OpenHAB -tjänsten också en IFTTT -kanal, vilket ger dig oändliga möjligheter för fjärrkontroll och automatisering.

Först: installera bindningen. Snabbtips: om du inte vet 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 ditt UUID, som unikt identifierar din installation. Kontrollera under OpenHAB Home -delning -> webbappar -> statisk och du bör hitta en UUID -fil som innehåller din unika identifierare. Det var vid denna tidpunkt som jag upptäckte att min Pi använde en äldre version av Java som inte korrekt skapar den hemliga nyckeln. Typ

java -version

att kolla. Om det inte står 1,7 eller högre har du fel version. Märkligt nog, den senaste versionen av Raspbian kommer med Oracle Java 8 installerat, men inte som standard.

sudo update-alternativer --config java

hur man löser för en variabel i excel

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

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

Nu kan du skapa ett My.OpenHAB -konto med hjälp av dessa detaljer och sedan komma tillbaka - du måste också bekräfta din e -post innan något fungerar. Det finns ett par steg till. Först måste vi ställa in standard persistensmotorn till myopenhab (uthållighet är något för en senare guide, men oavsett måste vi konfigurera 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, öppna openhab.cfg och hitta variabeln som säger uthållighet: standard = och ändra det till uthållighet: standard = myopenhab . Spara.

Slutligen, skapa en ny fil i konfigurationer/uthållighet mapp som heter myopenhab.persist och klistra in 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 objektstatus när det ändras'.

För att komma i kontakt med IFTTT, gå till OpenHAB -kanal - du måste autentisera och ge den åtkomst till ditt MyOpenHAB -konto. Observera också att tills dina objekt har ändrats minst en gång, kommer de inte att synas i objektlistan på IFTTT, så om det inte är synligt, slå på och stäng av något och ladda sedan om det. Grattis, du har nu fullständig IFTTT -åtkomst till allt i ditt OpenHAB -system!

Bluetooth närvarosensor med REST

För en kort tid sedan visade jag dig hur du gör ett automatiskt kontorsdörrlås med Bluetooth -skanning för att upptäcka användarens närvaro - jag ville ta med något sådant till OpenHAB.

På någon annan plattform än Raspberry Pi skulle detta 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 kompileras om för ARM -arkitekturen, läggas till bindningen och sedan bygga om bindningen. Det räcker att säga, jag försökte det, och det var fruktansvärt komplicerat och fungerade inte. Det finns emellertid en mycket enklare lösning som också fungerar som en bra introduktion till OpenHAB: s utökningsbarhet: vi kommer helt enkelt att anpassa 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 den inbyggda webbservern, helt enkelt genom att ringa webbadresser och skicka in eller hämta data. Du kan besöka denna URL för att se ett enkelt exempel på din egen server: http: //raspberrypi.local: 8080/rest/items - som matar ut en kodad lista över alla dina definierade objekt. Detta i otroligt kraftfullt, eftersom det avslöjar hela potentialen i OpenHAB och låter dig skriva anpassade gränssnitt; eller i omvänd användning, för att rapportera status för sensorer utan att ha en specifik bindning. Vi använder den här funktionen för att rapportera närvaron av en specifik Bluetooth -enhet utan att använda Bluetooth -bindningen.

Börja med att lägga till en ny Växla objekt till din hem. artiklar fil. Jag har kallat min 'JamesInOffice', och jag har gjort det till en switch snarare än en enkel på/av -kontakt så att jag manuellt kan styra min närvaro om min telefon dör.

Switch JamesInOffice 'James in Office' (Office)

Lägg märke till att jag inte har definierat en ikon eller associerat en specifik bindning. Det är bara en generisk switch.

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

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

Det sista kommandot bör visa din Bluetooth -adapter. Om inget finns listat, prova en annan adapter, din är inte kompatibel med Linux. Nästa steg är att hitta enhetens Bluetooth -maskinvaruadress.

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

Se till att telefonen är öppen på sidan med Bluetooth -inställningar (som sätter den i parning/offentligt läge) och uppenbarligen att Bluetooth är aktiverat. Du bör hitta en hexadecimal hårdvaruadress som anges.

Skapa ett nytt Python -skript och klistra in den här koden .

Det finns några saker du måste redigera, från och med din specifika enhetsadress:

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

Samt den här raden, som finns på två ställen (ja, den här kan nog byggas bättre). Ändra JamesInOffice till kodnamnet på den switch du definierade.

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

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

sudo nano /etc/rc.local

Rulla ner till botten och strax före avfart 0, lägg till följande rader:

python /home/pi/detect.py &

& -Tecknet betyder 'gör detta i bakgrunden'. Kör skriptet om du inte redan har gjort det och öppna ditt OpenHAB -gränssnitt. Om du har lagt till den i en grupp, klicka dig vidare till den gruppen. Det tar cirka 10 sekunder att uppdatera, men du kommer att se att standardlampan tänds eller stängs av beroende på om din telefon upptäcks eller inte. Kontrollera loggfilen om ingenting händer, det kan vara att du har använt fel artikelnamn.

OpenHAB Mobile App

Även om du naturligtvis kan använda webbgränssnittet från en mobil enhet, har OpenHAB inbyggda appar för båda ios och Android - och de ser ut massa trevligare än standard webbläsargränssnitt. På inställningsskärmen anger du den lokala URL: en som den interna IP -adressen du har använt tills nu, inklusive portnumret. För fjärradress, ange https://my.openhab.org , och ditt användarnamn (e -post) och lösenord som du angav när du registrerade dig. Om du inte har registrerat dig för MyOpenHAB än, lämna bara autentiseringen och fjärradressen tom, men du kommer bara åt ditt system från din lokala Wi-Fi.

Gå framåt och få hjälp

Mängden anpassning och snygga funktioner som du kan lägga till din OpenHAB -kontroller är verkligen typiskt. 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 styra bokstavligen någon form av IoT -enhet, och sedan några (prova några av våra kreativa belysningsidéer). 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, resan var inte alls lätt för mig, och det är just därför jag skrev den här guiden för att underlätta processen för dig. Och om du tycker att OpenHAB-systemet är överväldigande finns det andra alternativ när det gäller hallonautomatik --- som att använda Raspberry Pi för att automatisera din garageport.

Håll utkik efter MakeUseOf för en avancerad guide som täcker Z-Wave och andra häftiga tricks du kan ställa in.

Om du behöver hjälp med en specifik del av den här guiden, vänligen fråga bort i kommentarerna. Om du vill ha hjälp med en annan bindning eller några avancerade ämnen som vi inte har täckt än, gör officiella OpenHAB -forum är ett välkomnande ställe.

Dela med sig Dela med sig Tweet E-post 5 tips för att ladda dina VirtualBox Linux -maskiner

Trött på den dåliga prestanda som erbjuds av virtuella maskiner? Här är vad du bör göra för att öka din VirtualBox -prestanda.

Läs Nästa
Relaterade ämnen
  • DIY
  • Smart hem
  • Hemautomation
  • Lång form
  • Longform Guide
  • Smarta nav
Om författaren James Bruce(707 artiklar publicerade)

James har en BSc i artificiell intelligens och är CompTIA A+ och Network+ -certifierad. När han inte är upptagen som Hardware Reviews Editor, gillar han LEGO, VR och brädspel. Innan han började på MakeUseOf var han belysningstekniker, engelsklärare och datacenteringenjör.

Mer från James Bruce

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera