#####################################################################################################
##### NSPANEL ESPHOME created by Blackymas - https://github.com/Blackymas/NSPanel_HA_Blueprint  #####
##### ESPHOME PRE-BUILT                                                                         #####
##### PLEASE only make changes if it is necessary and also the required knowledge is available. #####
##### For normal use with the Blueprint, no changes are necessary.                              #####
#####################################################################################################
---
substitutions:
  device_name: nspanel
  wifi_ssid: nspanel
  wifi_password: NSPanel_Blueprint
  pre_built: "true"

packages:
  core_package: !include ./nspanel_esphome_core.yaml  # Core package
  upload_tft_package: !include ./nspanel_esphome_addon_upload_tft.yaml  # Core package

button:
  - platform: factory_reset
    name: Factory reset
    disabled_by_default: true
    internal: false

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device.
captive_portal:

dashboard_import:
  package_import_url: github://Blackymas/NSPanel_HA_Blueprint/advanced/esphome/nspanel_esphome_prebuilt.yaml  # Must be updated
  import_full_config: false

esp32:
  framework:
    type: esp-idf

# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
  authorizer: none

esphome:
  name_add_mac_suffix: true
  project:
    name: esphome.NSPanel_HA_Blueprint
    version: "${version}"

# Sets up the improv via serial client for Wi-Fi provisioning
improv_serial:

logger:
  baud_rate: 115200

ota:
  password: ""

script:
  - id: !extend watchdog
    then:
      - lambda: |-
          static const char *const TAG = "prebuilt.script.watchdog";
          ESP_LOGI(TAG, "Pre-built version: ${pre_built}");


select:
  - id: !extend tft_file_model
    platform: template
    options:
      - "NSPanel Blank"
      - "NSPanel EU"
      - "NSPanel US"
      - "NSPanel US Landscape"
      - "NSPanel EU (CJK languages)"
      - "NSPanel US (CJK languages)"
      - "NSPanel US Landscape (CJK languages)"
    initial_option: "NSPanel Blank"

wifi:
  ap: {}
  power_save_mode: LIGHT  # To make it compatible with BLE
