Aller au contenu

Développer pour Home Assistant - Introduction.

Vous êtes développeur et souhaitez développer vos propres intégrations pour vous ou pour la communauté Home Assistant ou tout simplement contribuer à une intégration existante ? Alors, la série de tutoriels qui sont présentés ici est faite pour vous.

Tu as un profil développeur et tu connais python ? Tu veux développer une intégration pour Home Assistant ou tout simplement contribuer à une intégration existante ? Alors cette suite d’articles est faite pour toi et a pour but de t’aider à te lancer. Elle est conçue comme les articles que j’aurais aimé trouver lorsque je me suis moi-même lancé.

Les prérequis

Pour pouvoir utiliser ces articles, il est préférable de :

  1. Connaitre Home Assistant un minimum et notamment les concepts d’Appareils, d’Entités, d’Intégration. Bien que nous devions définir ces termes, il est quand même souhaitable de connaitre ces concepts un minimum. Je vous conseille la lecture de l’excellent article  Architecture et concepts Home Assistant  au besoin,
  2. Connaitre le langage de développement Python : Cette suite d’article n’est pas un cours de Python et suppose que vous connaissez un minimum ce langage. Sinon, il existe d’excellents tutos Python en ligne et il est préférable de les suivre avant d’attaquer ces articles,
  3. Le métier du développement : Le développement est un métier, il a son vocabulaire et ses règles. Des notions sont nécessaires pour comprendre ces articles, même si le niveau n’est pas très élevé. Soyez à l’aise avec les notions de sources, gestionnaire de sources (Github, git), repositories, classes, méthodes, tests unitaires, attributs ou suivez un tuto en ligne avant d’aborder ces articles.
  4. Un compte Github : un compte Github est nécessaire pour pouvoir “forker” des repository et notamment celui de Home Assistant,
  5. Un PC, un Mac ou une machine Linux bien sûr.

Remarques préliminaires

Open Source on vous a dit : Il existe littéralement des milliers d’intégrations pour Home Assistant. Le meilleur conseil que je peux donner est d’aller voir leur code. Tu vas apprendre énormément en consultant ce que les autres ont fait et comment ils l’ont fait.

L’aspect Open-Source est précieux et super utile lorsqu’on but sur une difficulté, alors n’hésite pas.

HACS : Home Assistant Community Store est tout simplement indispensable. Il propose un magasin parallèle contenant des intégrations, des composants “front”(cartes), des thèmes fournis par la communauté pour la communauté. Il a l’énorme avantage d’être indépendant de l’équipe core de Home Assistant ce qui vous permet d’être libre dans la réalisation de vos intégrations et notamment dans la fréquence de publication.

Si vous tentez de faire une intégration officielle Home Assistant, vous devrez soumettre votre intégration à l’équipe core et serez soumis à des délais décourageant (plusieurs mois au moment, j’écris ces lignes).

Pour démarrer, je ne peux que conseiller de démarrer avec une intégration HACS. Une fois que vous avez une intégration de qualité, vous pouvez tenter de la proposer comme une intégration core, mais pas avant.

Un peu de lecture : la doc officielle est ici . Elle est en anglais, pas super à jour tout le temps, n’est pas faite pour développer une intégration HACS et n’est pas très didactique. Si tu n’y connais rien, tu ne comprendras pas grand-chose. Par contre, s’y référer de temps en temps pour étendre le champ de sa connaissance une fois qu’on a compris les concepts est une super bonne idée. Gardes bien ça en tête.

💡 Tu es prêt ? Fébrile ? Ca va aller, on te dit…

Liste des tutos

Seuls les premiers tutos sont en ligne et les autres sont en cours de rédaction. Mais patience, ils seront publiés prochainement !!

Jean-Marc_Collin-avatar
Jean-Marc_Collin

Rédacteur

Tombé dans la domotique début 2022, j’ai petit à petit, construit mon réseau basé sur Home Assistant. Propriétaire d’une maison tout électrique, je me suis attelé au chauffage, volets, ballon thermodynamique, borne de recharge pour Tesla et une Mini électrique, sans compter les traditionnels éclairages et prises, en attendant le passage au solaire. Développeur depuis les années 80, je me suis tout naturellement mis au développement sur Home Assistant.

Profil de Jean-Marc_Collin sur le forum Francophone HACF Profil de Jean-Marc_Collin sur le forum Anglais

Ces articles peuvent vous interesser ...

Développer pour Home Assistant - (4) La configuration

38 min

Cet article s'adresse aux développeurs et fait partie d'une série de tutos visant à vous présenter comment développer en python votre propre intégration. L'objectif de ce quatrième tutoriel est d'ajouter une interface de configuration à notre intégration.

#developpement, #python
Développer pour Home Assistant - (3) Interactions

23 min

Cet article s'adresse aux développeurs et fait partie d'une série de tutos visant à vous présenter comment développer en python votre propre intégration. Ce troisième tuto vous présente les interactions entre les entités et le reste de l'écosystème Home Assistant.

#developpement, #python
Développer pour Home Assistant - (2) Créer une intégration et une entité

19 min

Cet article s'adresse aux développeurs et fait partie d'une série de tutos visant à vous présenter comment développer en python votre propre intégration. L'objectif de ce second tuto est de vous guider dans le développement d'une première intégration et une première entité simple.

#developpement, #python