esphome: on_boot: then: - script.execute: my_script - script.execute: id: my_script_with_params prefix: "Test" param2: 0 param3: true - script.wait: my_script - script.stop: my_script - if: condition: - script.is_running: my_script then: - logger.log: my_script is running script: - id: my_script mode: single then: - lambda: 'ESP_LOGD("main", "Hello World!");' - id: my_script_queued mode: queued max_runs: 2 then: - lambda: 'ESP_LOGD("main", "Hello World!");' - id: my_script_parallel mode: parallel max_runs: 2 then: - lambda: 'ESP_LOGD("main", "Hello World!");' - id: my_script_restart mode: restart then: - lambda: 'ESP_LOGD("main", "Hello World!");' - id: my_script_with_params parameters: prefix: string param2: uint8_t param3: bool then: - lambda: 'ESP_LOGD(prefix.c_str(), "Hello World! %u %u", param2, param3);' - if: condition: for: time: !lambda "return param2;" condition: script.is_running: my_script then: - lambda: 'ESP_LOGD("main", "API has stayed connected for at least %u minutes", param2);' - repeat: count: 5 then: - logger.log: looping!