Files
NSPanel_HA_Blueprint/prebuilt/nspanel_esphome_prebuilt.yaml
2024-04-18 18:34:49 +02:00

132 lines
3.5 KiB
YAML

########################
##### EXPERIMENTAL #####
########################
#####################################################################################################
##### 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
##### External components #####
external_components:
- source: github://pr#5586 # Remove this and update min ver when that PR is released
components:
- ota_http
refresh: 300s
packages:
core_package: !include ../esphome/nspanel_esphome_core.yaml
upload_tft_package: !include ../esphome/nspanel_esphome_addon_upload_tft.yaml
api:
services:
- service: firmware_update
variables:
url: string
then:
- ota_http.flash:
md5_url: !lambda return fw_url->state + ".md5";
url: !lambda return fw_url->state;
- lambda: |-
static const char *const TAG = "prebuilt.button.bt_firmware_update";
ESP_LOGE(TAG, "Firmware update failed!");
button:
- name: Factory reset
platform: factory_reset
disabled_by_default: true
internal: false
- id: bt_firmware_update
name: Firmware update
platform: template
on_press:
then:
- ota_http.flash:
md5_url: !lambda return fw_url->state + ".md5";
url: !lambda return fw_url->state;
- lambda: |-
static const char *const TAG = "prebuilt.button.bt_firmware_update";
ESP_LOGE(TAG, "Firmware update failed!");
captive_portal:
id: ap_captive_portal
dashboard_import:
package_import_url: github://Blackymas/NSPanel_HA_Blueprint/prebuilt/nspanel_esphome_prebuilt.yaml@main
import_full_config: false
esp32_ble:
id: ble
esp32_improv:
id: ble_improv
authorizer: none
esp32_ble_server:
id: ble_server
esphome:
name_add_mac_suffix: true
project:
name: esphome.NSPanel_HA_Blueprint
version: "${version}"
platformio_options:
build_flags:
- -D NSPANEL_HA_BLUEPRINT_PREBUILT
improv_serial:
id: serial_improv
logger:
baud_rate: 115200
ota:
id: my_ota
password: !remove
ota_http:
exclude_certificate_bundle: true
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)"
text:
- id: fw_url
name: Firmware URL
platform: template
icon: mdi:cloud-download
mode: text
optimistic: true
entity_category: config
internal: false
update_interval: never
restore_value: true
initial_value: "https://raw.githubusercontent.com/Blackymas/NSPanel_HA_Blueprint/main/prebuilt/nspanel_esphome_prebuilt.bin"
on_value:
then:
- lambda: |-
ESP_LOGD("text.fw_url", "New Firmware URL set: %s", x.c_str());
wifi:
networks: !remove
ap: {}
power_save_mode: LIGHT # To make it compatible with BLE
...