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!