Précisions sur le configuration.yaml, comment ajouter un sensor manuellement?

Bonjour,
je débute en Home Assistant et je trouve l’outil incroyable.
J’ai déjà bien configuré mon système mais j’ai quelques interrogations à propos de la configuration en YAML.

Dans beaucoup de topics sur les customisations, on nous dit de rajouter des entrées dans configuration.yaml. Cependant quand je suis allé voir ce fichier pour la première fois, j’ai trouvé un fichier presque vide. Toute la configuration définie via l’interface était plutôt dans le repertoire caché .storage.

Alors je me suis dit qu’il suffisait de rajouter des éléments dans le configuration.yaml pour les voir apparaître. J’ai donc voulu suivre la taille de mon fichier .db en utilisant ce code trouvé sur le forum

homeassistant:
  allowlist_external_dirs:
    - /config/

sensor:
  - platform: filesize
    file_paths:
      - /config/home-assistant_v2.db

J’ai redemarré mais je n’ai pas trouvé l’entité.
J’ai ensuite essayé d’ajouter le même fichier via l’interface et l’intégration Taille de fichier et j’ai obtenu un résultat instantanément.

D’où ma question : quelle est la bonne méthode pour ajouter des sensor directement dans le configuration.yaml ? et peut-on modifier manuellement les infos présentes dans le répertoire .storage ?
J’ai aussi trouvé du code pour les sensor SQL mais de la même manière, je n’ai pas réussi à faire fonctionner ce que j’avais ajouté directement dans le configuration.yaml. Est-ce que je m’y prends mal ?

Exemple de code dans mon configuration.yaml (qui ne fonctionne pas)

sensor:
  - platform: filesize
    name: size db
    state_class: measurement
    unique_id: "sizedb"
    file_paths:
      - /config/home-assistant_v2.db

  - platform: sql
    name: "sql dbsize"
    unique_id: "sqldbsize"
    state_class: measurement
    queries:
      - name: DB Size
        query: 'SELECT ROUND(page_count * page_size / 1024 / 1024, 1) as size FROM pragma_page_count(), pragma_page_size();'
        column: 'size'
        unit_of_measurement: 'MiB'

Merci pour votre aide

Salut @fredv

Pour la platform « filesize » j’ai un doute qu’on puisse encore le faire en yaml.

Pour la platform « sql » on dirait que c’est possible.

Dans les 2 cas, ce que tu partages, c’est du sensor de type « legacy » et dans ce cas le « state_class » n’est pas possible.

Bref si tu veux la réponse à tes questions, c’est la doc suivante qu’il faut lire :wink:

Tu trouveras les infos, pour définir des sensors ancien format (legacy) et la même chose concernant le format « template » plus récent.

Salut,
pas de doute, c’est supprimer en mode YAML. Seulement par le UI maintenant.

2 « J'aime »

ok merci je comprends mieux, il faut donc se méfier des explications qui sont devenues obsolètes et faire au maximum via l’UI.
J’ai réussi à ajouter des entités « command_line » dans mon configuration.yaml et ca fonctionne bien, je referai un tour des docs pour voir ce qu’il est encore possible de faire à la main ou pas.

Merci pour les infos

Et juste pour confirmer, est-ce qu’il est possible de modifier manuellement les infos dans .storage sans passer par l’UI ? exemple des intégrale de Riemann dont certaines options ne peuvent plus être modifiées dans l’UI après la création. Puis-je les modifier et recharger la config ? y’a-t-il une doc qui décrit le contenu de chaque fichier de .storage ?

Merci merci

Salut @fredv

Techniquement oui, mais ce n’est vraiment pas conseillé sauf si tu maitrises à 100%.

En encore, dans ce cas-là, c’est quand même mieux d’être certain de son backup et de ses capacités à restaurer au cas où.

Au final pour ce genre de sensor « intégrale », je ne sais pas ce que ça peut donner comme résultat.

Ça je ne crois pas, mais je peux me tromper :wink:

1 « J'aime »

ok merci pour tes réponses, je vais rester prudent et refaire mes sensor au lieu d’essayer de trifouiller le code :slight_smile: