Script au démarrage en boucle

bon, chatgpt est ton ami…
solution :

esphome:
  name: esp32-robot-piscine
  friendly_name: ESP32-robot-piscine
# Démarrer le script lors du démarrage de l'ESP
  on_boot:
    priority: 600
    then:
      - script.execute: demarre_sequence

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxxxxx"

ota:
  - platform: esphome
    password: "xxxxxxxxxxxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-Robot-Piscine"
    password: "xxxxxxxxxxxxxx"

captive_portal:
# Enable Web server.
web_server:
  port: 80

switch:
  # LED verte
  - platform: gpio
    name: "LED"
    id: led
    pin: 2

globals:
  - id: global_random_delay1
    type: int
    restore_value: no
    initial_value: '0'
  - id: global_random_delay2
    type: int
    restore_value: no
    initial_value: '0'

script:
  - id: demarre_sequence
    mode: single
    then:
      - switch.turn_on: led
      - delay: 1s
      #- delay: !lambda "return rand() % 1000 +5000;"
      - switch.turn_off: led
      - delay: 1s
      - switch.turn_on: led
      #- delay: !lambda "return rand() % 1000 +5000;"
      - script.execute: sequence_nettoyage

  - id: sequence_nettoyage
    mode: restart
    then:
      - switch.turn_on: led
      - lambda: |-
          int random_delay1 = 10000 + rand() % 10000;  // Générer un délai entre 10 000 ms (10s) et 20 000 ms (20s)
          id(global_random_delay1) = (random_delay1);
      - logger.log:
          format: "Délai aléatoire: %.1f secondes"
          args: ['id(global_random_delay1) / 1000.0']
      - delay: !lambda "return id(global_random_delay1);"
      - switch.turn_off: led
      - lambda: |-
          int random_delay2 = 10000 + rand() % 10000;  // Générer un délai entre 10 000 ms (10s) et 20 000 ms (20s)
          id(global_random_delay2) = (random_delay2);
      - logger.log:
          format: "Délai aléatoire: %.1f secondes"
          args: ['id(global_random_delay2) / 1000.0']
      - delay: !lambda "return id(global_random_delay2);"
      - script.execute: sequence_nettoyage
1 « J'aime »