Konnected alarm pro, connected via LAN, using the Home Assistant ESPHome builder.
Fixed IP address, and DNS on DHCP server.
ping konnected-ab2c3c.local correctly resolves to the device.
I’ve tried deleting the device and taking control of it again.
Error:
INFO Successfully compiled program.
ERROR Error resolving IP address of ['konnected-ab2c3c.local']. Is it connected to WiFi?
ERROR (If this error persists, please set a static IP address: https://esphome.io/components/wifi.html#manual-ips)
ERROR Timeout resolving IP address: Timeout while resolving IP address for ['konnected-ab2c3c.local']
WARNING Failed to upload to ['konnected-ab2c3c.local']
Nothing is seen on the device log as an attempted firmware upgrade.
Full yaml below:
###
##
## Konnected Alarm Panel Pro v1.5, v1.6, v1.7 (ESP32)
## Firmware configuration for ESPHome
##
## filename: alarm-panel-pro-esp32.yaml
## GitHub: https://github.com/konnected-io/konnected-esphome
## Buy Konnected hardware: https://konnected.io
## Help & Support: https://[email protected] (support is provided for purchasers of Konnected hardware)
##
## Copyright© 2023 Konnected Inc.
##
## Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
## files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
## modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
## is furnished to do so, subject to the following conditions:
##
## The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
##
## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
## OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
## LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
## IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
##
####
####
# GENERAL SETTINGS
# Customize these variables to your preferences and needs
# more: https://esphome.io/guides/configuration-types.html#substitutions
substitutions:
####
# NAME
# By default, the name of the ESPHome device is "konnected-xxxxxx" where xxxxxx is a unique identifier. The device's
# hostname on your network is also defined by the name, defaulting to "konnected-xxxxxx.local". Edit this variable to
# customize the name and hostname. Note: only lowercase characters, numbers and hyphen(-) are allowed.
name: konnected-ab2c3c
friendly_name: Alarm Panel Pro
project_name: konnected.alarm-panel-pro-ethernet
project_version: "0.1.1"
# ETHERNET CONFIG
# On the Alarm Panel Pro v1.5, v1.6 and v1.7 use LAN8720. On the v1.8 set this variable to RTL8201.
ethernet_type: LAN8720
manual_ip:
static_ip: 10.66.131.134
gateway: 10.66.131.1
subnet: 255.255.255.0
sensor_debounce_time: 200ms
warning_beep_pulse_time: 100ms
warning_beep_pause_time: 130ms
warning_beep_internal_only: "false"
warning_beep_shared: "false"
blink_on_state: "true"
####
# ZONE MAPPING
# Do not edit this section.
zone1: GPIO4
zone2: GPIO2
zone3: GPIO15
zone4: GPIO13
zone5: GPIO18
zone6: GPIO14
zone7: GPIO33
zone8: GPIO32
zone9: GPIO36 # working
zone10: GPIO39 # working
zone11: GPIO34 # not tested
zone12: GPIO35 # working
alarm1: GPIO12
alarm2: GPIO5
out1: GPIO23
out2: GPIO5
status_led: GPIO3
####
# CONNECTION MAPPINGS
warning_beep_pin: $out1
####
# PACKAGES
# Each package includes the alarm panel feature
# Remove or comment out any packages that you do not need or want.
# If you're developing/installing locally, replace the github package line with the local package include above it.
packages:
remote_package:
url: https://github.com/konnected-io/konnected-esphome
ref: master
refresh: 5min
files:
####
# CORE
# This package is required and sets up core features.
- packages/core-esp32.yaml
####
# ETHERNET
# Enables ethernet connectivity.
- packages/ethernet.yaml
####
# MDNS
# Enables the _konnected MDNS/zeroconf service advertisement needed for the Konnected App
- packages/mdns.yaml
####
# STATUS LED
# Enables the onboard blue status LED as an activity/error indicator
- packages/status-led.yaml
####
# INPUT ZONES
- packages/alarm-panel/zone1.yaml
####
# WARNING BEEP
# Enables a 'Warning Beep' entity, intended to be used with a piezo buzzer or other pulsing.
# binary output This is implemented using the light component with strobe effect to create a
# repeated beeping sound or pulsing action that can be turned on via the _strobe_ effect.
- packages/warning-beep.yaml
dashboard_import:
package_import_url: github://konnected-io/konnected-esphome/alarm-panel-pro-esp32-ethernet.yaml@master
import_full_config: false
####
# WEB SEVER
# Enables the built-in web server for viewing the device state, internals and controls via web browser
# on the same local network as the device.
web_server:
include_internal: true
####
# LOGGER
# more: https://esphome.io/components/logger.html
logger:
####
# NATIVE API for HOME ASSISTANT
# Enables the native API for Home Assistant
# more: https://esphome.io/components/api.html
api:
encryption:
key: [key]
#ota:
# - platform: esphome
# port: 8266
# password: "password"
binary_sensor:
#2
- platform: gpio
id: sitting_room_pir
name: Sitting Room PIR
device_class: motion
pin:
number: $zone2
mode: INPUT_PULLUP
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#3
- platform: gpio
id: front_door
name: Front Door
device_class: door
pin:
number: $zone3
mode: INPUT_PULLUP
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#4
- platform: gpio
id: drawing_room_pir
name: Drawing Room PIR
device_class: motion
pin:
number: $zone4
mode: INPUT_PULLUP
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#5
- platform: gpio
id: kitchen_door
name: Kitchen Door
device_class: door
pin:
number: $zone5
mode: INPUT_PULLUP
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#6
- platform: gpio
id: study_pir
name: Study PIR
device_class: motion
pin:
number: $zone6
mode: INPUT_PULLUP
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#7
- platform: gpio
id: upstairs_pir1
name: Upstairs PIR 1
device_class: motion
pin:
number: $zone7
mode: INPUT_PULLUP
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#8
- platform: gpio
id: upstairs_pir2
name: Upstairs PIR 2
device_class: motion
pin:
number: $zone8
mode: INPUT_PULLUP
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#9
#9, 10, 11 and 12 are all INPUT not INPUT_PULLUP
- platform: gpio
id: utility_room_pir
name: Utility Room PIR
device_class: motion
pin:
number: $zone9
mode: INPUT
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#10
- platform: gpio
id: kitchen_pir
name: Kitchen PIR
device_class: motion
pin:
number: $zone10
mode: INPUT
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#11
- platform: gpio
id: panic
name: Panic Alarm
device_class: tamper
pin:
number: $zone11
mode: INPUT
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
#12
- platform: gpio
id: tamper
name: Tamper
device_class: tamper
pin:
number: $zone12
mode: INPUT
filters:
- delayed_on_off: $sensor_debounce_time
on_state:
- if:
condition:
lambda: return id(blink_on_state);
then:
- script.execute: blink_status_led
- platform: homeassistant
id: ha_test
name: HA Test
entity_id: input_boolean.test_switch
switch:
- platform: gpio
id: siren1
name: Siren 1
icon: mdi:alarm-bell
pin: $alarm1
# - platform: gpio
# id: buzzer
# name: Buzzer
# icon: mdi:bell-ring-outline
# pin: $out1
alarm_control_panel:
platform: template
name: Alarm Panel
id: acp1
codes:
- "1234"
requires_code_to_arm: false
arming_away_time: 0s
arming_home_time: 0s
pending_time: 15s
trigger_time: 1min
binary_sensors:
- input: sitting_room_pir
bypass_armed_home: true
trigger_mode: instant
- input: front_door
trigger_mode: delayed
- input: drawing_room_pir
trigger_mode: instant
- input: kitchen_door
chime: true
trigger_mode: instant
- input: study_pir
trigger_mode: instant
- input: upstairs_pir1
bypass_armed_night: true
trigger_mode: instant
- input: upstairs_pir2
bypass_armed_night: true
trigger_mode: instant
- input: utility_room_pir
bypass_armed_home: true
bypass_armed_night: true
trigger_mode: instant
- input: kitchen_pir
bypass_armed_home: true
trigger_mode: instant
- input: panic
trigger_mode: instant_always
- input: tamper
trigger_mode: instant_always
on_state:
then:
- lambda: !lambda |-
ESP_LOGD("TEST", "State change %s", alarm_control_panel_state_to_string(id(acp1)->get_state()));
on_triggered:
then:
- switch.turn_on: siren1
on_cleared:
then:
- switch.turn_off: siren1
on_ready:
then:
- lambda: !lambda |-
ESP_LOGD("TEST", "Sensor ready change to: %s",
(id(acp1).get_all_sensors_ready()) ? (const char *) "True" : (const char *) "False");
on_chime:
then:
- lambda: !lambda |-
ESP_LOGD("TEST", "Zone with chime mode set opened");