Unable to update to 2024.4.2 - ID naming problem

Hi! I am unable to update my konnected panels to ESPHome 2024.4.2 and get the following error message: “IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character ‘$’ cannot be used.”

When I check where the problem is, if I understand it correctly, it is with the yaml files provided by Konnected, not in my configuration.

Will those packages be updated soon or should I be looking for some other work around?

I am also suffering with this problem, as shown by the failure to validate the yaml file in the log error below:
INFO ESPHome 2024.4.2
INFO Reading configuration /config/esphome/konnected-6ac924.yaml…
INFO Updating http://github.com/konnected-io/konnected-esphome@master
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see output->0->id) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘error_tone_${warning_beep_index}’ (see script->0->id) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->0->output.turn_on) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->2->output.turn_off) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->4->output.turn_on) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->6->output.turn_off) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->8->output.turn_on) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->10->output.turn_off) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘warning_beep_${warning_beep_index}’ (see light->0->id) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘${warning_beep_name}’ (see light->0->name) which looks like a substitution, but ‘warning_beep_name’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see light->0->output) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see output->0->id) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘error_tone_${warning_beep_index}’ (see script->0->id) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->0->output.turn_on) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->2->output.turn_off) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->4->output.turn_on) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->6->output.turn_off) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->8->output.turn_on) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see script->0->then->10->output.turn_off) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘warning_beep_${warning_beep_index}’ (see light->0->id) which looks like a substitution, but ‘warning_beep_index’ was not declared
WARNING Found ‘${warning_beep_name}’ (see light->0->name) which looks like a substitution, but ‘warning_beep_name’ was not declared
WARNING Found ‘buzzer_out_${warning_beep_index}’ (see light->0->output) which looks like a substitution, but ‘warning_beep_index’ was not declared
Failed config

defaults: [source /data/packages/d9505d5d/packages/warning-beep.yaml:2]

Component not found: defaults.
warning_beep_index: 1
warning_beep_name: Warning Beep
warning_beep_shared: False
warning_beep_internal_only: False
output.gpio: [source /data/packages/d9505d5d/packages/warning-beep.yaml:8]

IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character ‘$’ cannot be used.
id: buzzer_out_${warning_beep_index}
platform: gpio
pin:
number: D7
allow_other_uses: false
script: [source /data/packages/d9505d5d/packages/warning-beep.yaml:14]

  • id: error_tone_${warning_beep_index}
    then:

    IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character '$' cannot be used.
    output.turn_on: buzzer_out_${warning_beep_index}
    
    • delay: 60ms
    • output.turn_off: buzzer_out_${warning_beep_index}
    • delay: 50ms
    • output.turn_on: buzzer_out_${warning_beep_index}
    • delay: 60ms
    • output.turn_off: buzzer_out_${warning_beep_index}
    • delay: 50ms
    • output.turn_on: buzzer_out_${warning_beep_index}
    • delay: 60ms
    • output.turn_off: buzzer_out_${warning_beep_index}
  • id: blink_status_led
    then:
    • light.turn_on: blue_status_led
    • delay: 100ms
    • light.turn_off: blue_status_led
      light.binary: [source /data/packages/d9505d5d/packages/warning-beep.yaml:30]

IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character ‘$’ cannot be used.
id: warning_beep_${warning_beep_index}
name: ${warning_beep_name}
platform: binary

IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character ‘$’ cannot be used.
output: buzzer_out_${warning_beep_index}
effects:
- strobe:
colors:
- state: True
duration: 150ms
- state: False
duration: 500ms
internal: false

This was my fault. It’s fixed now. :blush:
This only affected people trying to automatically update via ESPHome dashboard.

Fixed here.

Thank you for a quick response!

Now I get the following error related to the warning-beep.yaml

INFO ESPHome 2024.4.2
INFO Reading configuration /config/esphome/alarm-panel-56b1ed.yaml…
Failed config

output.gpio: [source /data/packages/d9505d5d/packages/warning-beep.yaml:9]

Pin 15 is used in multiple places.
platform: gpio
id: buzzer_out_1
pin:
number: 15
allow_other_uses: False
mode:
output: True
input: False
open_drain: False
pullup: False
pulldown: False
analog: False
inverted: False

You probably just need to add to your substitutions section:

warning_beep_shared: "true"

See the default Alarm Panel configuration here as an example

Thank you, that helped! I thought that maybe it was related to this line:

allow_other_uses: False