Vous 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.
Bonjour tout le monde,
Vos likes me font dire qu’il y a une attente sur ce sujet. Pour vous mettre un peu l’eau à la bouche, sachez que le premier article devrait être publié ce jour et qu’on essayera de tenir le rythme de 1 par semaine, avant le week-end. Comme ça vous aurez tout le week-end pour vous lancer
.
Ce thread pourra servir de support pour si les choses ne sont pas claires ou si avez des blocages. L’esprit entre-aide sera nécessaire tant le sujet est vaste.
L’objet n’est pas de faire de vous des experts (de toutes façons, je ne suis pas assez compétent) mais de vous donner envie de vous lancer, si ça vous titille. Si par ces articles, je peux vous éviter de galérer comme j’ai moi même galérer au début, l’objectif sera atteint
Amusez vous bien et comme c’est le printemps n’oubliez pas de sortir quand même …
Bravo et merci pour ton investissement, j’ai hâte de lire le premier tuto, pour comprendre comment tout cela s’articule.
Mème si sans doute je ne développerai jamais, mais au moins j’essaierai d’entrer dans les « tripailles » des intégrations…
Merci encore.
jamais dire jamais. Jamais.
Premier article en ligne. A vous de jouer !
Deuxième article en ligne ! On va apprendre à créer une intégration et mettre une entité simple.
C’est ici :
Attention de bien avoir déroulé le tuto 1 avec succès avant de démarrer.
N’hésitez pas à poser des questions / suggestions / critiques ici au besoin.
A vous de jouer !
Bonjour,
Merci pour ce tuto. Je suis encore un peu tôt dans mon intégration HASS chez moi pour me lancer dans le dev d’une intégration mais je suis avec attention cette série pour voir comment je pourrais migrer mes plugins Jeedom vers des intégrations HASS à terme.
J’ai une question concernant le async_setup_platform
. Tu indiques que cette fonction est appelée à chaque fois que la plateforme est appelée par un sensor. Dans le tuto est configuré que seul la plate-forme sensor est valide avec notre intégration.
Je présume donc que si l’on a :
sensor:
- platform: tuto_hacs
entity_id: tuto_hacs_entité
name: Tuto HACS Entité
dautres: attributs utiles
- platform: tuto_hacs
entity_id: tuto_hacs_entité2
name: Tuto HACS Entité 2
dautres: attributs utiles
La fonction async_setup_platform sera appelé 2 fois.
Mais comme la plateforme que l’on déclare dans const.YAML est un tableau, c’est que l’on peut avoir plus type de plateforme en même temps. Et donc est-ce que la fonction async_setup_platform s’applique uniquement aux sensors comme je le comprend dans le tuto, mais le nom laisse penser que c’est pour tout. Je veux bien un petit éclaircissement sur ce point s’il te plaît.
Merci
Bonjour @Jean-Marc_Collin
C’est une super initiative !
J’ai juste un doute sur la manière d’accéder à ce container après l’avoir fermé.
En suivant à la lettre le tuto, rien ne sera créé dans le dossier hacs-tuto.
Pour rouvrir le containter il faudra d’abord ouvrir docker, lancer le container, puis dans VSC, cliquer en bas à gauche sur le bouton vert et choisir « Attach to running container ».
Ou alors, il faut dès le début créer le fichier devcontainer.json, en passant par le bouton vert puis « Add Dev Container Configuration File » par exemple, puis les fois suivantes, ouvrir le dossier hacs-tuto puis cliquer sur le bouton vert et choisir « Reopen in Container ».
A moins que je passe à côté de quelque chose.
Bravo dans tous les cas, car c’est effectivement déroutant pour s’y retrouver.
Merci.
Hello @mguyard ,
La méthode async_setup_platform
du fichier sensor.py
est appelée pour chaque sensor déclaré dans le configuration.yaml
et uniquement pour les sensor. Si tu as aussi configuré la plateforme switch
, tu auras un fichier switch.py
qui sera appelée pour chaque switch
déclaré dans le configuration.yaml
. Et le plus sûr, c’est d’essayer. Si tu as implémenté le tuto, n’hésites pas à expérimenter. C’est vraiment la meilleure manière de comprendre.
Salut @Pol2Tls,
Pour relance un container après l’avoir fermer, tu peux en effet utiliser « Reopen in container ». J’ai jamais essayé « Attach to running container » puisque le container est lancé par VSC (et pas par docker directement). Mais j’imagine que ça doit marcher aussi. Expérimentes et dis nous ce qu’il en est, ça peut aider d’autres qui se pose la même question.
Si tu suis le tuto1, tu n’as pas besoin de faire « Add Dev Container Configuration File » mais il y a toujours plusieurs manières d’arriver au même résultat.
Dans le tuto, tu ouvres le répertoire tuto_hacs dans VSC, puis : « clic sur le bouton vert » + « New Dev Container ». Ca ajoute automatiquement le fichier « devcontainer.json » sans que tu es besoin de le faire explicitement.
Après on doit pouvoir (j’ai pas essayé), faire « Add Dev Container Configuration File » puis « Reopen in container ». Je suppose que ça fait la même chose (ou presque). Faut essayer, ca ne casse rien de toutes façons.
Troisième article en ligne ! Ce dernier vous présente les interactions entre les entités et le reste de l’écosystème…
C’est ici :
Quatrième articles en ligne ! L’objectif de cet article est d’ajouter une IHM de paramétrage à notre intégration lors de son installation et paramétrage.
Bon développement :