ESPHome

ESPHome Firmware Customization Basics

Konnected makes it easy for you to build custom capabilities for your Konnected devices with ESPHome

Customizing ESPHome firmware for your Konnected Alarm Panels and Garage Door Openers may seem intimidating, but Konnected makes things as easy as possible for you. 

Benefits of Customizing ESPHome Firmware

Our pre-built firmware distributions for the Konnected Alarm Panel family and Garage Door Opener provide turnkey functionality with Home Assistant using the most common configuration settings. Extending our base firmware unlocks the full capabilities of ESPHome on Konnected hardware. You can:

  • Customize zone names and types
  • Use different types of input sensors
  • Configure outputs
  • Implement security best practices
  • Build on-device local automations

Introduction to ESPHome YAML Configuration

ESPHome is configured using YAML configuration files that define the features and all of the components for a firmware build for a specific device. Konnected has provided the default firmware for you, and ESPHome links this in automatically via packages. When you first adopt a Konnected ESPHome device, click Edit on the ESPHome dashboard to bring up the YAML editor and you'll see a short basic configuration like this:

Screenshot 2023-05-28 at 4.29.25 PMWhen you adopt the device in ESPHome, it automatically copies the device name and links it to Konnected's default firmware package hosted on GitHub. ESPHome will also automatically insert the API Key for Home Assistant and your WiFi credentials (if applicable).

All of our ESPHome packages are open-source and hosted on GitHub at konnected-io/konnected-esphome

Installing and Updating

When you Install or Update from ESPHome Dashboard, the configuration file reads the latest version of Konnected's firmware packages, applies any customizations, and builds a fresh firmware that can be wirelessly uploaded to your device.

Add Customizations to this File

Add any customizations to your ESPHome configuration to this file by adding additional configuration extensions and components in this file. See the other articles in this knowledge base section for details.

For example, a complete configuration, with one customization added to change Zone 4 to a normally-open smoke alarm zone may look like this:

substitutions:
  name: alarm-panel-pro-188204
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

binary_sensor:
  - id: !extend zone4
    device_class: smoke
    name: Smoke Alarm 1
    filters:
    -invert 

See: ESPHome: Customize Zone inputs 

Konnected's ESPHome Packages

We have designed our ESPHome firmware with customization and openness in mind. When you first adopt a Konnected device in ESPHome, you will get the default firmware configuration, which is a list of ESPHome configuration packages. To fine-tune your configuration, you can pick and choose which packages to include by editing your device's ESPHome configuration to include specific packages instead of the default one.

Custom ESPHome Firmware Services

We do our best to make it easy to customize and build your own ESPHome device on Konnected hardware, but we understand that firmware configuration is not for everybody. Custom ESPHome setup and troubleshooting is not included in our normal technical support offering, but custom solutions are available for a fee. Please contact us at esphome@konnected.io to inquire about your project.