Aan de slag met OpenHAB Home Automation op Raspberry Pi

Aan de slag met OpenHAB Home Automation op Raspberry Pi / Slimme woning

OpenHAB is een volwassen, open source domotica-platform dat op verschillende hardware draait en is protocol agnostisch, wat betekent dat het verbinding kan maken met bijna elke huisautomatiseringshardware die tegenwoordig op de markt is. Als je gefrustreerd bent over het aantal fabrikantspecifieke apps dat je nodig hebt om alleen je lampen te besturen, heb ik goed nieuws voor je: OpenHAB is de oplossing waar je naar op zoek was: het is het meest flexibele slimme huis hub Welke slimme hub voor domotica is het beste voor u? Welke slimme hub voor domotica is het beste voor u? Een tijdlang dachten mensen dat het idee niets meer was dan een gimmick, maar recente productreleases hebben aangetoond dat slimme huisautomatisering zijn beloftes waarmaakt. Meer lezen dat je ooit zult vinden.

Deze handleiding kan als gratis PDF worden gedownload. Download nu Getting Started met OpenHAB Home Automation op Raspberry Pi. U kunt dit kopiëren en delen met uw vrienden en familie.

Helaas is het zo ver als je kunt krijgen van consumentenvriendelijk - maar zoals altijd komt daar MakeUseOf om de hoek kijken: we laten je zien hoe je aan de slag kunt met het ultieme slimme thuissysteem dat geld niet hoeft te kopen (omdat OpenHAB is 100% gratis - bezorg gewoon de hardware).

Het eerste deel van deze gids richt zich specifiek op het verkrijgen van OpenHAB setup met een Raspberry Pi 2, maar verder kunnen de tutorials en adviezen overal waar OpenHAB is geïnstalleerd worden toegepast.

Deze gids behandelt drie inleidende onderwerpen en één iets geavanceerder.

  • OpenHAB op de Pi opstarten en de demo-huisconfiguratie installeren om na te gaan of de kernsystemen werken.
  • Bindingen en profielen voor apparaten toevoegen. Ik zal werken met Philips Hue.
  • RAS-toegang inschakelen en verbinden met IFTTT.
  • Een DHZ-aanwezigheidssensor toevoegen via Bluetooth en een inleiding tot de REST-interface.
  • De OpenHAB mobiele app configureren.

Wat je nodig hebt

Op zijn minst heb je een Raspberry Pi (v2, bij voorkeur) en een Ethernet- of draadloze adapter nodig (Ethernet heeft de voorkeur, deze handleiding bevat geen instructies om je wifi-adapter te laten werken. Draadloos netwerken opzetten op je Raspberry Pi Opzetten van draadloze netwerken op uw Raspberry Pi Vrijwel elk Raspberry Pi-project vereist een netwerkverbinding en er kan aanzienlijke flexibiliteit worden verkregen door de Ethernet-poort te negeren in het voordeel van een draadloze USB-dongle. Al het andere is optioneel. Merk op dat OpenHAB ook op de originele Raspberry Pi zal draaien, maar er is een bekend probleem met tragere verwerking en Z-Wave-apparaten. Als je Z-Wave niet nodig hebt, kun je deze waarschuwing negeren en doorgaan met een Raspberry Pi-model B of B +, omdat al het andere prima lijkt te werken. Je kunt altijd upgraden naar de nieuwste Pi als en wanneer je Z-Wave toevoegt.

Dit kleine ding kan de beste slimme thuisbasis zijn die je ooit hebt gehad!

Op het moment van schrijven is de nieuwste stabiele versie van OpenHAB versie 1.71; versie 1.8 wordt binnenkort verwacht, en alles in deze handleiding moet nog steeds relevant zijn, hoewel bepaalde bindingen mogelijk meer functies hebben. Versie 2 is momenteel ook beschikbaar als een zeer vroege alfavoorbeeld, maar gebruikt een dramatisch andere architectuur dan de OpenHAB 1-serie: deze handleiding is niet compatibel met versie 2.

Ik raad u ten sterkste aan om deze gids langzaam en methodisch te volgen - probeer niet in het diepe te springen en alles tegelijk toe te voegen. Ja, het is een lange handleiding - OpenHAB is een moeilijk systeem dat vaak moet worden aangepast aan uw behoeften, en de beste manier om succes te garanderen is om langzaam te werken en één stuk tegelijk te voltooien.

Het goede nieuws is dat als het eenmaal werkt, het een rotsvaste ervaring is en ongelooflijk lonend.

Installeren van OpenHAB

Er is geen vooraf geconfigureerde afbeelding voor OpenHAB, dus de installatie gebeurt op de ouderwetse manier via een opdrachtregel. Ik stel voor dat je zonder hoofd werkt op de RPi - de overhead van het beheren van een GUI die je zelden zult gebruiken, is het niet waard.

Begin met de nieuwste (volledige) Raspbian SD-afbeelding (niet de “lite” versie, deze omvatten niet de Java Virtual Machine). Zorg dat je netwerkkabel is aangesloten, start dan op en navigeer door SSH. Rennen:

sudo raspi-config

Vouw het bestandssysteem uit; en stel in het geavanceerde menu de geheugensplitsing in op 16. Als u klaar bent, start u opnieuw op en voert u een goede update uit

sudo apt-get update sudo apt-get upgrade

De eenvoudigste manier om de OpenHAB-runtime te installeren is via apt-get, maar eerst moeten we een beveiligde sleutel en de nieuwe repository toevoegen:

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

Merkwaardig genoeg is alles geïnstalleerd zoals eigendom van “wortel”. We moeten dit oplossen met de volgende opdrachten.

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

Vervolgens zullen we Samba installeren en de configuratie- en gebruikersmappen delen - dit maakt het gemakkelijker om add-ons te installeren en de sitemap op afstand te wijzigen.

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

Wijzig de werkgroepnaam indien nodig, maar schakel anders WINS-ondersteuning in:

wint support = ja

(je moet de regel verwijderen en nee veranderen in ja)

voeg vervolgens het volgende toe aan de sectie met deeldefinities (scrol helemaal omlaag naar de onderkant van het lange bestand):

[OpenHAB Home] comment = OpenHAB Home pad = / usr / share / openhab browseable = Ja writeable = Ja alleen guest = no create mask = 0777 directory masker = 0777 public = nee [OpenHAB Config] comment = OpenHAB Site Config path = / etc / openhab browseable = Ja beschrijfbaar = Ja alleen gast = nee maak masker = 0777 mapmasker = 0777 openbaar = nee

Ik heb ook een opmerking gemaakt bij de afdeling Printers. Ik heb twee gedeelde mappen gemaakt, omdat de configuratiebestanden afzonderlijk worden opgeslagen in de add-ons.

Opslaan en afsluiten. We moeten eindelijk een Samba-wachtwoord instellen voor de openhab-gebruiker:

sudo smbpasswd -een openhab

Ik zou voorstellen “openhab” als het wachtwoord alleen voor gebruiksgemak, maar het maakt niet echt uit.

Dank aan lezer David L - het lijkt erop dat de herstartmethode van Samba is veranderd in de nieuwste Raspian. Hier zijn de bijgewerkte instructies:

sudo update-rc.d smbd inschakelen sudo update-rc.d nmbd inschakelen sudo service smbd herstarten

Na het herstarten van Samba (oudere installaties gebruiken sudo service opnieuw opstarten), test u toegang tot de gedeelde schijf. Het is misschien niet automatisch ontdekt op een Mac; maar je kunt de gebruiken vinder -> Gaan -> Connecteer met de server en het adres

smb: //[email protected]

Verifieer met gebruikersnaam openhab en het wachtwoord dat je hebt gekozen, open vervolgens je beide shares om rond te kijken. U moet zelfs http: //raspberrypi.local: 8080 / in uw webbrowser kunnen openen, maar er is een fout opgetreden omdat we nog geen sitemap hebben gemaakt. Dat is normaal.

Nu zou het een goed moment zijn om de opdracht om het OpenHAB-log uit te kloppen te leren, zodat u fouten in de gaten kunt houden.

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

Houd dat altijd actief en open in een apart SSH-venster terwijl u doorgaat met de gids.

Installeer het demohuis

Voordat we ingaan op de fijne kneepjes van configuratiebestanden, apparaten en bindingen toevoegen etc; laten we controleren of alles werkt door de demo-inhoud toe te voegen. U zult vinden “Demo-instellingen” onder de downloadsectie van OpenHAB.org.

Nadat je het hebt uitgepakt, zijn er twee mappen: addons en configuraties.

Gebruik de netwerkshares, kopiëren configuraties naar de OpenHAB Config deel en overschrijf de bestaande map. Kopiëren addons naar de andere OpenHAB Home deel, wederom, overschrijf de bestaande mappen. Als u niet wordt gevraagd om iets te overschrijven, doet u het verkeerd. Als u het logbestand voor foutopsporing in de gaten hebt gehouden, ziet u een golf van activiteit terwijl de nieuwe bindingen en wervelingen in actie komen. Open raspberrypi.local: 8080 / openhab.app? Sitemap = demo om de demo te zien.

Het is een beetje standaard kijkend naar het moment, maar de open aard van OpenHAB betekent dat we later een mooi nieuw thema of een alternatieve interface helemaal kunnen installeren. Voor nu moesten we weten dat alles werkt. Merk op dat waar we naar kijken een a heet sitemap (niets te maken met een website-sitekaart). Een sitemap beschrijft de gebruikersinterface - niet de daadwerkelijke apparaten op uw netwerk of sensoren - alleen de interface om ze te bekijken. Elk onderdeel ervan is volledig aanpasbaar. Als u wilt weten hoe deze is gemaakt, opent u de sitemaps / demo.sitemap bestand op de OpenHAB Config-share.

Het is behoorlijk ontmoedigend, maar voor het grootste deel kopieer je het kopiëren van fragmenten uit voorbeelden elders om je eigen aangepaste interface te maken. Hier is het technische overzicht van alle mogelijke sitemapelementen, maar voorlopig is het voldoende om te beginnen nadenken over wat voor soort interface u wilt bouwen en welke informatie u wilt weergeven.

Terwijl je daarbinnen bent, open je items / demo.items te. Nogmaals, ziet er eng uit, maar hier maak je items om sensoren te besturen en te definiëren om te volgen.

Dus hoe werkt OpenHAB?

Nu u de map sitemap en items snel heeft bekeken, laten we precies weergeven wat deze bestanden zijn en de andere hoofdcomponenten van OpenHAB die samen uw complete slimme huis vormen. U vindt submappen voor elk van deze in de gedeelde map OpenHAB Config.

items is een inventaris van elk besturingselement, sensor of informatie-element dat u in uw systeem wenst. Het hoeft ook geen fysiek apparaat te zijn - je zou een webbron kunnen definiëren zoals het weer of aandelenkoersen. Elk item kan een naam krijgen, meerdere groepen toegewezen krijgen (of geen) en verbonden zijn met specifieke binding. (Beginnertip: hoofdlettergebruik is belangrijk als het gaat om banden. Ik heb lang geprobeerd te achterhalen waarom mijn “Tint” bollen werkten niet; het was omdat ze hadden moeten zijn “tint” in plaats daarvan).

Sitemaps heeft alleen betrekking op de interface die u ziet wanneer u de OpenHAB-mobiel of web-app opent. U kunt precies regelen hoe u wilt dat de knoppen zijn ingedeeld en de informatie die wordt gepresenteerd. U kunt groepen op het hoogste niveau definiëren voor elke kamer van uw huis; als u op elk van deze knoppen klikt, ziet u een lijst van elk apparaat in die kamer. Of misschien geeft u er de voorkeur aan om groepen weer te geven voor elk type apparaat: een knop voor lichten, een andere voor stopcontacten. Er zijn mogelijk apparaten die u zo vaak gebruikt dat u gewoon een schakelaar voor hen wilt op het startscherm.

Reglement is waar het domotica-aspect in het spel komt, waar u schema's of voorwaarden kunt definiëren om een ​​actie te laten gebeuren. Simpele evenementen zoals het aansteken van de verlichting in de slaapkamer om 22.00 uur tot een warme rode kleur; of complexere logica zoals het inschakelen van een ruimteverwarmingstoestel als de temperatuur lager is dan 0 en iemand in die ruimte aanwezig is. Je zult ook een vinden scripts map, die dezelfde functionaliteit biedt als regels, maar op een meer complex niveau van programmeerbare logica.

volharding is een geavanceerd onderwerp dat we in deze handleiding niet zullen behandelen, maar persistentie definieert gegevens waarvan u een record wilt bijhouden. OpenHAB laat standaard alleen de huidige status van iets zien; Als u die waarde in de loop van de tijd wilt bijhouden, moet u een persistentiedefinitie voor die gegevensbron instellen. Hierin geeft u aan hoe vaak een gegevenspunt moet worden gemeten of wanneer oude gegevenspunten moeten worden verwijderd. U moet ook aangeven welk type persistentiemachine u moet gebruiken, zoals MySQL of eenvoudige logboeken naar een bestand..

Transformeren bevat toewijzingen voor gegevenswaarden aan labels. Bijvoorbeeld, de humidex.scale bestand definieert een bereik van vochtigheidsindexwaarden en hoe deze in het Engels moeten worden getoond: 29-38 is “wat ongemak”.

De sitemap en items bestanden zijn essentieel om OpenHAB uit te voeren; de rest is optioneel. U kunt meerdere sitemaps en items gebruiken, zodat u de demo-inhoud kunt behouden en er op elk gewenst moment naar kunt verwijzen, of een nieuwe lay-out kunt uitproberen voor uw home control-interface. Maak je geen zorgen als dit nu allemaal een beetje overweldigend lijkt, we zullen het opsplitsen in bruikbare stukjes en ik beloof je aan het einde van deze gids dat je vertrouwen hebt om je eigen OpenHAB setup te maken.

Vervolgens zullen we u begeleiden bij het toevoegen van een aantal veelgebruikte smart home-kits, die helemaal opnieuw beginnen in een nieuwe sitemap. Elk zal enkele kernconcepten introduceren, zoals het installeren van bindingen en itemdefinities, dus ik raad u aan deze instructies te lezen zelfs als je die specifieke apparaten niet bezit.

Begin met het maken van een nieuwe (blanco) home.items bestand en een nieuw bestand home.sitemap bestand in de relevante mappen. Doe open home.sitemap en plak in de volgende code. Dit fungeert gewoon als een basisskelet waaraan we later bits zullen toevoegen.

sitemap home label = "Mijn huis"  

U zou een melding moeten zien dat meldt dat OpenHAB een nieuw sitemap- en itemsbestand heeft geïdentificeerd.

Schakel de Debug-modus in

Terwijl u nog steeds probeert om OpenHAB goed te laten werken, kan het handig zijn om een ​​meer uitgebreid logboek voor foutopsporing in te schakelen dat alles weergeeft, en niet alleen de belangrijke dingen. Om deze modus in te schakelen, opent u de gedeelde map van OpenHAB Config en bewerkt u de logback.xml. Wijzig op regel 40 de volgende regel om DEBUG te lezen in plaats van INFO. U moet opnieuw opstarten nadat u dit hebt gewijzigd.

Dit is een algemene wijziging, dus u krijgt veel meer informatie zodra u het logbestand volgt.

Philips Hue toevoegen

Ik ga met Philips Hue beginnen. Zoals de meeste dingen waar je in OpenHAB mee wilt communiceren, hebben hue-lampen de jij nodig om een ​​te installeren verbindend - denk aan bindingen als een apparaatstuurprogramma. Op het moment van schrijven zijn er ongeveer 160 bindingen beschikbaar voor OpenHAB 1, wat de reden is dat OpenHAB zo'n krachtig systeem is - het kan met alles een interface vormen en al die verschillende besturingssystemen combineren in één enkele interface. Hier is een demo en een snel overzicht van de stappen die zijn uitgevoerd.

Bindingen moeten eerst worden gedownload en de eenvoudigste manier om dit op de Pi te doen, is het gebruik apt-get, vervolgens het eigendom afdwingen bij de openhab-gebruiker.

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

Vervolgens moet u OpenHAB opdracht geven om die binding in te laden en eventuele variabelen te configureren. Blader naar de configuratiemap en maak er een kopie van openhab-default.cfg, het benoemen openhab.cfg. Open dat, op zoek naar TINT en vervang de hele sectie door de volgende code. Het enige dat u moet wijzigen, is de IP-waarde van uw bridge. Probeer het online discovery-hulpmiddel als u het nog niet weet. De geheime waarde doet er niet echt toe, het is gewoon een soort gebruikersnaam die OpenHAB zal gebruiken om zichzelf te identificeren aan de brug.

Snelle tip: om een ​​regel in te schakelen, verwijdert u de # vanaf het begin. Standaard is de regel die het IP-adres van de bridge opgeeft uitgeschakeld (of technisch gezien, “becommentarieerd”). Als u een alternatieve configuratie probeert, kan het handig zijn om gewoon de bestaande regel te kopiëren en een # aan het begin te plaatsen om het als een opmerking te markeren, zodat u gemakkelijk kunt terugkeren als het misgaat.

################################ HUE Binding ################ #########################
# IP van de Hue-brugtint: ip = 192.168.1.216 tint: geheim = makeuseofdotcom tint: refresh = 10000

Opslaan en afsluiten. Net als elke andere Hue-applicatie van derden, moet je OpenHAB op de Hue Bridge goedkeuren door op de knop op de voorkant te drukken - je hoeft dit maar één keer te doen. U ziet een bericht over klaar om te worden gekoppeld als u het logbestand volgt, maar als u het aftellen bent vergeten of gemist, reset u gewoon de Pi - u krijgt een timer van 100 seconden vanaf het moment waarop de Hue-binding is gestart. Zorg ervoor dat u een koppeling hebt gemaakt voordat u doorgaat.

Open vervolgens de home.items bestand, waaraan we enkele Hue-lampen toevoegen. Hier is een definitie van een voorbeelditem:

Kleur Bedroom_Hue "Bedroom Hue"  (Slaapkamer) hue = "1"
  • De Kleur woord geeft aan wat voor soort controle we hebben over dit item. RGB-tintlampen zijn “Kleur”, omdat we er volledige kleurcontrole over hebben. Andere lampen kunnen slechts een schakelaar zijn.
  • Volgende is de codenaam van het item: ik heb gekozen Bedroom_Hue, maar letterlijk alles is in orde - alleen iets beschrijvends dat voor jou natuurlijk aanvoelt, omdat je het later moet onthouden bij het maken van de sitemap. De codenaam mag geen spaties bevatten.
  • Tussen de aanhalingstekens staat het label. De onze is eenvoudig in dit geval, maar voor sommige items zoals temperatuur of iets dat een waarde meldt, voegt u een speciale code toe die vertelt hoe deze waarde moet worden weergegeven of met behulp van wat transformeren. Het label is voor de interface en kan spaties bevatten.
  • Tussen de punthaken staat de naam van het pictogram. U vindt alle beschikbare pictogrammen in de OpenHAB-share, onder de webapps / images directory. Er is eigenlijk een hele reeks tintpictogrammen die verschillende helderheden voorstellen of aan / uit. Geef gewoon de naam van het basispictogram op - OpenHAB weet dat automatisch naar de verschillende aan / uit-pictogrammen moet worden gezocht als dit een geschakeld item is. Dit is optioneel.
  • In de ronde haakjes vertellen we aan welke groepen een deel van is - in dit geval alleen de Slaapkamer groep.
  • Uiteindelijk en cruciaal verbinden we het artikel met de juiste binding met alle benodigde variabelen. In dit geval, de tint bindend, en het nummer van de lamp is 1. U kunt het nummer vinden door de officiële Hue-toepassing te openen en naar het tabblad verlichting te kijken. Elke lamp heeft een uniek nummer.

Ik heb in totaal vier lampen toegevoegd, evenals een eenvoudige verklaring van de groepen die we later zullen uitbreiden. Hier is mijn compleet home.items op dit punt:

Groeps Slaapkamer Groep Kantoor Groep Kai Groep Living_Room Groep Bioscoop Groep Geheim
Groepslicht
/ * Lights * / Color Bedroom_Hue "Bedroom Hue"  (Bedroom, Lights) hue = "1" Kleur Office_Hue "Office Hue"  (Office, Lights) hue = "2" Kleur Secret_Hue "Secret Hue"  (Geheim, Lichten) hue = "3" Kleur Kai_Hue "Kai's Hue"  (Kai, Lights) hue = "4"

De / * Licht * tekst is slechts een opmerking, het heeft geen andere functie dan ons te helpen het bestand later te scannen wanneer het groter wordt. Nu hebben we de apparaten toegevoegd, maar opent http: //raspberrypi.local: 8080 /? Sitemap = home resultaten in een lege interface - natuurlijk, omdat we nog geen interface-elementen in de sitemap hebben aangemaakt. Laten we voor nu heel eenvoudig beginnen. Doe open home.sitemap.

De code die wordt gebruikt om de interface te beschrijven, verschilt van items, maar voor nu maken we een nieuwe “montuur” en voeg een paar groepscontroles toe, samen met enkele pictogrammen.

sitemap home label = "Mijn huis" Frame Groepsitem = Lichtenlabel = "Alle belichting" icon = "hue" Groepsitem = Slaapkamerlabel = "Slaapkamer" icon = "slaapkamer" Groepsitem = Kantoorlabel = "Kantoor" -pictogram = "desk"

Groepen zijn een handig hulpmiddel voor snel testen, maar in werkelijkheid wilt u meer controle over hoe de items worden weergegeven. Voor nu is dit voldoende. Sla uw startpagina in de browser op en laad hem opnieuw. Je zou dit moeten zien (of welke groep je ook hebt toegevoegd).

Klik op Alle verlichting om elk Hue-licht te zien, omdat we ze allemaal hebben gedefinieerd als behorende tot die overkoepelende lichtgroep.

Merk op dat het Office Hue-item wordt weergegeven met een ander pictogram - dat is omdat mijn kantoorlamp al aan is en OpenHAB weet dit wanneer het tegen de Hue-brug sprak en slim genoeg was om het pictogram aan te passen “op” versie van het bestand. Helaas geeft het niet de kleur weer, maar als je een mobiele app hebt geïnstalleerd, geeft dat de huidige kleur weer.

Als u meer items ziet dan u dacht dat u fouten over meerdere definities had gedefinieerd of ontvangen, weet dan dat hoewel u slechts één sitemap per keer op de pagina kunt laden alle sitemaps zullen items ophalen van alle .item-bestanden, dus als je het demo-itemsbestand daar hebt gelaten, heb je misschien nog wat extra items in je groepen te zien. Ik zou op dit moment willen suggereren een back-up te maken van de inhoud van de demo-items en deze uit de map te verwijderen om dubbelfouten te voorkomen.

Externe toegang en IFTTT met My.OpenHAB

Op dit moment moet je op hetzelfde lokale netwerk zijn om toegang te krijgen tot je OpenHAB-systeem, maar wat als je je apparaten wilt besturen en de sensoren wilt controleren buiten het bereik van je wifi? Daarvoor moeten we externe toegang instellen - en dat doen we op de eenvoudige manier, met de My.OpenHAB webservice, die de noodzaak om te rotzooien met poortdoorschakeling en routerconfiguraties omzeilt. Als een bonus heeft de My.OpenHAB-service ook een IFTTT-kanaal, waardoor je oneindig veel mogelijkheden hebt voor afstandsbediening en automatisering.

Ten eerste: installeer de binding. Snelle tip: als u de exacte naam van een bepaald installatiepakket niet weet, kunt u ernaar zoeken met apt-cache.

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

Voordat u zich kunt registreren op de My.OpenHAB-site, moet u een geheime sleutel maken en uw UUID vinden, die uw installatie op unieke wijze identificeert. Controleer onder de OpenHAB Home delen -> webapps -> statisch en je zou een UUID-bestand moeten vinden met je unieke identifier. Op dit punt ontdekte ik dat mijn Pi een oudere versie van Java gebruikte die de geheime sleutel niet correct maakt. Type

java -version

controleren. Als er geen 1.7 of hoger staat, hebt u de verkeerde versie. Vreemd genoeg komt de laatste versie van Raspbian wel met Oracle Java 8 geïnstalleerd, maar niet als standaard ingesteld.

sudo update-alternatives --config java

Kies de optie die aangeeft jdk-8-Oracle, start dan OpenHAB opnieuw. Bonus: Oracle Java 8 is sneller dan de standaard OpenJDK!

Nu zou u ook een geheim bestand moeten vinden in de webapps / static map. Open beide geheim en uuid, en wees klaar om pasta te kopiëren.

Ga nu een My.OpenHAB-account maken, gebruik deze gegevens en kom daarna terug - u moet ook uw e-mailadres bevestigen voordat iets werkt. Er zijn nog een paar stappen naar deze. Eerst moeten we de standaard persistentiemachine instellen op myopenhab (persistentie is iets voor een latere gids, maar we moeten hoe dan ook iets basaal instellen om “exporteren” onze gegevens naar de online dienst en zichtbaar maken voor IFTTT). Open openhab.cfg en zoek de variabele die dat zegt persistentie: default = en verander het in persistentie: default = myopenhab. Opslaan.

Maak ten slotte een nieuw bestand aan in de configuraties / persistentie map genoemd myopenhab.persist, en plak in de volgende regel.

Strategieën default = everyChange Items *: strategy = everyChange 

U hoeft dit nu niet te begrijpen, maar weet dat het zegt “sla elke itemstatus op wanneer deze verandert”.

Om verbinding te maken met IFTTT, ga je naar het OpenHAB-kanaal - je moet je authenticeren en het toegang geven tot je MyOpenHAB-account. Houd er ook rekening mee dat totdat uw items ten minste één keer zijn gewijzigd, deze niet zichtbaar zijn in de itemslijst op IFTTT, dus als deze niet zichtbaar is, schakelt u iets aan en uit en laadt u vervolgens opnieuw. Gefeliciteerd, je hebt nu volledige IFTTT-toegang tot alles in je OpenHAB-systeem!

Bluetooth-aanwezigheidssensor met REST

Een tijdje geleden liet ik je zien hoe je een automatisch deurslot kunt maken met behulp van Bluetooth. Maak een automatisch vergrendelende kantoordeur met Smartphone Nabijheidssensor Maak een automatisch vergrendelde kantoordeur met een naderingsensor voor smartphones We zullen een Raspberry Pi opzetten met een Bluetooth-adapter om op te letten wanneer uw smartphone buiten bereik is en een relais in actie te brengen om de deur te vergrendelen. Meer scannen om de aanwezigheid van de gebruiker te detecteren - Ik wilde zoiets meenemen naar OpenHAB.

Op elk platform anders dan Raspberry Pi zou dit eenvoudig zijn dankzij een kant-en-klare Bluetooth-binding; helaas werkt het niet op Pi vanwege een cruciaal Java-bestand dat opnieuw moet worden gecompileerd voor de ARM-architectuur, aan de binding moet worden toegevoegd en vervolgens de binding opnieuw moet worden opgebouwd. Het volstaat te zeggen dat ik dat heb geprobeerd en het was vreselijk gecompliceerd en werkte niet. Er is echter een veel eenvoudigere oplossing die ook dient als een goede inleiding tot de enorme uitbreidbaarheid van OpenHAB: we zullen ons vorige Python-script eenvoudig aanpassen om het rechtstreeks te rapporteren aan de OpenHAB RESTful-interface.

Terzijde: een RESTful interface betekent dat je kunt communiceren met een systeem met behulp van zijn ingebouwde webserver, gewoon door URL's op te roepen en gegevens in of door te geven. U kunt deze URL bezoeken om een ​​eenvoudig voorbeeld hiervan op uw eigen server te zien: http: //raspberrypi.local: 8080 / rest / items - die een gecodeerde lijst met al uw gedefinieerde items uitvoert. Dit is ongelooflijk krachtig, omdat het het volledige potentieel van OpenHAB blootlegt en u in staat bent om aangepaste interfaces te schrijven; of in omgekeerde volgorde, om de status van sensoren te rapporteren zonder een specifieke binding te hebben. We zullen deze mogelijkheid gebruiken om de aanwezigheid van een specifiek Bluetooth-apparaat te rapporteren zonder gebruik te maken van de Bluetooth-binding.

Begin met het toevoegen van een nieuw Schakelaar item naar uw home.items het dossier. Ik heb de mijne gebeld “JamesInOffice”, en ik heb er een schakelaar van gemaakt in plaats van een eenvoudig aan / uit-contact, zodat ik mijn aanwezigheid handmatig kan regelen voor het geval dat mijn telefoon overlijdt.

Schakelen JamesInOffice "James in Office" (Office)

Merk op dat ik geen pictogram heb gedefinieerd of een specifieke binding heb gekoppeld. Het is gewoon een generieke schakelaar.

Plaats vervolgens een compatibele USB Bluetooth-dongle en installeer enkele basishulpmiddelen om ermee te werken.

sudo apt-get installeer bluez python-bluez python-pip sudo pip installatieverzoeken hcitool dev

De laatste opdracht zou uw Bluetooth-adapter moeten tonen. Als niets wordt vermeld, probeer dan een andere adapter, de jouwe is niet compatibel met Linux. De volgende stap is om het Bluetooth-hardwareadres van uw apparaat te vinden.

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

Zorg ervoor dat je telefoon open staat op de pagina met Bluetooth-instellingen (waardoor deze wordt gekoppeld / openbare modus) en dat Bluetooth uiteraard is geactiveerd. U zou een hexadecimaal hardware-adres moeten vinden.

Maak vanuit de Pi-gebruikershomepage een nieuw Python-script en plak deze in deze code.
Er zijn een paar dingen die u moet bewerken, te beginnen met uw specifieke apparaatadres:

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

Evenals de deze regel, die op twee plaatsen ligt (ja, dit zou waarschijnlijk beter kunnen worden gestructureerd). Wijzig JamesInOffice in de codenaam van de switch die u hebt gedefinieerd.

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

De laatste stap is om dit script te laten starten tijdens het opstarten.

sudo nano /etc/rc.local

Blader naar beneden en voeg net voor de uitgang 0 de volgende regels toe:

python /home/pi/detect.py &

Het & teken betekent “doe dit op de achtergrond”. Ga je gang en voer het script uit als je dat nog niet hebt gedaan en open je OpenHAB-interface. Als u het aan een groep hebt toegevoegd, klikt u door naar die groep. Het duurt ongeveer 10 seconden om bij te werken, maar je ziet het standaard gloeilampje aan of uit gaan, afhankelijk van of je telefoon is gedetecteerd of niet. Controleer het logbestand als er niets gebeurt, kan het zijn dat u de verkeerde itemnaam hebt gebruikt.

OpenHAB mobiele app

Hoewel je de webinterface natuurlijk kunt gebruiken vanaf een mobiel apparaat, heeft OpenHAB native apps voor zowel iOS als Android - en ze zien er lot leuker dan de standaardbrowserinterface. Voer in het instellingenscherm de lokale URL in als het interne IP-adres dat u tot nu toe hebt gebruikt, inclusief het poortnummer. Voer voor externe URL in https://my.openhab.org, en uw gebruikersnaam (e-mailadres) en wachtwoord die u hebt ingevoerd toen u zich aanmeldde. Als u nog niet bent aangemeld voor MyOpenHAB, laat u de verificatie- en externe URL leeg, maar krijgt u alleen toegang tot uw systeem via uw lokale Wi-Fi.

Vooruit bewegen en hulp krijgen

De hoeveelheid maatwerk en handige functies die u aan uw OpenHAB-controller kunt toevoegen, is echt een beetje episch. Naast de uitgebreide lijst met ondersteunde apparaten met bindingen, kunt u de RESTful-interface, HTTP-uitbreidingen en IFTTT gebruiken om letterlijk elk type IoT-apparaat te lezen of beheren (en enkele van onze creatieve verlichtingsideeën te gebruiken) 7 Creatief gebruik voor gekleurde LED-huisautomatiseringsverlichting 7 Creatief gebruik voor gekleurde LED-huisautomatiseringsverlichting Het automatisch inschakelen van uw lichten is zeker gaaf, maar profiteert niet van het volledige spectrum aan kleuren dat beschikbaar is met RGB-verlichting. Daarvoor moeten we creatief worden . Lees verder ). Ja, het is een absolute pijn om te installeren, maar geen enkel commercieel systeem kan dicht bij de kracht van een aangepast OpenHAB-systeem komen.

Dat gezegd hebbende, de rit was helemaal niet gemakkelijk voor mij, en daarom heb ik deze handleiding geschreven, om het proces voor jou te vergemakkelijken. En als u het OpenHAB-systeem overweldigend vindt, zijn er andere opties als het gaat om Raspberry-huisautomatisering, zoals het gebruik van Raspberry Pi om uw garagedeur te automatiseren. Hoe uw garagedeur automatiseren met IFTTT en Raspberry Pi Hoe u uw garagedeur automatiseert met IFTTT en Raspberry Pi In deze tutorial laten we u zien hoe u uw garagedeur automatiseert met niets meer dan een Raspberry Pi en IFTTT. Meer lezen bijvoorbeeld.

Blijf op de hoogte met MakeUseOf voor een geavanceerd handboek over Z-Wave en andere coole tricks die je kunt instellen.

Als je hulp nodig hebt met een specifiek deel van deze gids, vraag het dan in de comments. Als je hulp wilt bij een andere bindende of geavanceerde onderwerpen die we nog niet hebben besproken, zijn de officiële OpenHAB-forums een gastvrije plek.

Ontdek meer over: Home Automation, Longform Guide, Smart Hubs.