How to customize your Konnected Alarm Panel Pro device with Konnected's ESPHome packages
This article applies to the Alarm Panel Pro running ESPHome firmware.
Konnected Alarm Panel Pro is Made for ESPHome
Konnected's pre-built default firmware for our Alarm Panel Pro product set up all 12 zones as binary sensor inputs, configures ALARM1 and ALARM2 as sirens/alarms, and OUT1 as a piezo warning beep. When you import an Alarm Panel Pro ESPHome device and click edit to customize the firmware, the default configuration looks like this:
substitutions:
name: alarm-panel-pro-xxxxxx
packages:
konnected.alarm-panel-pro-esp32-wifi: github://konnected-io/konnected-esphome/alarm-panel-pro-esp32-wifi.yaml@master
esphome:
name: ${name}
name_add_mac_suffix: false
api:
encryption:
key: UNIQUE_GENERATED_KEY_FOR_HOME_ASSISTANT
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
In the packages section, the default firmware package is loaded in one of two hosted configuration files, depending on the connectivity desired (Wi-Fi or Ethernet):
- github://konnected-io/konnected-esphome/alarm-panel-pro-esp32-wifi.yaml@master
- github://konnected-io/konnected-esphome/alarm-panel-pro-esp32-ethernet.yaml@master
Extended Configuration for Customizing Packages
To customize the firmware, you can pick and choose from the packages that you want. To do this, follow the link above to the default package on GithHub, and copy and paste the contents of that file into your ESPHome config, replacing everything except your substitutions section, like this (comments removed for brevity):
substitutions:
name: alarm-panel-pro-xxxxxx
packages:
remote_package:
url: http://github.com/konnected-io/konnected-esphome
ref: master
refresh: 5min
files:
# Required packages:
- packages/alarm-panel-esp32-base.yaml
- packages/status-led.yaml
# Keep either the wifi.yaml or ethernet.yaml package below (not both)
- packages/wifi.yaml
- packages/ethernet.yaml
# Default input/output configuration
- 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/zone7.yaml
- packages/alarm-panel/zone8.yaml
- packages/alarm-panel/zone9.yaml
- packages/alarm-panel/zone10.yaml
- packages/alarm-panel/zone11.yaml
- packages/alarm-panel/zone12.yaml
- packages/alarm-panel/alarm1.yaml
- packages/alarm-panel/alarm2.yaml
- packages/warning-beep.yaml
name: ${name}
name_add_mac_suffix: false
api:
encryption:
key: UNIQUE_GENERATED_KEY_FOR_HOME_ASSISTANT
# Remove this section if using Ethernet
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Add recommended usability components
web_server:
logger:
ota:
This configuration is equivalent to the one above, but it's expanded out so you can pick and choose which packages or components to use.
Setting the Ethernet Controller Type
Don't skip this step if you're using Ethernet with the Alarm Panel Pro!
Depending on the hardware revision of your Alarm Panel Pro, it may contain a different LAN controller. Look for the hardware version number on the front of the Alarm Panel Pro, directly underneath the Konnected logo in copper.
- v1.5, v1.6 and v1.7 - LAN8720
- v1.8 and newer - RTL8201
Set the ethernet_type substitution variable in your device's configuration YAML:
substitutions:
name: alarm-panel-pro-xxxxxx
ethernet_type: RTL8201
packages:
konnected.alarm-panel-pro-esp32-wifi: github://konnected-io/konnected-esphome/alarm-panel-pro-esp32-wifi.yaml@master
esphome:
name: ${name}
name_add_mac_suffix: false
api:
encryption:
key: UNIQUE_GENERATED_KEY_FOR_HOME_ASSISTANT
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password