-
Notifications
You must be signed in to change notification settings - Fork 0
/
battery-controller.yaml
172 lines (155 loc) · 3.41 KB
/
battery-controller.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
substitutions:
device_name: battery-controller
pace_tx: GPIO11
pace_rx: GPIO10
jkbms_tx: GPIO42
jkbms_rx: GPIO1
jkbms_fctl: GPIO2
packages:
device_common: !include .device_common.yaml
lvgl-ui: !include battery-controller/lvgl-ui.yaml
jkbms_modbus: !include
file: battery-controller/jkbms-modbus.yaml
vars:
tx_pin: ${jkbms_tx}
rx_pin: ${jkbms_rx}
fctl_pin: ${jkbms_fctl}
# pace-bms: !include
# file: battery-controller/pace-bms-emulator.yaml
# vars:
# tx_pin: ${pace_tx}
# rx_pin: ${pace_rx}
pylon-bms: !include
file: battery-controller/pylon-protocol-emulator.yaml
vars:
tx_pin: ${pace_tx}
rx_pin: ${pace_rx}
globals:
- id: current_tile_num
type: uint8_t
initial_value: '0'
- id: is_automatic_tile_change
type: bool
initial_value: 'false'
- id: clr_num
type: uint8_t
initial_value: '0'
wifi:
on_connect:
- script.execute:
id: lvgl_update_status_icon
name: api_connection
is_on: true
on_disconnect:
- script.execute:
id: lvgl_update_status_icon
name: api_connection
is_on: false
esphome:
name: battery-controller
friendly_name: battery-controller
platformio_options:
board_build.flash_mode: dio
esp32:
board: esp32-s3-devkitc-1
variant: ESP32S3
flash_size: 16MB
framework:
type: esp-idf
platform_version: 6.8.1
version: 5.3.0
sdkconfig_options:
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: y
CONFIG_ESP32S3_DATA_CACHE_64KB: y
CONFIG_SPIRAM_FETCH_INSTRUCTIONS: y
CONFIG_SPIRAM_RODATA: y
# CONFIG_ESP_MAIN_TASK_STACK_SIZE: "65535"
psram:
mode: quad
speed: 80MHZ
external_components:
- source: github://pr#6537
components: [ spi, ili9xxx ]
- source: github://clydebarrow/esphome@i8080
components: [ io_bus, i80 ]
# - source: github://syssi/esphome-jk-bms@main
logger:
baud_rate: 0
level: WARN
debug:
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
psram:
name: "Free PSRAM"
- platform: internal_temperature
name: ESP32 Internal temperature
entity_category: diagnostic
i2c:
sda: GPIO6
scl: GPIO5
id: touch_i2c
touchscreen:
- platform: ft63x6
id: touch
interrupt_pin: GPIO7
transform:
swap_xy: true
mirror_y: false
mirror_x: true
on_release:
- script.execute: lvgl_resume
output:
- platform: ledc
id: backlight_pwm
pin:
number: GPIO45
ignore_strapping_warning: true
light:
- platform: monochromatic
id: backlight
output: backlight_pwm
restore_mode: ALWAYS_ON
i80:
- id: i80bus
dc_pin:
number: GPIO0
ignore_strapping_warning: true
wr_pin: GPIO47
data_pins:
- GPIO9
- number: GPIO46
ignore_strapping_warning: true
- number: GPIO3
ignore_strapping_warning: true
- GPIO8
- GPIO18
- GPIO17
- GPIO16
- GPIO15
display:
- platform: ili9xxx
model: ST7796
bus_type: i80
reset_pin: GPIO4
pixel_mode: 16bit
color_order: bgr
invert_colors: true
dimensions:
width: 480
height: 320
transform:
swap_xy: true
auto_clear_enabled: false
button:
- id: turn_on_screen
name: ${device_name} turn on screen
platform: template
on_press:
- script.execute:
id: lvgl_resume