Premiers pas avec OpenHAB Home Automation sur Raspberry Pi

OpenHAB est une plate-forme domotique mature et open source qui fonctionne sur une variété de matériel et qui est indépendante du protocole, ce qui signifie qu'elle peut se connecter à presque n'importe quel matériel domotique sur le marché aujourd'hui.

OpenHAB est une plate-forme domotique mature et open source qui fonctionne sur une variété de matériel et qui est indépendante du protocole, ce qui signifie qu'elle peut se connecter à presque n'importe quel matériel domotique sur le marché aujourd'hui.
Publicité

OpenHAB est une plate-forme domotique mature et open source qui fonctionne sur une variété de matériel et qui est indépendante du protocole, ce qui signifie qu'elle peut se connecter à presque n'importe quel matériel domotique sur le marché aujourd'hui. Si vous avez été frustré par le nombre d'applications spécifiques au fabricant que vous devez exécuter uniquement pour contrôler vos lumières, alors j'ai de bonnes nouvelles pour vous: OpenHAB est la solution que vous recherchiez - c'est la maison intelligente la plus flexible hub Quel Smart Hub pour la domotique est le meilleur pour vous? Quel Smart Hub pour la domotique est le meilleur pour vous? Pendant un certain temps, les gens ont pensé que l'idée n'était rien d'autre qu'un gadget, mais les récentes sorties de produits ont montré que la domotique intelligente commence à tenir ses promesses. Lire la suite, vous trouverez jamais.

Ce guide peut être téléchargé en format PDF gratuit. Télécharger Commencez avec OpenHAB Home Automation sur Raspberry Pi maintenant . N'hésitez pas à copier et partager ceci avec vos amis et votre famille.

Malheureusement, c'est aussi loin que vous pouvez obtenir des consommateurs conviviaux - mais comme toujours, c'est là que MakeUseOf intervient: nous allons vous montrer comment démarrer avec le système de maison intelligente ultime ne pas acheter (parce que OpenHAB est 100% gratuit - juste fournir le matériel).

La première partie de ce guide se concentre spécifiquement sur la façon d'obtenir l'installation d'OpenHAB avec un Raspberry Pi 2, mais plus loin, les tutoriels et les conseils peuvent être appliqués partout où OpenHAB est installé.

Ce guide couvre trois sujets d'introduction, et un peu plus avancé.

  • Obtenir OpenHAB opérationnel sur le Pi, et l'installation de la configuration de la maison de démonstration pour vérifier les systèmes de base fonctionnent.
  • Comment ajouter des liaisons et des profils pour les périphériques Je vais travailler avec Philips Hue.
  • Activation de l'accès à distance et connexion à IFTTT.
  • Ajout d'un capteur de présence DIY en utilisant Bluetooth, et une introduction à l'interface REST.
  • Configuration de l'application mobile OpenHAB

Ce dont vous aurez besoin

À tout le moins, vous aurez besoin d'un Raspberry Pi (v2, de préférence), et d'un adaptateur Ethernet ou sans fil (Ethernet préféré, ce guide ne comprendra pas d'instructions pour faire fonctionner votre adaptateur Wi-Fi. Configuration de réseau sans fil sur votre framboise Pi Configuration de la mise en réseau sans fil sur votre Raspberry Pi Pratiquement chaque projet Raspberry Pi nécessite une connexion réseau, et une grande flexibilité peut être acquise en ignorant le port Ethernet en faveur d'une clé USB sans fil. Tout le reste est facultatif. Notez qu'OpenHAB fonctionnera aussi sur le Raspberry Pi original, mais il y a un problème connu avec le traitement plus lent et les périphériques Z-Wave. Si vous n'avez pas besoin de Z-Wave, vous pouvez ignorer cet avertissement en toute sécurité et continuer avec un Raspberry Pi modèle B ou B +, car tout le reste semble fonctionner correctement. Vous pouvez toujours passer au dernier Pi si et quand vous ajoutez Z-Wave.

Photo of Raspberry Pi 2 being used as OpenHAB controller
Cette petite chose peut être le meilleur hub de maison intelligente que vous avez jamais eu!

Au moment de la rédaction, la dernière version stable d'OpenHAB est la version 1.71; la version 1.8 est attendue bientôt, et tout ce qui est dans ce guide devrait toujours être pertinent, bien que certaines liaisons puissent avoir plus de fonctionnalités. La version 2 est également actuellement disponible en tant qu'aperçu alpha très précoce, mais adopte une architecture radicalement différente de la série OpenHAB 1: ce guide n'est pas compatible avec la version 2.

Je vous suggère fortement de suivre ce guide lentement et méthodiquement - n'essayez pas de vous lancer dans la partie profonde et d'ajouter tout à la fois. Oui, c'est un long guide - OpenHAB est un système difficile qui nécessite souvent des ajustements pour vos besoins, et la meilleure façon d'assurer le succès est de travailler lentement et de compléter une pièce à la fois.

Les bonnes nouvelles sont qu'une fois que cela fonctionne, c'est une expérience solide et incroyablement enrichissante.

Installation d'OpenHAB

Il n'y a pas d'image préconfigurée pour OpenHAB, donc l'installation se fait à l'ancienne via une ligne de commande. Je vous suggère de travailler sans tête sur le RPi - le coût de gestion d'une interface graphique que vous utiliserez rarement ne vaut pas la peine.

Commencez avec la dernière image Raspbian SD (complète) (et non la version «allégée», celle-ci n'inclut pas la Java Virtual Machine). Obtenez votre câble réseau branché, puis démarrez et naviguez dans SSH. Courir:

sudo raspi-config 

Développez le système de fichiers; et à partir du menu avancé, modifiez le fractionnement de la mémoire à 16. Lorsque vous avez terminé, redémarrez et, comme d'habitude, exécutez une mise à jour complète

 sudo apt-get update sudo apt-get upgrade 

La méthode la plus simple pour installer OpenHAB est via apt-get, mais nous devons d'abord ajouter une clé sécurisée et le nouveau référentiel:

 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 

Curieusement, tout a été installé comme appartenant à "root". Nous devons corriger cela avec les commandes suivantes.

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

Ensuite, nous allons installer Samba et partager la configuration et les dossiers des utilisateurs - cela facilitera l'installation de modules complémentaires et la modification du sitemap à distance.

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

Modifiez le nom du groupe de travail si nécessaire, mais activez autrement le support WINS:

 wins support = yes 

(vous aurez besoin de décommenter la ligne, et changer non à oui)

puis ajoutez ce qui suit à la section des définitions de partage (faites défiler tout en bas du fichier long):

 [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 

J'ai également commenté la section Imprimantes. J'ai fait deux partages, puisque les fichiers de configuration sont stockés séparément dans les add-ons.

Sauvegarder et quitter. Nous devons enfin définir un mot de passe Samba pour l'utilisateur openhab:

 sudo smbpasswd -a openhab 

Je suggère "openhab" comme mot de passe juste pour la facilité d'utilisation, mais cela n'a pas vraiment d'importance.

Merci au lecteur David L - il semble que la méthode de redémarrage Samba a changé dans le dernier Raspian. Voici les instructions mises à jour:

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

Après avoir redémarré Samba (les anciennes installations utilisent sudo service samba restart ), testez le lecteur partagé. Il pourrait ne pas être découvert automatiquement sur un Mac; mais vous pouvez utiliser le Finder -> Aller -> Se connecter au serveur et l'adresse

 smb://[email protected] 

Authentifiez-vous avec le nom d'utilisateur openhab et le mot de passe que vous avez choisi, puis ouvrez vos deux partages pour jeter un coup d'œil. Vous devriez même être capable d'ouvrir http: //raspberrypi.local: 8080 / dans votre navigateur web, mais vous rencontrerez une erreur car nous n'avons pas encore créé de sitemap. C'est normal.

error on first launch openhab

Ce serait le bon moment pour apprendre la commande pour terminer le journal OpenHAB afin que vous puissiez garder un œil sur les erreurs.

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

Continuez à l'exécuter et ouvrez-le dans une fenêtre SSH distincte à tout moment pendant que vous continuez avec le guide.

Installez la maison de démonstration

Avant de plonger dans les subtilités des fichiers de configuration, ajouter des périphériques et des liaisons, etc .; vérifions tout fonctionne en ajoutant le contenu de démonstration. Vous trouverez "Demo Setup" dans la section téléchargements d'OpenHAB.org.

Une fois décompressé, il y a deux dossiers: addons et configurations .

Contenu démo openhab

À l'aide des partages réseau, copiez les configurations dans le partage OpenHAB Config et écrasez le dossier existant. Copiez les addons dans l'autre partage OpenHAB Home, en écrasant les dossiers existants. Si vous n'êtes pas invité à remplacer quelque chose, vous le faites mal. Si vous avez un oeil sur le fichier journal de débogage, vous devriez voir un flotter d'activité car il remarque les nouvelles liaisons et les whirs en action. Ouvrez raspberrypi.local: 8080 / openhab.app? Sitemap = demo pour voir la demo.

OpenHAB demo house web interface screenshot

C'est un peu basique en ce moment, mais la nature ouverte d'OpenHAB signifie que nous pouvons installer un joli nouveau thème plus tard ou une interface alternative entièrement. Pour le moment, nous avions juste besoin de savoir que tout fonctionnait. Notez que ce que nous regardons s'appelle un sitemap (rien à voir avec une carte de site Web). Un sitemap décrit l'interface utilisateur - pas les périphériques réels sur votre réseau ou capteurs - juste l'interface pour les voir. Chaque partie est entièrement personnalisable. Pour voir comment celui-ci a été créé, ouvrez le fichier sitemaps / demo.sitemap sur le partage OpenHAB Config.

fichier d'exemples de sitemap

C'est assez décourageant, mais pour la plupart, vous allez copier des fragments de code à partir d'exemples ailleurs pour créer votre propre interface personnalisée. Voici l'aperçu technique de tous les éléments de sitemap possibles, mais pour l'instant, il suffit de commencer à réfléchir au type d'interface que vous souhaitez créer et aux informations que vous souhaitez afficher.

Pendant que vous êtes là, ouvrez aussi les objets / demo.items . Encore une fois, semble effrayant, mais c'est là que vous créez des éléments pour contrôler et définir des capteurs à suivre.

Alors, comment fonctionne OpenHAB?

Maintenant que vous avez parcouru rapidement le dossier du sitemap et des éléments, décrivons exactement ce que sont ces fichiers et les autres composants principaux d'OpenHAB qui se combinent pour créer votre maison intelligente complète. Vous trouverez des sous-répertoires pour chacun d'eux dans le dossier partagé OpenHAB Config.

Items est un inventaire de chaque périphérique de contrôle, capteur ou élément d'information que vous voulez dans votre système. Il ne s'agit pas non plus d'un périphérique physique. Vous pouvez définir une source Web telle que la météo ou les cours boursiers. Chaque élément peut être nommé, assigné plusieurs groupes (ou aucun), et connecté à une liaison spécifique. (Astuce pour les débutants: La capitalisation est importante quand il s'agit de reliures J'ai longuement essayé de comprendre pourquoi mes ampoules "Hue" ne fonctionnaient pas, c'est parce qu'elles auraient dû être "teintes" à la place).

Sitemaps ne concerne que l'interface que vous verrez lorsque vous ouvrirez l'application mobile ou Web OpenHAB. Vous pouvez contrôler précisément comment vous voulez que les boutons soient disposés et que les informations soient présentées. Vous pouvez définir des groupes de niveau supérieur pour chaque pièce de votre maison; En cliquant sur chacun, vous verrez une liste de tous les appareils dans cette pièce. Ou vous pourriez préférer montrer des groupes pour chaque type d'appareil: un bouton pour les lumières, un autre pour les prises électriques. Il se peut qu'il y ait des appareils que vous utilisez si souvent que vous vouliez juste un interrupteur pour eux directement sur l'écran d'accueil.

Règles est où l'aspect de la domotique entre en jeu, où vous pouvez définir des calendriers ou des conditions pour qu'une action se produise. Des événements simples comme allumer les lumières de la chambre à 22 heures à une couleur rouge chaud; ou une logique plus complexe comme allumer un radiateur si la température est inférieure à 0 et qu'une personne est présente dans cette pièce. Vous trouverez également un dossier de scripts, qui offre des fonctionnalités similaires aux règles, mais à un niveau plus complexe de logique programmable.

La persistance est un sujet avancé que nous ne traiterons pas dans ce guide, mais la persistance définit les données dont vous souhaitez conserver l'enregistrement. Par défaut, OpenHAB va seulement montrer l'état actuel de quelque chose; Si vous souhaitez suivre cette valeur au fil du temps, vous devez configurer une définition de persistance pour cette source de données. Dans ce cas, vous spécifiez la fréquence à laquelle un point de données doit être mesuré, ou le moment de supprimer les anciens points de données. Vous devez également lui indiquer le type de moteur de persistance à utiliser, tel que MySQL ou la simple connexion à un fichier .

Transform contient des mappages pour les valeurs de données aux étiquettes. Par exemple, le fichier humidex.scale définit une gamme de valeurs d'indice d'humidité et comment elles devraient être affichées en anglais: 29-38 est "un peu d'inconfort".

Le sitemap et les fichiers d' éléments sont essentiels à l'exécution d'OpenHAB; le reste est facultatif. Vous pouvez avoir plusieurs sitemaps et éléments, ainsi vous pouvez conserver le contenu de la démo et y revenir à tout moment, ou essayer une nouvelle mise en page pour votre interface de contrôle domestique. Ne vous inquiétez pas si tout cela semble un peu écrasant en ce moment, nous allons le décomposer en éléments gérables et je vous promets à la fin de ce guide que vous aurez confiance pour créer votre propre configuration OpenHAB.

Ensuite, nous vous guiderons dans l'ajout de certains kits de maison intelligente, en partant de zéro dans un nouveau sitemap. Chacune présentera des concepts de base tels que l'installation des liaisons et des définitions d'éléments. Je vous encourage donc fortement à lire ces instructions même si vous ne possédez pas ces périphériques en particulier .

Commencez par créer un nouveau fichier home.items (vide) et un nouveau fichier home.sitemap dans les répertoires correspondants. Ouvrez home.sitemap et collez le code suivant. Ceci agit juste comme un squelette de base auquel nous ajouterons des morceaux plus tard.

 sitemap home label="My Home" { } 

Vous devriez voir un message indiquant qu'OpenHAB a identifié un nouveau sitemap et un nouveau fichier d'éléments.

openhab nouveau sitemap et articles

Activer le mode de débogage

Alors que vous essayez toujours de faire fonctionner correctement OpenHAB, il peut être utile d'activer un journal de débogage plus détaillé qui répertorie tout, et pas seulement les éléments importants. Pour activer ce mode, ouvrez le dossier partagé OpenHAB Config et modifiez le fichier journalbackback.xml . Sur la ligne 40, modifiez la ligne suivante pour lire DEBUG au lieu d'INFO. Vous devrez redémarrer après avoir changé cela.

C'est un changement global, ainsi vous obtiendrez beaucoup plus d'informations une fois que vous empoignez le fichier journal.

Ajout de Philips Hue

Je vais commencer avec Philips Hue Philips Hue Starter Kit examen et Giveaway Philips Hue Starter Kit examen et Giveaway Le marché est inondé par des ampoules avec wifi, tous avec leur propre application mobile idiote que vous avez besoin de faire avec pour les allumer . La teinte est-elle différente? Nous découvrons. Lire la suite . Comme la plupart des choses que vous voulez interagir avec OpenHAB, les ampoules Hue nécessitent l'installation d'une liaison - pensez à des liaisons comme un pilote de périphérique. Au moment de la rédaction, 160 bindings sont disponibles pour OpenHAB 1, ce qui explique pourquoi OpenHAB est un système aussi puissant - il peut s'interfacer avec n'importe quoi, combinant tous ces systèmes de contrôle disparates en une seule interface unifiée. Voici une démo et un aperçu rapide des étapes impliquées.

Les liaisons doivent d'abord être téléchargées, et le moyen le plus simple de le faire sur le Pi est d'utiliser apt-get, puis de forcer la propriété à l'utilisateur openhab.

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

Ensuite, vous devez indiquer à OpenHAB de charger cette liaison et configurer toutes les variables nécessaires. Accédez au dossier de configurations et faites une copie de openhab-default.cfg, en le nommant openhab.cfg . Ouvrez-le, recherchez HUE et remplacez toute la section par le code suivant. La seule chose que vous devez changer est la valeur IP de votre pont - si vous ne le connaissez pas, essayez l'outil de découverte en ligne. La valeur secrète n'a pas vraiment d'importance, c'est juste une sorte de nom d'utilisateur qu'OpenHAB utilisera pour s'identifier au pont.

Astuce : pour activer une ligne, supprimez simplement le # depuis le début. Par défaut, la ligne spécifiant l'adresse IP du pont est désactivée (ou techniquement, "commentée"). En outre, si vous essayez une configuration alternative, il peut être utile de simplement copier la ligne existante et de mettre un # au début pour la marquer comme un commentaire, de sorte que vous pouvez revenir facilement si les choses tournent mal.

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

config de liaison openhab

Sauvegarder et quitter. Comme toute application Hue tierce, vous devrez approuver OpenHAB sur le pont Hue en appuyant sur le bouton sur le devant - vous n'avez besoin de le faire qu'une seule fois. Vous verrez un message sur l' attente d'être apparié si vous avez terminé le fichier journal, mais si vous avez oublié ou raté le compte à rebours, réinitialisez simplement le Pi - vous obtiendrez une minuterie de 100 secondes à partir de la liaison Hue est initié. Assurez-vous que vous avez bien couplé avant de continuer.

Ensuite, ouvrez le fichier home.items, auquel nous ajouterons des ampoules Hue. Voici un exemple de définition d'élément:

 Color Bedroom_Hue "Bedroom Hue" (Bedroom) {hue="1"} 
  • Le mot Couleur spécifie le type de contrôle que nous avons sur cet élément. Les ampoules RGB Hue sont "Color", car nous en avons le contrôle en couleur. D'autres lumières peuvent juste être un commutateur.
  • Suivant est le nom de code de l'article: J'ai choisi Bedroom_Hue, mais littéralement tout va bien - juste quelque chose de descriptif qui vous semble naturel, car vous devrez vous en souvenir plus tard lors de la création du sitemap. Le nom de code ne doit pas avoir d'espaces.
  • Entre les guillemets est l'étiquette. La nôtre est simple dans ce cas, mais pour certains éléments comme la température ou quelque chose qui rapporte une valeur, vous allez ajouter un code spécial qui lui indique comment afficher cette valeur ou utiliser quelle transformation. L'étiquette est pour l'interface, et elle peut avoir des espaces.
  • Entre les crochets est le nom de l'icône. Vous trouverez toutes les icônes disponibles dans le partage OpenHAB, sous le répertoire webapps / images . Il y a en fait toute une gamme d'icônes de teintes qui représentent différentes luminosité ou on / off. Il suffit de spécifier le nom de l'icône de base - OpenHAB saura rechercher automatiquement les différentes icônes on / off s'il s'agit d'un élément commuté. C'est optionnel.
  • Dans les parenthèses, nous indiquons à quels groupes faire partie - dans ce cas, seulement le groupe de chambres à coucher .
  • Enfin et surtout, nous connectons l'élément à la liaison appropriée avec toutes les variables nécessaires. Dans ce cas, la reliure de la teinte et le numéro de l'ampoule sont 1. Vous pouvez trouver le numéro en ouvrant l'application officielle Hue et en regardant l'onglet lumières. Chaque ampoule a un numéro unique.

J'ai ajouté un total de quatre ampoules, ainsi qu'une simple déclaration des groupes que nous développerons plus tard. Voici mon home.items complète à ce stade:

 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"} 

Le / * Lights * / text est juste un commentaire, il n'a pas d'autre fonction que de nous aider à scanner le fichier plus tard quand il s'agrandit. Maintenant, nous avons ajouté les périphériques, mais l'ouverture de http: //raspberrypi.local: 8080 /? Sitemap = home aboutit à une interface vierge - bien sûr, car nous n'avons pas encore créé d'éléments d'interface dans le sitemap. Commençons vraiment simple pour le moment. Ouvrez le site home.sitemap .

Le code utilisé pour décrire l'interface est différent des éléments, mais pour l'instant, nous allons créer un nouveau "cadre" et ajouter quelques contrôles de groupe avec quelques icônes.

 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" } } 

Les groupes sont un outil utile pour les tests rapides, mais en réalité, vous aurez besoin de plus de contrôle sur la façon dont les éléments sont affichés. Pour l'instant, cela suffira. Enregistrez et rechargez votre sitemap personnel dans le navigateur. Vous devriez voir ceci (ou, quels que soient les groupes que vous avez ajoutés).

openhab premier sitemap

Cliquez sur Tous les éclairages pour voir chaque lumière Hue, puisque nous les avons tous définis comme appartenant à ce groupe de lumières primordial.

openhab lights group Hue demo

Notez que l'élément Office Hue est affiché avec une icône différente - parce que mon éclairage de bureau est déjà allumé, et OpenHAB le sait quand il a parlé au pont Hue et a été assez intelligent pour ajuster l'icône de la version "on" du fichier. Malheureusement, cela ne reflète pas la couleur, mais si vous avez une application mobile installée, cela reflétera la couleur actuelle.

Si vous voyez plus d'éléments que vous ne pensiez avoir défini ou reçu des erreurs sur plusieurs définitions, sachez que même si vous ne pouvez charger qu'un seul sitemap à la fois sur la page, tous les sitemaps extraient des éléments de tous les fichiers .item. vous y avez laissé le fichier des objets de démonstration, vous pouvez également avoir des éléments supplémentaires dans vos groupes. Je suggère à ce stade de sauvegarder le contenu des éléments de démonstration et de le sortir du dossier pour éviter les erreurs de duplication.

Accès à distance et IFTTT avec My.OpenHAB

À l'heure actuelle, vous devez être sur le même réseau local pour accéder à votre système OpenHAB, mais que se passe-t-il si vous voulez contrôler vos appareils et vérifier les capteurs hors de portée de votre réseau Wi-Fi? Pour cela, nous aurons besoin de configurer l'accès à distance - et nous le ferons en toute simplicité, avec le service web My.OpenHAB, qui contourne le besoin de déranger les configurations de redirection de port et de routeur. En prime, le service My.OpenHAB dispose également d'un canal IFTTT, ce qui vous offre des possibilités infinies de contrôle à distance et d'automatisation.

Premièrement: installez la liaison. Petit conseil: si vous ne connaissez pas le nom exact d'un paquet d'installation particulier, essayez de le rechercher avec apt-cache.

recherche apt-cache

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

Avant de pouvoir vous enregistrer sur le site My.OpenHAB, vous devez créer une clé secrète et trouver votre UUID, qui identifie de manière unique votre installation. Vérifiez sous le partage OpenHAB Home -> webapps -> static et vous devriez trouver un fichier UUID contenant votre identifiant unique. C'est à ce moment que j'ai découvert que mon Pi utilisait une ancienne version de Java qui ne crée pas correctement la clé secrète. Type

 java -version 

vérifier. Si cela ne dit pas 1.7 ou plus, vous avez la mauvaise version. Curieusement, la dernière version de Raspbian vient avec Oracle Java 8 installé, mais pas défini par défaut.

 sudo update-alternatives --config java 

mettre à jour la version java

Choisissez l'option qui indique jdk-8-oracle, puis redémarrez OpenHAB. Bonus: Oracle Java 8 est plus rapide que l'OpenJDK par défaut!

Maintenant, vous devriez également trouver un fichier secret dans le dossier webapps / static . Ouvrez le secret et l' uuid, et soyez prêt à copier la pâte.

uuid et secret

Maintenant, allez créer un compte My.OpenHAB, en utilisant ces détails, puis revenez - vous aurez également besoin de confirmer votre e-mail avant que tout fonctionne. Il y a quelques pas de plus à celui-ci. Premièrement, nous devons définir le moteur de persistance par défaut sur myopenhab (la persistance est quelque chose pour un guide ultérieur, mais quoi qu'il en soit, nous devons configurer quelque chose de basique pour "exporter" nos données vers le service en ligne et les rendre visibles à IFTTT) . Pour ce faire, ouvrez openhab.cfg, et trouvez la variable qui dit persistence: default = et changez-le en persistence: default = myopenhab . Sauvegarder.

Enfin, créez un nouveau fichier dans le dossier configurations / persistence appelé myopenhab.persist et collez-le dans la règle suivante.

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

Vous n'avez pas besoin de comprendre cela pour l'instant, mais sachez qu'il est écrit "enregistrer chaque état de l'élément quand il change".

mes articles openhab

Pour vous connecter à IFTTT, rendez-vous sur le canal OpenHAB - vous devrez vous authentifier et lui donner accès à votre compte MyOpenHAB. Notez également que tant que vos éléments n'ont pas changé au moins une fois, ils ne seront pas visibles dans la liste des éléments sur IFTTT, donc s'ils ne sont pas visibles, activer ou désactiver quelque chose, puis recharger. Félicitations, vous avez maintenant un accès IFTTT complet à tout ce qui se trouve dans votre système OpenHAB!

canal ifttt de openhab

Capteur de présence Bluetooth utilisant REST

Il y a peu de temps, je vous ai montré comment faire une serrure de porte automatique à l'aide de Bluetooth. Faire une porte de bureau à fermeture automatique avec un capteur de proximité Smartphone. Faire une porte de bureau autobloquante avec un capteur de proximité Smartphone. L'adaptateur Bluetooth doit être à l'affût lorsque votre smartphone est hors de portée et enclenche un relais pour verrouiller la porte. Lire la suite scan pour détecter la présence de l'utilisateur - je voulais apporter quelque chose comme ça dans OpenHAB.

Sur n'importe quelle plate-forme autre que Raspberry Pi, ce serait simple grâce à une liaison Bluetooth prête à l'emploi; malheureusement, il ne fonctionne pas sur Pi en raison d'un fichier Java crucial qui devrait être recompilé pour l'architecture ARM, ajouté à la liaison, puis reconstruire la liaison. Inutile de dire que j'ai essayé, et c'était horriblement compliqué et ça n'a pas marché. Il y a cependant une solution beaucoup plus simple qui sert aussi de bonne introduction à l'extensibilité pure d'OpenHAB: nous allons simplement adapter notre script Python précédent pour qu'il rende compte directement à l'interface OpenHAB RESTful.

À côté: une interface RESTful signifie que vous pouvez interagir avec un système en utilisant son serveur web intégré, simplement en appelant des URL et en passant ou récupérant des données. Vous pouvez visiter cette URL pour voir un exemple simple de ceci sur votre propre serveur: http: //raspberrypi.local: 8080 / rest / items - qui produit une liste codée de tous vos éléments définis. Ceci est incroyablement puissant, car il expose le plein potentiel de OpenHAB et vous permet d'écrire des interfaces personnalisées; ou en inverse utilisé, pour signaler l'état des capteurs sans avoir de liaison spécifique. Nous utiliserons cette fonctionnalité pour signaler la présence d'un périphérique Bluetooth spécifique sans recourir à la liaison Bluetooth.

Commencez par ajouter un nouvel élément Switch à votre fichier home.items . J'ai appelé le mien "JamesInOffice", et j'en ai fait un switch plutôt qu'un simple contact on / off pour pouvoir contrôler manuellement ma présence au cas où mon téléphone serait mort.

 Switch JamesInOffice "James in Office" (Office) 

Notez que je n'ai pas défini d'icône ou associé une liaison spécifique. C'est juste un commutateur générique.

Ensuite, insérez une clé USB Bluetooth compatible et installez quelques outils de base pour interagir avec celle-ci.

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

La dernière commande devrait montrer votre adaptateur Bluetooth. Si rien n'est listé, essayez un autre adaptateur, le vôtre n'est pas compatible avec Linux. L'étape suivante consiste à trouver l'adresse matérielle Bluetooth de votre appareil.

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

Assurez-vous que votre téléphone est ouvert sur la page des paramètres Bluetooth (qui le met en mode couplage / public), et évidemment que Bluetooth est activé. Vous devriez trouver une adresse matérielle hexadécimale répertoriée.

bluetooth identifié

A partir de votre répertoire personnel Pi, créez un nouveau script Python et collez-le dans ce code.
Vous devez modifier certaines choses, en commençant par l'adresse de votre appareil:

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

Ainsi que cette ligne, qui est à deux endroits (oui, cela pourrait probablement être mieux structuré). Remplacez JamesInOffice par le nom de code du commutateur que vous avez défini.

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

La dernière étape consiste à dire à ce script de se lancer au démarrage.

 sudo nano /etc/rc.local 

Faites défiler vers le bas et juste avant la sortie 0, ajoutez les lignes suivantes:

 python /home/pi/detect.py & 

Le signe & signifie "faire ceci en arrière-plan". Allez-y et lancez le script si vous ne l'avez pas déjà fait, et ouvrez votre interface OpenHAB. Si vous l'avez ajouté à un groupe, cliquez sur ce groupe. La mise à jour prend environ 10 secondes, mais l'icône d'ampoule par défaut s'allume ou s'éteint selon que votre téléphone est détecté ou non. Vérifiez le fichier journal si rien ne se produit, il se peut que vous ayez utilisé le mauvais nom d'élément.

Application mobile OpenHAB

Bien que vous puissiez bien sûr utiliser l'interface web depuis un appareil mobile, OpenHAB a des applications natives pour iOS et Android - et elles sont beaucoup plus belles que l'interface du navigateur par défaut. Sur l'écran des paramètres, entrez l'URL locale en tant qu'IP interne que vous avez utilisée jusqu'à présent, y compris le numéro de port. Pour les URL distantes, entrez https://my.openhab.org et votre nom d'utilisateur (email) et mot de passe que vous avez entré lors de votre inscription. Si vous ne vous êtes pas encore inscrit à MyOpenHAB, laissez l'authentification et l'URL distante vides, mais vous ne pourrez accéder à votre système qu'à partir de votre réseau Wi-Fi local.

openhab-mobile

Aller de l'avant et obtenir de l'aide

La quantité de personnalisation et de fonctionnalités que vous pouvez ajouter à votre contrôleur OpenHAB est vraiment épique. En plus de la vaste liste de périphériques pris en charge avec des liaisons, vous pouvez utiliser l'interface RESTful, les extensions HTTP et IFTTT pour lire ou contrôler littéralement tout type de périphérique IoT, puis certains (essayez quelques-unes de nos idées d'éclairage créatif). pour l'éclairage domotique à DEL de couleur 7 Utilisations créatives pour l'éclairage domotique à DEL de couleur Allumer vos lumières automatiquement est certainement cool, mais il ne profite pas du spectre complet des couleurs disponibles avec l'éclairage RVB. . Lire la suite ). Oui, c'est une douleur absolue à installer, mais pas un seul système commercial peut se rapprocher de la puissance d'un système OpenHAB personnalisé.

Cela dit, le trajet n'a pas été facile pour moi, ce qui explique pourquoi j'ai écrit ce guide, pour faciliter le processus pour vous. Restez à l'écoute de MakeUseOf pour un guide avancé qui couvre Z-Wave et d'autres astuces cool que vous pouvez configurer.

Si vous avez besoin d'aide pour une partie spécifique de ce guide, veuillez le demander dans les commentaires. Si vous avez besoin d'aide pour une autre liaison ou pour des sujets avancés que nous n'avons pas encore traités, les forums officiels d'OpenHAB sont un endroit accueillant.

In this article