Unable to update from ESPHome 2023.11.6 to 2023.12.5

Hi,

I have an older Konnected board with the separate NodeMCU currently running ESPHome 2023.11.6 and interfaced with Home Assistant.

I’m running into errors in ESPHome when I try to update to version 2023.12.5. I understand that this is happening because of an update to ESPHome that checks to validate that pins aren’t reused in the config. I also see on GitHub that there was a recent Konnected release that works around this change in ESPHome.

However, I’m not sure how I might be able to go from 2023.11.6 to 2023.12.5 successfully. Right now, any time I try to update, I get the error about pins being reused.

Any advice or guidance is appreciated.

Thanks, Adam

I ran into the same problem. Pin duplication validation causes errors because Konnected source code uses the same output for both the siren and warning_beep entities.

6-Zone Konnected Alarm Panels each have one output configured for the ALRM or OUT zone on the device. It can be accessed in Home Assistant as an on/off switch as switch.alarm or as light.warning_beep.

Remove (or comment out) the device you aren’t using.

Hi! I have the same issue. On one of my boards I am using the ALRM for a srien but not using the OUT for a buzzer. I had the warning-beep.yaml commented out since I set it up and I still get that error. Any tips?

EDIT: when I do not comment the warning-beep.yaml out, I do not get the error.
Then I have a board where I do use the OUT pin but do not use the ALRM and I always get an error about re-using the pin 15. I have the alarm.yaml commented. I tried not commenting it out but that did not help. Does that make sense?

Since the error you get is about re-using pin 15, you need to comment out either the sensor or switch section defining pin 15 that you are not using. This is assuming you are using your own code base.

If you are using Konnected source code includes copying yaml files from the github://konnected-io repository, your packages are constantly changing to reflect changes in Esphome. You should not need to comment anything out, just keep up to date on Esphome.

Thank you for your reply. I do not fully understand what it is that I am doing wrong. I made my own edits to the code and everything was fine until the most recent update of ESPHome. I am using the OUT but not the ALRM. Could you please have a look at my configuration? Maybe you will see something obvious.

I get an error here:

switch:
  - platform: gpio
    pin: $out

Here is my full config:

substitutions:
  name: alarm-panel-56b1ed
  friendly_name: Konnected2
  warning_beep_pin: $out
packages:
  remote_package:
    url: http://github.com/konnected-io/konnected-esphome
    ref: master
    refresh: 5min
    files:
      - packages/alarm-panel-esp8266-base.yaml
      - packages/alarm-panel/zone1.yaml
      - packages/alarm-panel/zone2.yaml
      - packages/alarm-panel/zone3.yaml
      - packages/alarm-panel/zone4.yaml
      - packages/alarm-panel/zone5.yaml
      - packages/alarm-panel/zone6.yaml
      # - packages/alarm-panel/alarm.yaml
      - packages/wifi.yaml
      - packages/warning-beep.yaml
      - packages/status-led.yaml

# Button when pressed makes two beeps
button:
  - platform: template
    name: "my buzzer"
    id: buzzervsk2
    on_press:
      - repeat:
          count: 2
          then:
            - switch.turn_on: warningbeepk2
            - delay: 50ms
            - switch.turn_off: warningbeepk2
            - delay: 50ms

switch:
  - platform: gpio
    pin: $out
    name: buzzer
    id: warningbeepk2
    restore_mode: always_off

binary_sensor:
  - id: !extend zone1
    device_class: sound
    name: sensor1
    filters:
      - invert 
  - id: !extend zone2
    device_class: window
    name: sensor2
  - id: !extend zone3
    device_class: sound
    name: sensor3
    filters:
      - invert 
  - id: !extend zone4
    device_class: window
    name: sensor4
  - id: !extend zone5
    device_class: window
    name: sensor5
  - id: !extend zone6
    device_class: sound
    name: sensor6
    filters:
      - invert

esphome:
  name: ${name}
  name_add_mac_suffix: false
api:
  encryption:
    key: my-encryption-key

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

web_server:
  include_internal: true
logger:
ota:

The error message refers to pin 15 which is labeled D8 in the file. D8 is used by both alarm and out. You added a switch section for warningbeepk2 that needed to be rewritten to comply with the latest ESPHOME rules:

switch:
  - platform: gpio
    pin: 
      number: $out
      allow_other_uses: true
    name: buzzer
    id: warningbeepk2
    restore_mode: always_off

Make those changes and it compiles fine.

Hi again,

Thank you, this really helped me. I read the release notes and tried adding “allow_other_uses” before I posted here but I did it incorrectly and I was getting an error message stating that it is an invalid option for the switch.gpio. I feel really stupid now, my indentation was wrong so the option was applying to the switch instead of the pin.

Thank you again!