Add cyb2.yml
This commit is contained in:
parent
714aac9179
commit
51cb138198
347
cyb2.yml
Normal file
347
cyb2.yml
Normal file
@ -0,0 +1,347 @@
|
||||
esphome:
|
||||
name: cyb2
|
||||
friendly_name: cyb2
|
||||
|
||||
esp32:
|
||||
board: esp32dev
|
||||
framework:
|
||||
#type: arduino
|
||||
type: esp-idf
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: "j7XV9IcJRYR2ZmJCIwezbLl7xoF5cwhUB9LICXMwSvg="
|
||||
services:
|
||||
- service: play_rtttl
|
||||
variables:
|
||||
song_str: string
|
||||
then:
|
||||
- rtttl.play:
|
||||
rtttl: !lambda 'return song_str;'
|
||||
|
||||
ota:
|
||||
- platform: esphome
|
||||
password: "dc303f89c909e0defe058ed4b0a03061"
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
#ap:
|
||||
# ssid: "Cyb2 Fallback Hotspot"
|
||||
# password: "HEbDg1Ra9OzC"
|
||||
|
||||
#captive_portal:
|
||||
|
||||
# ============================================================
|
||||
# ESPHome Display related setup
|
||||
#
|
||||
# Create a font to use, add and remove glyphs as needed.
|
||||
font:
|
||||
- file: 'fonts/Arimo-Regular.ttf'
|
||||
id: arimo20
|
||||
size: 20
|
||||
glyphs: "!\"%()+=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ abcdefghijklmnopqrstuvwxyzåäö"
|
||||
|
||||
# Create a Home Assistant blue color
|
||||
color:
|
||||
- id: ha_blue
|
||||
hex: 51c0f2
|
||||
|
||||
# ============================================================
|
||||
# Home Assistant related setup
|
||||
#
|
||||
light:
|
||||
- platform: monochromatic
|
||||
output: backlight_pwm
|
||||
name: Display Backlight
|
||||
id: backlight
|
||||
restore_mode: ALWAYS_ON
|
||||
#on_state:
|
||||
# - lvgl.slider.update:
|
||||
# id: backlight_slider
|
||||
# value: !lambda return x;
|
||||
|
||||
|
||||
# ============================================================
|
||||
# Hardware related setup
|
||||
#
|
||||
# Setup SPI for the display. The ESP32-2432S028R uses separate SPI buses for display and touch
|
||||
spi:
|
||||
- id: tft
|
||||
clk_pin: GPIO14
|
||||
mosi_pin: GPIO13
|
||||
miso_pin: GPIO12
|
||||
- id: touch
|
||||
clk_pin: GPIO25
|
||||
mosi_pin: GPIO32
|
||||
miso_pin: GPIO39
|
||||
|
||||
# Setup a pin to control the backlight
|
||||
output:
|
||||
- platform: ledc
|
||||
pin: GPIO21
|
||||
id: backlight_pwm
|
||||
- platform: ledc
|
||||
pin: GPIO26
|
||||
id: rtttl_out
|
||||
|
||||
# Setup the ili9xxx platform
|
||||
#
|
||||
# Display is used as 240x320 by default so we rotate it to 90°
|
||||
display:
|
||||
- platform: ili9xxx
|
||||
id: esp_display
|
||||
model: ili9342
|
||||
spi_id: tft
|
||||
cs_pin: GPIO15
|
||||
dc_pin: GPIO2
|
||||
#invert_display: true (changed to below with ESPhome 2023.12.0)
|
||||
invert_colors: false
|
||||
rotation: 90
|
||||
|
||||
|
||||
# Set up the xpt2046 touch platform
|
||||
touchscreen:
|
||||
platform: xpt2046
|
||||
spi_id: touch
|
||||
cs_pin: GPIO33
|
||||
interrupt_pin: GPIO36
|
||||
update_interval: 50ms
|
||||
threshold: 400
|
||||
calibration:
|
||||
x_max: 3860
|
||||
x_min: 280
|
||||
y_min: 340
|
||||
y_max: 3860
|
||||
transform:
|
||||
#swap_xy: true
|
||||
mirror_x: true
|
||||
#mirror_y: true
|
||||
lvgl:
|
||||
buffer_size: 25%
|
||||
pages:
|
||||
- id: simon
|
||||
widgets:
|
||||
- label:
|
||||
x: 0
|
||||
y: 10
|
||||
width: 240
|
||||
height: 50
|
||||
text_align: CENTER
|
||||
id: lbl_msg
|
||||
text_font: montserrat_20
|
||||
text: "HELLO"
|
||||
- led:
|
||||
id: lvgl_led
|
||||
x: 210
|
||||
y: 10
|
||||
#color: 0x0000FF
|
||||
brightness: 70%
|
||||
- buttonmatrix:
|
||||
x: 0
|
||||
y: 50
|
||||
width: 240
|
||||
height: 270
|
||||
id: lvgl_keypad
|
||||
rows:
|
||||
- buttons:
|
||||
- id: btn_1
|
||||
text: "1"
|
||||
- id: btn_2
|
||||
text: "2"
|
||||
- id: btn_3
|
||||
text: "3"
|
||||
#height: 100
|
||||
- buttons:
|
||||
- id: btn_4
|
||||
text: "4"
|
||||
- id: btn_5
|
||||
text: "5"
|
||||
- id: btn_6
|
||||
text: "6"
|
||||
- buttons:
|
||||
- id: btn_7
|
||||
text: "7"
|
||||
- id: btn_8
|
||||
text: "8"
|
||||
- id: btn_9
|
||||
text: "9"
|
||||
- buttons:
|
||||
- id: btn_a
|
||||
text: "*"
|
||||
- id: btn_0
|
||||
text: "0"
|
||||
- id: btn_b
|
||||
text: "#"
|
||||
|
||||
#- buttons:
|
||||
|
||||
#- id: btn_red
|
||||
# key_code: "r"
|
||||
# text: "Red"
|
||||
#bg_color: 0xff0000
|
||||
#- id: btn_green
|
||||
# key_code: "g"
|
||||
# text: "Green"
|
||||
|
||||
#bg_color: 0x00ff00
|
||||
#- buttons:
|
||||
# - id: btn_yellow
|
||||
# key_code: "y"
|
||||
# text: "yellow"
|
||||
|
||||
# - id: btn_blue
|
||||
# key_code: "b"
|
||||
# text: "blue"
|
||||
|
||||
#bg_color: 0x0000ff
|
||||
- id: main_page
|
||||
widgets:
|
||||
- slider:
|
||||
id: backlight_slider
|
||||
x: 20
|
||||
y: 50
|
||||
width: 30
|
||||
height: 100
|
||||
pad_all: 8
|
||||
min_value: 0
|
||||
max_value: 255
|
||||
on_release:
|
||||
then:
|
||||
- light.turn_on:
|
||||
id: backlight
|
||||
brightness: !lambda |-
|
||||
return int(x) / 255.0;
|
||||
|
||||
|
||||
text:
|
||||
- platform: lvgl
|
||||
widget: lbl_msg
|
||||
name: "Message"
|
||||
mode: TEXT
|
||||
|
||||
key_collector:
|
||||
- source_id: lvgl_keypad
|
||||
min_length: 4
|
||||
max_length: 20
|
||||
end_keys: "#"
|
||||
end_key_required: true
|
||||
back_keys: "*"
|
||||
allowed_keys: "0123456789*#"
|
||||
timeout: 5s
|
||||
on_progress:
|
||||
- if:
|
||||
condition:
|
||||
lambda: return (0 != x.compare(std::string{""}));
|
||||
then:
|
||||
- lvgl.label.update:
|
||||
id: lbl_msg
|
||||
text: !lambda 'return x.c_str();'
|
||||
else:
|
||||
- lvgl.label.update:
|
||||
id: lbl_msg
|
||||
text: "ENTER CODE"
|
||||
on_result:
|
||||
- if:
|
||||
condition:
|
||||
lambda: return (0 == x.compare(std::string{"1234"}));
|
||||
then:
|
||||
- lvgl.led.update:
|
||||
id: lvgl_led
|
||||
color: 0x00FF00
|
||||
else:
|
||||
- lvgl.led.update:
|
||||
id: lvgl_led
|
||||
color: 0xFF0000
|
||||
|
||||
binary_sensor:
|
||||
- platform: lvgl
|
||||
widget: btn_1
|
||||
name: 1
|
||||
- platform: lvgl
|
||||
widget: btn_2
|
||||
name: 2
|
||||
- platform: lvgl
|
||||
widget: btn_3
|
||||
name: 3
|
||||
- platform: lvgl
|
||||
widget: btn_4
|
||||
name: 4
|
||||
- platform: lvgl
|
||||
widget: btn_5
|
||||
name: 5
|
||||
- platform: lvgl
|
||||
widget: btn_6
|
||||
name: 6
|
||||
- platform: lvgl
|
||||
widget: btn_7
|
||||
name: 7
|
||||
- platform: lvgl
|
||||
widget: btn_8
|
||||
name: 8
|
||||
- platform: lvgl
|
||||
widget: btn_9
|
||||
name: 9
|
||||
- platform: lvgl
|
||||
widget: btn_0
|
||||
name: 0
|
||||
- platform: lvgl
|
||||
widget: btn_a
|
||||
name: a
|
||||
- platform: lvgl
|
||||
widget: btn_b
|
||||
name: b
|
||||
|
||||
|
||||
#i2s_audio:
|
||||
# - id: i2s_audio_bus
|
||||
# i2s_lrclk_pin: GPIO22
|
||||
#i2s_bclk_pin: GPIO22
|
||||
|
||||
#i2s_audio:
|
||||
# i2s_lrclk_pin: GPIO26
|
||||
#i2s_bclk_pin: GPIO26
|
||||
#media_player:
|
||||
# - platform: i2s_audio
|
||||
# name: ESPHome I2S Media Player
|
||||
# dac_type: internal
|
||||
# mode: left
|
||||
|
||||
#i2s_audio:
|
||||
# - id: i2s_audio_bus
|
||||
# i2s_lrclk_pin: GPIO33
|
||||
# i2s_bclk_pin: GPIO19
|
||||
|
||||
#speaker:
|
||||
# - platform: i2s_audio
|
||||
# id: cyb_speaker
|
||||
#i2s_dout_pin: GPIO22
|
||||
# sample_rate: 16000
|
||||
# dac_type: internal
|
||||
# bits_per_sample: 16bit
|
||||
# mode: left
|
||||
#channel: left
|
||||
# buffer_duration: 50ms
|
||||
|
||||
#media_player:
|
||||
# - platform: speaker
|
||||
# name: None
|
||||
# id: echo_media_player
|
||||
# announcement_pipeline:
|
||||
# speaker: cyb_speaker
|
||||
# sample_rate: 16000
|
||||
# num_channels: 1
|
||||
# format: WAV
|
||||
# codec_support_enabled: false
|
||||
# buffer_size: 4000
|
||||
|
||||
rtttl:
|
||||
output: rtttl_out
|
||||
id: my_rtttl
|
||||
gain: 10%
|
||||
Loading…
x
Reference in New Issue
Block a user