Domotique avec ioBroker

Maintenant, lorsque de nouveaux éléments de contrôle pour les ampoules, les climatiseurs et autres ustensiles ménagers apparaissent presque quotidiennement, la question de combiner toutes ces richesses en un seul réseau est très aiguë.
Mais le monde, heureusement, ne dort pas et est diligemment engagé dans ce problème. Il existe à la fois des solutions gratuites de qualité décente, et payantes (pas le fait que de bonne qualité).
Comme le monde, je ne peux pas dormir aussi, et moi, comme le monde entier, je suis depuis de nombreuses années d'affilée et depuis trois ans, je travaille particulièrement dur pour intégrer toutes sortes d'équipements dans une maison intelligente.

Dans cet article, je veux couvrir la domotique et comment utiliser votre projet Open Source pour illuminer (et pas seulement) votre maison confortable. Oh oui, j'ai presque oublié de dire que toute automatisation se fait en JavaScript!

Pour tous les amoureux de JS, je demande une coupe


Pour commencer, un peu de théorie sèche et de démagogie sur le thème de la maison intelligente.
Tout le monde comprend ce terme comme quelque chose de différent. Quelqu'un allume la lumière dans la salle de bain avec un détecteur de mouvement et considère la maison déjà intelligente, mais pour quelqu'un la maison IronMan (JARVIS) n'est pas assez intelligente, car cette maison a finalement été déchirée, ce qui signifie qu'elle n'est pas Je pourrais me protéger de certaines personnes sur des hélicoptères .
Mais blague à part - toutes ces personnes ont raison. C'est juste que le niveau «d'intelligence» à la maison est également différent, comme le QI chez les gens. Il y a de petits «enfants» qui savent allumer l'ampoule, et il y a des «universitaires» qui sont diplômés de l'université et sont capables non seulement d'allumer la lumière, mais aussi de l'éteindre :)

Dans la maison, plusieurs domaines d'automatisation peuvent être distingués:
- le plus souvent c'est la lumière
- puis le chauffage
- surveillance de l'environnement: température intérieure et extérieure, humidité
- sécurité et alarme
- multimédia (TV, musique)
- volets, fenêtres, portails, portes, auvents
- ventilation et climatisation
- contrôle d'autres appareils électroménagers
- enregistrement et horaires
-

liste des notifications Vous pouvez continuer, mais je voudrais m'attarder sur les directions les plus utilisées. Chaque domaine d'automatisation a son propre système d'appareils, chacun avec ses propres protocoles, applications et méthodes de contrôle. Il n'y a actuellement aucunun fabricant capable de fournir des appareils dans chacun des domaines de l'automatisation. Mais il y en a qui sont venus particulièrement loin: Samsung, Google, Apple.
Dans le même temps, chacun des fabricants invente son propre vélo de protocoles d'interaction et personne ne veut céder à l'autre. Bien que le protocole d'interaction de Google Weave semble le plus réfléchi.

Il existe également des tentatives de création d'un protocole indépendant du fabricant. Dans ce sens, IBM avec MQTT a le plus avancé. Mais, malheureusement, il n'y a pas de canal standardisé pour recevoir des descriptions sur les appareils, tels que les unités, l'emplacement / la pièce, le groupe fonctionnel (stores ou lumières) et d'autres méta-informations.

Et qu'est-ce que j'entends par maison intelligente ou, comme mentionné ci-dessus, quel niveau d'automatisation me convient?
J'ai beaucoup expérimenté et je suis arrivé à la conclusion que toutes ces commandes du téléphone, de la commande vocale ou du graphique de température ne sont que des jouets.

Une vraie maison intelligente devrait être discrète. Cela ne devrait être visible que lorsque la maison intelligente cesse de fonctionner.

Une maison intelligente devrait surveiller les gens grâce à des capteurs et ajuster l'environnement pour eux (non, bien sûr, elle ne devrait pas envoyer ces informations à Google). Ajustez la température, tout en économisant de la chaleur lors du chauffage; allumer, quand une personne entre dans la pièce, le rétro-éclairage sans l'éblouir ni couvrir les stores des fenêtres si le téléviseur est allumé et la fenêtre projette des reflets sur l'image. Les scénarios sont infinis. Les foyers particulièrement intelligents devraient eux-mêmes reconnaître les séquences et les dépendances des événements et proposer de nouvelles règles d'automatisation.

Je sais ce que je dis. J'ai raccroché une tablette près de la porte d'entrée et mis en œuvre la commande vocale et construit tous les horaires possibles et impossibles et je peux ouvrir la porte de l'appartement avec un téléphone, mais c'est tout pour montrer à mes invités une fois quel type de maison intelligente j'entendrai et dirai "Wow" . Ma famille et moi ne l'utilisons presque jamais.

Non, c'est bien sûr important, regardez parfois l'état des capteurs dans la maison par téléphone lorsque vous naviguez en mer Méditerranée ou recevez une notification avec une photo disant que quelqu'un est entré dans la maison, bien qu'il ne devrait pas, ouvrez la porte au facteur et assurez-vous que il ne supporterait pas une demi-maison avec lui. Et, à la fin, entendre vos amis le même «Wow» n'est pas non plus le dernier argument. :) Tout cela devrait être, ne serait-ce que pour comprendre que ce n'est en fait pas si important :)

L'automatisation est préférable pour un appartement dans lequel un célibataire technophile vit, va travailler à la même heure tous les jours et a un nombre constant de vacances et de week-ends (la Russie, malheureusement, ne relève pas de ce critère. Que coûtent les vacances du Nouvel An en mai :)).

Vient ensuite une jeune famille sans enfant avec un amour modéré de la technologie. Il est important que chacun d'eux ne se sépare pas d'un téléphone portable.

Le cas le plus difficile est une famille avec des enfants (plus elle est grande, plus elle est difficile). Les enfants ne peuvent tout simplement pas être automatisés. «Alors, papa, que j'ai oublié (a) le téléphone. Je n'ai pas besoin de lui dans la cour. " Et tous les scripts pour reconnaître les gens dans la pièce et les règles pour activer l'alarme en fonction d'eux sont inutiles. (Mon cas)

Mais revenons quand même à comment faire tout cela à la maison et rendre notre espace de vie plus confortable.

Qu'est-ce que ioBroker?
Il s'agit d'une plate-forme d'intégration pour l'Internet des objets et sert de serveur central pour:
  • maison intelligente
  • automatisation des bâtiments
  • vie assistée

* Au fait, je serai reconnaissant pour la traduction du dernier terme.

ioBroker est un système capable de connecter la salade entière de protocoles et d'appareils entre eux.

Une entreprise de construction a décidé de construire un logement intelligent à Hambourg et a rassemblé tous les appareils possibles dans un appartement et propose huit applications téléphoniques (à propos, seulement Apple) pour gérer l'ensemble du zoo. Ici, j'ai probablement besoin d'écrire: vous pouvez imaginer huit applications, Carl!
Avec ioBroker, cela ne serait pas nécessaire.

ioBroker a une structure très modulaire. Chaque module s'exécute dans un processus distinct et lorsqu'il se bloque, il redémarre simplement et l'ensemble du système continue de fonctionner.

La différence entre ioBroker et d'autres systèmes d'automatisation est le module de visualisation Web dans le navigateur - vis. La moitié du temps nécessaire au développement de l'ensemble d'ioBroker a été consacrée à son développement.



De plus, l'avantage d'ioBroker réside dans le grand nombre de packages npm disponibles - 286000.

* Informations tirées de http://www.modulecounts.com/ .

Bien sûr, la qualité des emballages n'est pas toujours au top, mais en règle générale pour le même problème, il existe plusieurs emballages différents et la quantité dans ce cas se transforme en qualité. Il vous suffit de choisir le bon forfait. Ainsi, la connexion de nouveaux protocoles n'est qu'une question de technologie.
De cette façon, j'ai implémenté la connexion de OPC UA, Sonos, MQTT, Telegram, Pushover, Homematic, Z-Wave, Simatic et bien d'autres systèmes.

Une grande importance est accordée à la possibilité de configurer et de configurer facilement, ce qui mange la part du lion, contrairement à FHEM et, par exemple, OpenHAB, où les paramètres sont définis via des fichiers de configuration.

Alternatives Open Source.

- OpenHAB est une plate-forme d'automatisation Java populaire. Actuellement, il existe jusqu'à 160 pilotes ou modules.

- FHEM est un système d'automatisation répandu à Perl en Allemagne avec un grand nombre de pilotes - 340. Mais la configuration du système est médiocre et le manque d'un méta-modèle standardisé rend difficile l'extension du système.

- MajorDomo est une plate-forme d'automatisation assez mature en PHP. Vous pouvez trouver de nombreux articles sur ce système ici sur geektimes .

- Domoticz - un système écrit en C / C ++ avec une interface graphique très décente. Mais en raison du fait que C / C ++ est difficile à écrire rapidement, alors avec un ensemble limité de pilotes / modules.

En général, de nombreux systèmes domotiques intéressants peuvent être trouvés ici . Fondamentalement, les systèmes sont séparés par des langages de programmation (Java, C / C ++, Python, Javascript, PHP, ...) et du matériel (Vera, Raspberry PI, Synology, Mediola, ...). Ils méritent tous le droit d'exister, même si certains peuvent être plus et d'autres moins.

, , : , , apt-get. : « , home ioBroker. !». , .

3 , . ?..
, starline.

La documentation est écrite au mieux de nos capacités en 3 langues, mais il reste encore beaucoup de travail. Bien que le mois dernier, il y ait eu de nombreuses bonnes descriptions.

JavaScript est utilisé pour écrire l'interface, le service et les scripts. L'un des langages de programmation répandus et populaires. Maintenant, Python gagne en popularité, mais vous ne pouvez pas écrire un shell graphique pour un navigateur sur python. (Oui, je connais l'existence de py2js , mais je n'ai encore rien vu de valable)

Un peu sur les projets Open Source.
En tant que personne participant à un projet open source, je peux dire: je pensais que les projets open source sont écrits par des milliers de personnes du monde entier et qu'il est facile pour eux d'écrire quoi que ce soit. Maintenant, je peux dire qu'il y en a un derrière chaque open source (parfois dans des projets particulièrement importants - un groupe de personnes) et que seulement un pour cent des utilisateurs sont actifs dans la communauté. C'est juste que les grands projets ont des millions d'utilisateurs et un pour cent d'un million, c'est dix mille personnes. Mais les petits projets ont des dizaines ou des unités d'individus. Je peux également dire qu'un utilisateur intéressé peut faire plus de dix programmeurs désintéressés et qu'il est important de simplement gagner beaucoup d'utilisateurs et la probabilité qu'une personne puisse apporter une contribution significative augmente.

Les possibilités
Je peux dire que les possibilités ... sont infinies. Multipliez le nombre de paquets npm par la quantité de fer et vous obtenez un million de possibilités d'allumer l'ampoule:
- via télégramme
- par voix
- API de repos
- visualisation Web
- application Android
- interface pour téléphones et tablettes (mobile)
- 340 pilotes de FHEM
- MQTT

Oui, et le projet se développe activement et grandit en 3 langues.

Pour ceux qui sont intéressés - google pour vous aider. Et dorénavant - je vais essayer de décrire non pas comment fonctionne l'univers, mais comment la communication entre le dispositif Modbus et la centrale nucléaire se produit.

Source: https://habr.com/ru/post/fr394961/


All Articles