Erreur YAML

Bonsoir

Ce soir une mise à jour à modifié mon Yaml (du moins je pense )
Qu’est ce que je peux faire avec ca maintenant??

Merci pour l aide


[center]Texte à remplacer par votre configuration[/center]
Comment récupérer ma configuration :
Dans votre HA, Menu latéral `Paramètres` > `Système` > `Corrections` puis les trois petits points en haut a droite > `Informations Système` puis une fois en bas `Copier`
___

System Information

version core-2023.6.0
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.3
os_name Linux
os_version 6.1.21-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4394
Installed Version 1.32.1
Stage running
Available Repositories 1288
Downloaded Repositories 48
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.2
update_channel stable
supervisor_version supervisor-2023.06.1
agent_version 1.5.1
docker_version 23.0.6
disk_total 228.5 GB
disk_used 11.6 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.7.1), Cloudflared (4.1.7), File editor (5.6.0), Zigbee2MQTT (1.31.2-1), Mosquitto broker (6.2.1), Z-Wave JS UI (1.13.3), Advanced SSH & Web Terminal (15.0.2), MyElectricalData Dev (0.9.0b2), Samba share (10.0.2)
Dashboards
dashboards 3
resources 37
views 41
mode storage
Recorder
oldest_recorder_run 28 mai 2023 à 08:48
current_recorder_run 7 juin 2023 à 22:17
estimated_db_size 475.26 MiB
database_engine sqlite
database_version 3.41.2
``` saisissez ou collez du code ici ```

Salut @mack

Faut lire les « release note », le message est juste un avertissement pour ce qui suit :

En gros t’as jusque la version d’août pour migrer vers la nouvelle version :wink:

2 « J'aime »

Salut

Non, ton fichier n’a pas été modifié.
Mais tu dois corriger ton fichier configuration.yaml pour qu’il corresponde à la nouvelle version.
Tu dois regrouper tes lignes command_line.

2 « J'aime »

bon je ne comprends pas trop… je dois changer tout mon code???
C’est vraiment pas simple…

1 « J'aime »

Dans configuration.yaml voir dans sensors.yaml (si tu as « splitt ») ta conf, tu dois avoir un sensor avec « command_line » comme platform.

Si tu nous donnes cette conf on pourra te guider pour la convertir au nouveau format :wink:

Bonjour ,
J ai cherché dans mon « config.yaml » (avec contol+F) effectivement il y a 6 « sensor » mais il y a pas de « command_line »
Ou alors j ai mal cherché ou trés mal compris ton explication :grinning:
PS : je ne connais pas la programmation

Il faut faire la manip dans la configuration.yaml mais dans les fichiers includes et packages aussi s’il y en a bref à faire partout.

Ce n’est pas de la programmation, mais de la configuration.

Ce message apparait parce que quelque part dans ta configuration, il y a un sensor « command_line » défini dans un format « ancien ». Et ce format ne saura plus supporté dans une prochaine version.

  1. Soit tu trouves ce sensor, et tu corriges le format.
  2. Soit tu ne mets plus jamais HA à jour :bomb::skull_and_crossbones:
  3. Soit le sensor cessera de fonctionner lors de la mise à jour.

Partage nous ton fichier configuration.yaml (en enlevant les informations confidentielles), on pourra te guider.

Bonjour,

Regarde si tu as un fichier sensor.yaml ou template.yaml … sinon regarde tous les fichiers réferencés par une ligne contenant un !include dans configuration.xml.

par example:

sensor: !include sensors.yaml
template: !include templates.yaml
packages: !include_dir_named packages

J’ai du faire le meme exercice hier pour des sensors récuperant la temperature de mon CPU

il était initialement

sensor:
  - platform: command_line
    # Get CPU Temperature
      name: Processor Temperature
      command: "cat /sys/class/thermal/thermal_zone0/temp"
      unit_of_measurement: "°F"
      value_template: '{{ (value | multiply(0.001)) | multiply(1.8) + 32 | round(1) }}'

et est maintenant avec la nouvelle syntaxe (comme indique dans la release note)

command_line:
    # Get CPU Temperature
  - sensor:
      name: Processor Temperature
      command: "cat /sys/class/thermal/thermal_zone0/temp"
      unit_of_measurement: "°F"
      value_template: '{{ (value | multiply(0.001)) | multiply(1.8) + 32 | round(1) }}'

Cordialement,

Abel

1 « J'aime »

merci , pour cette intervention!
La chose que je n arrive pas à comprendre, c’est pourquoi modifier le code .
Si Home Assistant modifie la structure de yaml on va j amais rien y comprendre .
Deja que j ai du mal à comprendre , alors si on change tout… :wink: je vais pleurer

1 « J'aime »

Réponse simple: ça fait partie du cycle de vie de n’importe quel logiciel :sweat_smile:

Bon, ok, ça ne répond pas vraiment à ta question…
En gros, HA est déjà installé sur des milliers (millions :crazy_face: ???) d’ordi.
Mais c’est un logiciel en constante évolution, et avec le temps, certaines fonctionalités deviennent obsolètes et sont remplacés par d’autres.
Afin d’éviter d’avoir une trop grosse dette technique, il faut supprimer ces fonctionalités obsolètes. ça permet à HA d’être plus facilement maintenable et évolutif.

A chaque mise à jour, il faut prendre le temps de lire les « releases notes » et notamment les « breaking changes »:

Mais évidemment, ces « breaking changes » ont un impact sur les milliers configurations existantes.

1 « J'aime »

Salut,

@Giga77 a raison:
C’est exactement pareil que passer de la voiture thermique à la voiture électrique.
HA mets de nouvelles fonctions en place, donc il faut adapter l’usage
Aujourd’hui tu sais faire le plein d’essence (ouvrir le reservoir, mettre le pistolet, etc)
Demain, tu va devoir apprendre à faire la même chose avec une prise.

On est d’accord c’est plus ou moins facile/faisable/pénible mais c’est néanmoins nécessaire

1 « J'aime »

effectivement si cela permet de rester un logiciel performant . mais le probleme de la langue et de la technique . Cra en anglais je me defend , mais en technique /informatique/langugage/etc…ENglish et ben je suis perdu .
Merci à ce forum et membres

ensuite il y a plusieurs youtubeur qui prennent le temps de faire des revues de release note.
il y a :
https://www.youtube.com/@ArminasTV
https://www.youtube.com/@makernix

1 « J'aime »

Merci ,
Je vais les suivre , persuadé qu’il y aura de bonnes infos à prendre…

Bonjour,
J’ai en effet vu cela aussi et ce qui me pose souci c’est le notify.
Si je fais comme indiqué j’ai une erreur lors de la vérif du fichier, pourtant je fait comme c’est indiqué.
Avant :

# Email notifications
notify:
      name: email
      platform: smtp
      server: ssl0.ovh.net
      port: 587

Et d’après la doc je devrais passer comme ça:

# Email notifications
command_line:
  - notify:
      name: email
      platform: smtp
      server: ssl0.ovh.net
      port: 587
      timeout: 15

Mais d’après l’exemple il faut ajouter command: mais je ne vois pas trop quoi mettre pour l’envoi mail smtp

# Example configuration.yaml entry
command_line:
  - notify:
      command: "espeak -vmb/mb-us1"

Une idée pour mettre à jour cette commande ? Merci

Bonjour,

Pour platform: smtp, la syntaxe est

notify:
  - name: email
    platform: smtp
    server: ssl0.ovh.net
    port: 587

Il manque le tiret devant name:
https://www.home-assistant.io/integrations/smtp/

Cordialement

Abel

Merci j’ai du corrigé après car j’ai plus le souci :grinning:

bonjour
j’ai le même message d’alerte, mes command_line sont dans un fichier sensors.yaml. il faut donc que je crée un fichier du type command_line.yaml pour y mettre le nouveau code, et ajouter command_line: !include command_line.yaml dans le configuration.yaml ?

Oui , c’est bien ca.