DUMMY 13

public
patricktd Feb 03, 2025 Never 67
Clone
Plaintext paste1.txt 188 lines (172 loc) | 5.88 KB
1
substitutions:
2
name: "dummy"
3
friendly_name: Dummy
4
5
esphome:
6
name: ${name}
7
friendly_name: ${friendly_name}
8
min_version: 2024.6.0
9
name_add_mac_suffix: false
10
project:
11
name: esphome.web
12
version: dev
13
14
esp32:
15
board: esp32dev
16
framework:
17
type: arduino
18
19
# Enable logging
20
logger:
21
22
# Enable Home Assistant API
23
api:
24
25
# Allow Over-The-Air updates
26
ota:
27
- platform: esphome
28
password: !secret ota_password
29
30
# Allow provisioning Wi-Fi via serial
31
improv_serial:
32
33
wifi:
34
ssid: !secret wifi_ssid
35
password: !secret wifi_password
36
ap:
37
ssid: ${name}
38
password: !secret ap_password
39
40
# In combination with the `ap` this allows the user
41
# to provision wifi credentials to the device via WiFi AP.
42
captive_portal:
43
44
#dashboard_import:
45
# package_import_url: github://esphome/example-configs/esphome-web/esp32.yaml@main
46
# import_full_config: true
47
48
# To have a "next url" for improv serial
49
web_server:
50
port: 80
51
52
i2c:
53
sda: GPIO21
54
scl: GPIO22
55
scan: false
56
57
font:
58
- file: 'slkscr.ttf'
59
id: font1
60
size: 8
61
- file: 'BebasNeue-Regular.ttf'
62
id: font2
63
size: 48
64
- file: 'arial.ttf'
65
id: font3
66
size: 12
67
- file: 'BebasNeue-Regular.ttf'
68
id: font4
69
size: 44
70
- file: "materialdesignicons-webfont.ttf"
71
id: font5
72
size: 42
73
glyphs: [
74
"\U000F081C", # mdi-door-open
75
"\U000F1846", # mdi-curtains
76
"\U000F1A4E", # mdi-lightbulb-on-10
77
"\U000F05B1", # mdi-window-open
78
"\U000F111E", # mdi-window-shutte-open
79
"\U000F08B2", # mdi-lock-smart
80
"\U000F050F", # mdi-thermometer
81
"\U000F1126", # diabetes
82
]
83
84
sensor:
85
- platform: homeassistant
86
entity_id: sensor.escritorio_patrick_temperatura
87
name: "Temperatura"
88
id: temperatura
89
- platform: homeassistant
90
entity_id: sensor.patrick_duarte_glucose_level
91
name: "Glicose"
92
id: glicose
93
- platform: homeassistant
94
entity_id: sensor.patrick_th_humidity
95
name: "Umidade"
96
id: umidade
97
- platform: homeassistant
98
entity_id: sensor.luzes_acesas
99
name: "Luzes Acesas"
100
id: luzes_acesas
101
internal: true
102
- platform: homeassistant
103
entity_id: sensor.cortinas_abertas
104
name: "Cortinas Abertas"
105
id: cortinas_abertas
106
internal: true
107
- platform: homeassistant
108
entity_id: sensor.janelas_abertas
109
name: "Janelas Abertas"
110
id: janelas_abertas
111
internal: true
112
- platform: homeassistant
113
entity_id: sensor.persianas_abertas
114
name: "Persianas Abertas"
115
id: persianas_abertas
116
internal: true
117
- platform: homeassistant
118
entity_id: sensor.portas_abertas
119
name: "Portas Abertas"
120
id: portas_abertas
121
internal: true
122
- platform: homeassistant
123
entity_id: sensor.fechaduras_destrancadas
124
name: "Fechaduras"
125
id: fechaduras_destrancadas
126
internal: true
127
128
animation:
129
- file: "olhos.gif"
130
id: olhos
131
resize: 128x64
132
133
display:
134
- platform: ssd1306_i2c
135
model: "SH1106 128x64"
136
#reset_pin: GPIOXX
137
address: 0x3C
138
id: lcd
139
pages:
140
- id: pag1
141
lambda: |-
142
id(olhos).next_frame();
143
it.image(13, 0, id(olhos));
144
- id: pag2
145
lambda: |-
146
it.printf(it.get_width() / 2, 0, id(font3), TextAlign::TOP_CENTER, "TEMPERATURA");
147
it.printf(5*(it.get_width() / 6), 15, id(font2), TextAlign::TOP_CENTER, "%.1f°", id(temperatura).state);
148
it.printf(it.get_width() / 6, 20, id(font5), TextAlign::TOP_CENTER, "\U000F050F");
149
- id: pag3
150
lambda: |-
151
it.printf(it.get_width() / 2, 0, id(font3), TextAlign::TOP_CENTER, "UMIDADE");
152
it.printf(it.get_width() / 2, 15, id(font2), TextAlign::TOP_CENTER, "%.1f%%", id(umidade).state);
153
- id: pag4
154
lambda: |-
155
it.printf(it.get_width() / 2, 0, id(font3), TextAlign::TOP_CENTER, "LUZES ACESAS");
156
it.printf(2*(it.get_width() / 3), 15, id(font2), TextAlign::TOP_CENTER, "%.0f", id(luzes_acesas).state);
157
it.printf(it.get_width() / 3, 20, id(font5), TextAlign::TOP_CENTER, "\U000F1A4E");
158
- id: pag5
159
lambda: |-
160
it.printf(it.get_width() / 2, 0, id(font3), TextAlign::TOP_CENTER, "CORTINAS ABERTAS");
161
it.printf(2*(it.get_width() / 3), 15, id(font2), TextAlign::TOP_CENTER, "%.0f", id(cortinas_abertas).state);
162
it.printf(it.get_width() / 3, 20, id(font5), TextAlign::TOP_CENTER, "\U000F1846");
163
- id: pag6
164
lambda: |-
165
it.printf(it.get_width() / 2, 0, id(font3), TextAlign::TOP_CENTER, "JANELAS ABERTAS");
166
it.printf(2*(it.get_width() / 3), 15, id(font2), TextAlign::TOP_CENTER, "%.0f", id(janelas_abertas).state);
167
it.printf(it.get_width() / 3, 20, id(font5), TextAlign::TOP_CENTER, "\U000F05B1");
168
- id: pag7
169
lambda: |-
170
it.printf(it.get_width() / 2, 0, id(font3), TextAlign::TOP_CENTER, "PERSIANAS ABERTAS");
171
it.printf(2*(it.get_width() / 3), 15, id(font2), TextAlign::TOP_CENTER, "%.0f", id(persianas_abertas).state);
172
it.printf(it.get_width() / 3, 20, id(font5), TextAlign::TOP_CENTER, "\U000F111E");
173
- id: pag8
174
lambda: |-
175
it.printf(it.get_width() / 2, 0, id(font3), TextAlign::TOP_CENTER, "FECHADURAS");
176
it.printf(2*(it.get_width() / 3), 15, id(font2), TextAlign::TOP_CENTER, "%.0f", id(fechaduras_destrancadas).state);
177
it.printf(it.get_width() / 3, 20, id(font5), TextAlign::TOP_CENTER, "\U000F08B2");
178
- id: pag9
179
lambda: |-
180
it.printf(it.get_width() / 2, 0, id(font3), TextAlign::TOP_CENTER, "GLICOSE PATRICK");
181
it.printf(3*(it.get_width() / 4), 15, id(font2), TextAlign::TOP_CENTER, "%.0f", id(glicose).state);
182
it.printf(it.get_width() / 4, 20, id(font5), TextAlign::TOP_CENTER, "\U000F1126");
183
184
interval:
185
- interval: 4s
186
then:
187
- display.page.show_next: lcd
188
- component.update: lcd
189