Pas de génération d'automatisation via blueprints

Mon problème

Je viens de créer mon premier Blueprints, à partir d’une automatisation que j’avais réalisée et testée préalablement. J’ai donc bien un fichier dans le répertoire Blueprints/automations, ce fichier est validé en contrôle système, et il apparait dans la liste des Blueprints disponibles.
Quand je passe à la phase création d’une automatisation à partir de ce Blueprints, tout fonctionne très bien, je peux saisir mes variables… et même enregistrer à la fin de la saisie.

Et c’est là que ça ne marche plus car rien d’autre ne se passe : aucune création d’automatisation dans la liste des automatisations, et, bien sûr, les tests fonctionnels ne passent pas.

Comme je débute dans ce processus, aurais-je oublié - ou mal fait - quelque-chose ?
Merci d’avance pour votre aide

Ma configuration


System Health

version core-2021.7.4
installation_type Home Assistant OS
dev false
hassio true
docker true
virtualenv false
python_version 3.9.5
os_name Linux
os_version 5.10.53
arch x86_64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4730
Installed Version 1.13.2
Stage running
Available Repositories 907
Installed Repositories 19
Home Assistant Cloud
logged_in false
can_reach_cert_server failed to load: timeout
can_reach_cloud_auth failed to load: timeout
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 6.2
update_channel stable
supervisor_version supervisor-2021.06.8
docker_version 20.10.6
disk_total 30.8 GB
disk_used 6.8 GB
healthy true
supported true
board ova
supervisor_api ok
version_api failed to load: timeout
installed_addons File editor (5.3.3), Samba share (9.5.1), Terminal & SSH (9.1.3), Mosquitto broker (6.0.1), Somfy Protexial IO - Proxy (0.7.1), Somfy Protexial IO - Gateway (0.8.1), MariaDB (2.4.0), Nginx Proxy Manager (0.11.0)
Lovelace
dashboards 2
resources 13
views 10
mode storage
___

Peux tu partager son fichier configuration.yaml ? (:warning: aux données personnelles)

Tu as quoi en face de la clé automation: ?

automation: !include automations.yaml

Voilà ci-dessous :

default_config:
 
[... ] 

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

[... ] 

blueprint:
  path: set_consigne_chauffage.yaml
  input:
    input_boolean: bureau
    target_radiator: bureau

Que contient ton fichier automations.yaml ?

L’automatisation utilisant ton Blueprint est-elle présente ?

oui, toutes les automatisation créées par le blueprint sont bien présentes dans la fichier automations.yaml, sous la forme suivante :

- id: '1628113181165'
  alias: Set_consigne_chauffage
  description: ''
  use_blueprint:
    path: Set_consigne_chauffage.yaml
    input:
      radiator_selector: input_boolean.salon
      target_radiator: climate.salon_cote_facad

Il y a une majuscule alors que dans ton fichier dz configuration non.

Essaie de mettre en minuscule

Rectifié et vérifié que tout était aligné sur minuscule. Pas d’amélioration.
Les automatisations créées dans le fichier automations.yaml ne remontent pas dans la liste des automatisations de la page config/automatisations.
Et fonctionnellement NOK

Aucunes ?

Si tu en crée une nouvelle à partir de rien, elle n’apparait pas c’est ça ?

oui, exactement.

J’ai effacé toutes les automatisations que j’avais créées par Blueprint et qui étaient dans le fichier automations.yaml, puis j’ai créé une nouvelle automatisation par Blueprint. Elle apparaît bien dans le fichier configurations.yaml, mais pas dans la liste des automatisations.

Quel doit être le comportement nominal ? Une nouvelle automatisation doit apparaitre dans la liste, c’est bien ça ?

Faut-il mettre le nom du fichier ou le chemin complet /blueprint/nomdufichier.yaml ?

Après avoir tout revérifié et bien suivi la doc Blueprint Tutorial, je m’aperçois qu’il y a ces lignes dans le fichier configurations.yaml qui ne passent pas en vérification,

automatisation de l'application de la consigne de chauffage vers les radiateurs
  use_blueprint:
    path: set_consigne_chauffage.yaml
    input:
      radiator_selector: input_boolean.bureau
      target_radiator: climate.bureau

Elles génèrent l’erreur suivante :

can not read a block mapping entry; a multiline key may not be an implicit key at line 36, column 16:
use_blueprint:
^.

Pourtant ce sont les lignes qu’il faut intégrer à configuration.yaml d’après la doc…

Et les blueprints ne fonctionnent toujours pas… :thinking: :thinking:

Dans quel fichier ?

Le passage que tu cités est certainement dans le fichier automations.yaml lorsque tu indiques les entrées/sorties.

Alors que l’erreur semble indiquer autre chose.

Partage ta configuration actuelle si elle a évoluée.

Citation

dans le fichier configuration.yaml

default_config:

 
http: 
  use_x_forwarded_for: true
  trusted_proxies:
      - 172.30.33.0/24

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensors.yaml
input_boolean: !include input_boolean.yaml
input_number: !include input_number.yaml


logger:
  default: debug
  logs:
    custom_components.tahoma: debug

mqtt:
  broker: 192.168.1.101
  port: 1883
  username: mqtt
  password: !secret MQTT_password

#automatisation de l'application de la consigne de chauffage vers les radiateurs
#use_blueprint:
  #path: set_consigne_chauffage.yaml
  #input:
    #radiator_selector: input_boolean.bureau
    #target_radiator: climate.bureau

les dernières lignes sont en # car ce sont celles qui ne passent pas si je sauvegarde le fichier configuration.yaml

Salut,
Dans ton cas, c’est normal, c’est pas la bonne hiérarchie … il manque automation tutorial:


Et du coup, je sais pas si c’est limité au tutorial, bizarre

Oui, j’ai cru que c’était l’exemple cité dans le tuto, du coup je l’ai remplacé par le nom de mon blueprint…
j’essaie une modif…

essai réalisé avec automation tutorial. Je peux sauvegarder le fichier configuration.yaml c’est donc en progrès !

default_config:

 
http: 
  use_x_forwarded_for: true
  trusted_proxies:
      - 172.30.33.0/24

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensors.yaml
input_boolean: !include input_boolean.yaml
input_number: !include input_number.yaml


logger:
  default: debug
  logs:
    custom_components.tahoma: debug

mqtt:
  broker: 192.168.1.101
  port: 1883
  username: mqtt
  password: !secret MQTT_password

automation tutorial:
  use_blueprint:
    path: set_consigne_chauffage.yaml
    input:
      radiator_selector: input_boolean.bureau
      target_radiator: climate.bureau

La configuration est validée au niveau du contrôle serveur, serveur redémarré.

MAIS blueprint ne fonctionne toujours pas (je trouve bien le blueprint dans la liste, je peux lancer une nouvelle automatisation à partir du blueprint, le paramétrer et sauvegarder mais aucune automatisation n’est créée).

Et avec un blueprint inclus de base ?

Comment ça ? De quoi bizarre ?

C’est à dire ? qu’entends-tu par « inclus de base » ?
Je viens de faire l’essai de télécharger un blueprint et de l’exécuter, et là,ça fonctionne, l’automatisation apparaît bien dans la liste, et elle fonctionne.

Donc ça viendrait de mon Blueprint ? Mais je ne vois pas où …
Ci-dessous le blueprint en cause :

blueprint:
  name: Set_consigne_chauffage
  description: Appliquer les consignes de chauffage (T° et mode) )à un radiateur ou plusieurs
  domain: automation
  input: 
    radiator_selector:
      name: Sélecteur de radiateur
      description: Sélecteur IHM du radiateur cible
      selector:
        entity:
          domain: input_boolean
    target_radiator:
      name: Radiateur
      description: Radiateur cible de la consigne de chauffage
      selector:
        entity:
          domain: climate
trigger:
- platform: state
  entity_id: input_boolean.set_consigne
  from: 'off'
  to: 'on'
condition:
- condition: state
  entity_id: !input radiator_selector
  state: 'on'
action:
- choose:
  - conditions:
    - condition: state
      entity_id: input_boolean.mode_chauffage
      state: 'off'
    sequence:
    - service: climate.set_hvac_mode
      data:
        hvac_mode: heat
      target: !input target_radiator
 
    - service: climate.set_temperature
      target: !input target_radiator
      data:
        temperature: '{{states(''input_number.consigne'') | float}}'
  default:
  - service: climate.set_hvac_mode
    data:
      hvac_mode: auto
    target: !input target_radiator
  - service: climate.set_temperature
    target: !input target_radiator
    data:
      temperature: '{{states(''input_number.consigne'') | float}}'
mode: single

J’utilise pas les blueprints mais le nom (tutorial) semble assez spécifique et pas de _ (mais espace) comme dans du classique yaml. … Donc je ne sais pas si c’est pour donner un nom

Oui, ça prête à confusion… perso je pensais que c’était le nom du blueprint du tutorial. Je ne suis d’ailleurs pas sûr que ce ne soit pas ça.