Lancement d'un script

Bonjour,

Mon problème

J’ai créé un script afin d’automatiser la distribution de graines à mes poules nommé « bac_graines_poules.yaml ».
Afin que cela soit plus facile à modifier pendant les essais, j’ai isolé ce script dans le répertoire
« /homeassistant/Scripts/ »
Ci-joint le script!

alias: 'Automatisation Bac à Graines Poules'
description: >
  Automatisation pour la gestion du bac à graines des poules selon le lever et coucher du soleil et une variable Trigger_1.
trigger:
  - platform: time
    at: "12:00:00"
  - platform: time
    at: "00:00:00"

condition:
  - condition: state
    entity_id: input_boolean.trigger_1  # Remplace par le nom réel de ta variable Trigger_1
    state: "off"

action:
  - choose:
      - conditions:
          - condition: sun
            event: sunrise
          - condition: state
            entity_id: input_boolean.trigger_1  # Remplace par le nom réel de ta variable Trigger_1
            state: "off"
          - condition: state
            entity_id: Poulailler - M/D Graines  # Remplace par le nom réel de ton relais A1
            state: "on"
        sequence:
          - service: switch.turn_on
            target:
              entity_id: Poulailler - M/A Graines  # Remplace par le nom réel de ton relais A2
          - delay: "00:00:10"  # Temporisation T1 = 10 secondes
          - service: switch.turn_off
            target:
              entity_id: Poulailler - M/A Graines  # Remplace par le nom réel de ton relais A2
          - service: switch.turn_off
            target:
              entity_id: Poulailler - M/D Graines  # Remplace par le nom réel de ton relais A1
          - delay: "01:00:00"  # Temporisation T2 = 60 minutes
          - service: switch.turn_on
            target:
              entity_id: Poulailler - M/A Graines  # Remplace par le nom réel de ton relais A2
          - delay: "00:00:10"  # Temporisation T1 = 10 secondes
          - service: switch.turn_off
            target:
              entity_id: Poulailler - M/A Graines  # Remplace par le nom réel de ton relais A2
          - service: switch.turn_on
            target:
              entity_id: Poulailler - M/D Graines  # Remplace par le nom réel de ton relais A1
          
      - conditions:
          - condition: sun
            event: sunset
            offset: "-00:30:00"  # Sunset - T3 = 30 minutes
          - condition: state
            entity_id: input_boolean.trigger_1  # Remplace par le nom réel de ta variable Trigger_1
            state: "off"
          - condition: state
            entity_id: Poulailler - M/D Graines  # Remplace par le nom réel de ton relais A1
            state: "on"
        sequence:
          - service: switch.turn_on
            target:
              entity_id: Poulailler - M/A Graines  # Remplace par le nom réel de ton relais A2
          - delay: "00:00:10"  # Temporisation T1 = 10 secondes
          - service: switch.turn_off
            target:
              entity_id: Poulailler - M/A Graines  # Remplace par le nom réel de ton relais A2
          - service: switch.turn_off
            target:
              entity_id: Poulailler - M/D Graines  # Remplace par le nom réel de ton relais A1
          - delay: "01:00:00"  # Temporisation T2 = 60 minutes
          - service: switch.turn_on
            target:
              entity_id: Poulailler - M/A Graines  # Remplace par le nom réel de ton relais A2
          - delay: "00:00:10"  # Temporisation T1 = 10 secondes
          - service: switch.turn_off
            target:
              entity_id: Poulailler - M/A Graines  # Remplace par le nom réel de ton relais A2
          - service: switch.turn_off
            target:
              entity_id: Poulailler - M/D Graines  # Remplace par le nom réel de ton relais A1
mode: single

J’ai enregistré et vérifié ma configuration.
J’ai ensuite modifier le fichier automations.yaml pour appeler ce script avec cette syntaxe

alias: 'Automatisation Bac à Graines Poules'
description: 'Automatisation pour la gestion du bac à graines des poules'
trigger:
  - platform: time
    at: "12:00:00"
  - platform: time
    at: "00:00:00"

condition:
  - condition: state
    entity_id: input_boolean.trigger_1
    state: "off"

action:
  - service: script.turn_on
    target:
      entity_id: script.bac_graines_poules  # ID du script que tu as créé
mode: single

Quand Je vérifie ma configuration, le système me génère cette erreur!

Erreurs de configuration
Error loading /config/configuration.yaml: while parsing a block collection
  in "/config/automations.yaml", line 1, column 1
expected <block end>, but found '?'
  in "/config/automations.yaml", line 53, column 1

A ce stade, je ne sais pas si le script marche car il m’est impossible de vérifier la configuration.
Est il possible d’avoir une aide? Est ce que les éléments communiqués sont suffisants?
Je vous remercie par avance,
JP

Ma configuration


[center]## System Information

version core-2024.12.5
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.0
os_name Linux
os_version 6.6.66-haos
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 4996
Installed Version 2.0.1
Stage running
Available Repositories 1554
Downloaded Repositories 6
Home Assistant Cloud
logged_in true
subscription_expiration 9 septembre 2025 à 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled false
cloud_ice_servers_enabled true
remote_server eu-central-1-8.ui.nabu.casa
certificate_status ready
instance_id b3bc614fd7ed4c23a38eb2d019330db5
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 14.1
update_channel stable
supervisor_version supervisor-2024.12.0
agent_version 1.6.0
docker_version 27.2.0
disk_total 28.0 GB
disk_used 9.4 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board green
supervisor_api ok
version_api ok
installed_addons OpenThread Border Router (2.12.2), Z-Wave JS (0.9.0), eWeLink Smart Home (1.4.3), File editor (5.8.0), Duck DNS (1.18.0), Terminal & SSH (9.16.0), WireGuard (0.10.2), Matter Server (6.6.1), Silicon Labs Multiprotocol (2.4.5), Zigbee2MQTT (1.42.0-2), Mosquitto broker (6.4.1)
Dashboards
dashboards 3
resources 4
views 9
mode storage
Recorder
oldest_recorder_run 11 décembre 2024 à 07:41
current_recorder_run 23 décembre 2024 à 12:56
estimated_db_size 120.95 MiB
database_engine sqlite
database_version 3.45.3
___

Hello,

Est-ce que tu peux nous montrer ton fichier automations.yaml stp, il semble qu’il y a une erreur de syntaxe (autour de la ligne 53 notamment).

Salut, je pense qu’il y a une erreur de langage.
Le yaml qui est posté est une automatisation.
Les scripts ne possèdent pas de Trigger.

Par défaut ton configuration.yaml doit contenir cette ligne:

script: !include scripts.yaml

Dans ce cas tous tes scripts sont mis cul à cul dans le fichier scripts.yaml contenu dans ton répertoire /config (au même niveau que le fichier configuration.yaml

Le raisonnement est le même pour les automatisations qui sont contenues dans le fichier automations.yaml

Comme le demande @delphiki , peux tu nous montrer ton configuration.yaml ?

1 « J'aime »

Bonsoir et merci de vos retours, ci joint le contenu du fichier de configuration



# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
# Example configuration.yaml entry
# Configuration de la Caméra VIVOTEK
camera:
  - platform: vivotek
    name: Caméra portail
    ip_address: 192.168.xx.xx
    username: xxxx
    password: xxxxxxx
    
    alias: 'Automatisation Bac à Graines Poules'
description: 'Automatisation pour la gestion du bac à graines des poules'
trigger:
  - platform: time
    at: "12:00:00"
  - platform: time
    at: "00:00:00"

condition:
  - condition: state
    entity_id: input_boolean.trigger_1
    state: "off"

action:
  - service: script.turn_on
    target:
      entity_id: script.bac_graines_poules  # Remplace par l'entité du script que tu as créé
mode: single
1 « J'aime »

Donc ta config est standard.
tu as quoi dans le fichier scripts.yaml ?

Par contre, tu as mis un peu n’importe quoi dans ton fichier configuration.yaml

Normal que ca ne fonctionne pas !

Le fichier script.yaml est vide. J’ai mis mon script dans le répertoire Script par contre.

Pas normal de voir ca dans ton fichier configuration.yaml

Il va falloir éviter de faire des copier/coller n’importe où.

commence par mettre ton fichier configuration correct:



# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

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

Il est important de respecter l’indentation. Les espaces en début de ligne ont leur importance

je remercie tout le monde pour votre réactivité. le problème est résolu. Le sujet peut être clôturé.
bonne continuation.

1 « J'aime »