ESPHome

ESPHome Customization on the Konnected Alarm Panel Pro

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.

    made-for-esphome-black-on-white

    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):

    1. github://konnected-io/konnected-esphome/alarm-panel-pro-esp32-wifi.yaml@master
    2. 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