Récemment, des commentaires et des questions dans la communauté ont été publiés,
annonce des intégrations devenues disponibles via le frontend et suppression
du soutien YAML de certains d’entre eux.

Cela soulève des questions et des opinions qui doivent être abordées. Cela se résume principalement à
cette seule question:

« YAML s’en va-t-il? »

La réponse à cette question est: « Non!, mais… »

Réalisant que vous n’aimerez peut-être pas cette réponse vague et, dans ce cas, vous êtes peut-être
chercher une réponse «NON» dure et simple à cette question. Cependant, les choses sont
un peu plus compliqué.

Ce billet de blog vise à apporter plus de clarté à cette question, donc tout le monde sait
pourquoi les choses sont telles qu’elles sont en ce moment et à quoi s’attendre pour l’avenir de
configuration de Home Assistant.

Activation de la configuration via l’interface utilisateur

Avant de parler de YAML, expliquons le raisonnement derrière toute l’interface utilisateur
fonctionnalités introduites.

Le projet Home Assistant s’est développé à un rythme ridicule au cours des dernières années.
Étant l’une des rares solutions à fournir une plateforme domotique locale,
qui met la vie privée en premier, a suscité l’intérêt de toutes sortes de personnes sur ce
planète.

Au début, Home Assistant était un petit projet; destiné aux développeurs et
le technophile. Avec la croissance des problèmes de confidentialité, mais aussi la croissance du
disponibilité des dispositifs IoT dans nos maisons en général, le projet a gagné
traction; attirer de nombreux nouveaux membres de la communauté qui ne sont pas toujours
types technophiles.

C’est très bien, mais cela signifie aussi que nous devons nous ajuster, pour le rendre utilisable pour
Tout le monde. Nous voulons que tout le monde profite de ce que nous avons tous déjà apprécié.
Peu importe votre niveau d’expérience.

Considérant que, permettre et responsabiliser les gens dans la gestion de leur
Une instance de Home Assistant via l’interface utilisateur est nécessaire. Pas seulement pour
moins technophile, car il apporte également la commodité, que même de nombreux
les utilisateurs compétents apprécient et préfèrent.

Objectif: Rendre les choses plus faciles.

L’objectif de le rendre plus facile est actuellement l’objectif principal.

Changements de rupture

Nous ne les aimons pas tous, ces changements de rupture lorsqu’une nouvelle version est publiée.
Nous analysons tous les notes de publication en espérant que vous ne serez affecté par aucune d’entre elles dans
cette version.

Il y a un gros avantage à utiliser la configuration via l’interface utilisateur: Home Assistant gère
cette partie de configuration pour vous et gère les mises à niveau et les migrations.
Supprimant pratiquement les chances de frapper un changement de rupture,
nous détestons tous autant.

Partage et sécurité

Ceci est une capture d’écran d’une des diapositives,
montré lors de l’état de l’Union 2019:

Diapositive de présentation présentée lors de l'état de l'Union 2019
Diapositive de présentation présentée lors de l’état de l’Union 2019.

Nous aimons tous partager nos expériences, et donc des parties de nos configurations.
GitHub est plein de référentiels qui partage les maisons des gens.

C’est bien! Partager des idées, nous inspirer tous!

Il y a un grand inconvénient à cela, qui est la confidentialité et la sécurité. Il y a un
beaucoup de choses que nous ne voulons pas partager. Par exemple, nos mots de passe,
des informations (personnelles) ou des données (historiques) sensibles.

Un peu plus technique, mais des intégrations utilisant OAuth2 comme méthode d’authentification
pour s’intégrer, par exemple, à un service comme Somfy, il n’est pas nécessaire de stocker
nom d’utilisateur / mot de passe.

YAML et UI

Home Assistant s’oriente vers une meilleure séparation de la configuration YAML
par rapport à la configuration effectuée dans l’interface utilisateur. Cela se voit déjà en partie dans les choses
comme les zones, Lovelace et les « Helpers » récemment introduits
(également appelé input_* intégrations dans YAML).

Les zones peuvent être configurées via l’interface utilisateur et via YAML (même en même temps!).
Les deux sources de configuration seront chargées par Home Assistant lors de l’examen
les zones configurées et les deux peuvent être modifiées à la volée sans redémarrer
Assistant à domicile.

Pour l’avenir, Home Assistant évoluera vers ce concept plus
et plus. Cela permet à quiconque d’utiliser la méthode qu’il préfère.

Dans ces cas, la prise en charge de YAML a été étendue et améliorée en ajoutant des fonctionnalités
comme le rechargement et en supprimant les parties qui gâchent vos fichiers YAML.

Nous sommes toujours un projet open source

Home Assistant est un projet open source et s’appuie sur des contributeurs ajoutant
ces intégrations étonnantes, les maintenir et étendre leurs fonctionnalités
pour les rendre encore plus capables.

Ces contributeurs le font pendant leur temps libre, pour lequel nous sommes tous
éternellement reconnaissant. C’est leur travail qui permet à Home Assistant de faire ce qu’il
peut maintenant. C’est ce qui automatise votre maison.

Qu’en est-il des intégrations qui suppriment le support YAML?

Certains contributeurs ont décidé de supprimer le support YAML pour réduire leur
charge de maintenance et d’assistance. La quantité d’énergie qui doit être mise
(pour maintenir les deux capacités) peut être trop et est complexe. Nous devons
comprendre et accepter cela. Si nous ne le faisons pas, un contributeur pourrait simplement
arrêtez de contribuer.

Malheureusement, une telle démarche crée des changements de rupture et conduit souvent à quelques
commentaires assez démotivants, envers le contributeur et le projet en
général. Cela nuit à tout le monde, car les contributeurs sont démotivés ou,
pire encore, ne souhaitez pas implémenter de nouvelles fonctionnalités ou créer un changement de rupture.

Cela arrête les objectifs de notre projet, ralentit l’innovation et induit le risque de
perdants contributeurs et mainteneurs. En fin de compte, conduit à une plus grande perte pour
Tout le monde.

L’avenir de YAML

Donc, avec tout le contexte défini ci-dessus: Quel est l’avenir de YAML?

À ce jour, ADR-0010 (Dossier de décision architecturale) a été approuvé
qui dit:

  • Toute nouvelle intégration qui communique avec des appareils et / ou des services doit utiliser
    configuration via l’interface utilisateur. La configuration via YAML n’est autorisée que dans de très rares
    cas, qui seront déterminés au cas par cas.
  • Les intégrations existantes qui communiquent avec des appareils et / ou des services sont
    autorisé et encouragé à mettre en œuvre la configuration via l’interface utilisateur
    et supprimez le support YAML.
  • Nous n’accepterons plus aucune modification de la configuration YAML pour les
    intégrations qui communiquent avec des appareils et / ou des services.

Alors, qu’est-ce qui reste disponible dans YAML à la fin?

Toutes les autres intégrations qui ne communiquent pas avec un appareil et / ou un service,
sont configurés via YAML ou via des collections de stockage (elles permettent à la fois YAML et
Capacités d’interface utilisateur utilisées, par exemple, Lovelace et les zones).
Exemples de ces autres intégrations:

  • Intégrations qui intègrent les transports. Ces intégrations permettent aux utilisateurs de
    définir leur propre protocole, par exemple, MQTT, série, GPIO.
  • Intégrations qui traitent les données Home Assistant et les mettent à la disposition de
    d’autres intégrations, par exemple, modèle, statistiques, dérivé, utilitaire.
  • Intégrations qui fournissent des automatisations, par exemple, l’automatisation,
    device_sun_light_trigger, alert.
  • Intégrations qui aident à contrôler les appareils et les services, par exemple, script, scène.
  • Intégrations qui exposent les données Home Assistant à d’autres services, par exemple,
    Assistant Google, HomeKit.

Cet ADR est conçu pour éliminer la confusion et les questions pour tout le monde, s’appuie sur
les objectifs fixés (tels que présentés lors de l’état de l’Union),
et définit les lignes directrices avec lesquelles nos contributeurs doivent travailler.
Cet ADR apporte de la clarté pour nous tous.

Briser les mythes

Dans les préoccupations et les commentaires exprimés à travers la communauté, certains commentaires ont
été trouvé plusieurs fois. Veuillez noter que ce ne sont pas des citations exactes, car nous ne le faisons pas
je veux parler à quiconque personnellement.

  • « Faire des sauvegardes est devenu plus difficile! »

    À l’aide de la fonction d’instantané de Home Assistant, ce n’est pas un problème. cependant,
    si vous effectuez des sauvegardes manuelles sur un système qui exécute uniquement Core, vous devez effectuer
    assurez-vous de sauvegarder le .storage dossier aussi
    (ce que vous espérez déjà faire). Sinon, il n’y a pas de différence.

  • «Il est plus difficile de tester ma configuration si l’intégration ne prend pas en charge YAML».

    Les tests de configuration YAML sont souvent effectués pour voir si un YAML spécifique
    la configuration est toujours valide par rapport aux (versions plus récentes de) Home Assistant.
    Avec les intégrations configurées via l’interface utilisateur, ce n’est pas un problème,
    puisque Home Assistant garantit la compatibilité de la structure des données entre
    versions et migre pour vous.

  • « J’aime utiliser un référentiel git privé dans lequel je stocke toutes mes données,
    y compris mes données sensibles, car elles ne sont pas publiques.
    Sans YAML, ce n’est pas possible. »

    Ce n’est en fait pas vrai, le .storage le dossier contient tous les Home Assistant
    fichiers de configuration gérés au format JSON, qui dans ces cas,
    peut être stocké et versionné dans un référentiel git.

YAML s’en va-t-il?

Non!

Pas pour les choses que nous aimons partager publiquement. Il restera également disponible pour
les fonctionnalités avancées pour lesquelles nous ne pouvons actuellement pas fournir d’interface utilisateur. Le but n’est pas
l’élimination progressive de YAML, l’objectif est de créer la meilleure plate-forme domotique
monde facile à utiliser pour tout le monde. Permettre aux utilisateurs de toute expérience
niveaux, pour profiter de ce merveilleux passe-temps que nous partageons tous et permettant à chacun de
se concentrer sur ce qui compte le plus: l’automatisation de nos maisons.

Clôture avec l’enregistrement YouTube de l’état de l’Union 2019,
en commençant par la partie qui en discute.

Épisode spécial du podcast Home Assistant

Une édition spéciale du podcast Home Assistant a été publiée.
Dans cet épisode,
Phil et Rohan parler avec
Paulus sur les changements annoncés dans ce billet de blog.

Cliquez ici pour écouter le podcast