-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlovelace cards(with all mods).yaml
334 lines (329 loc) · 10.3 KB
/
lovelace cards(with all mods).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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
resources:
- url: /local/mini-graph-card-bundle.js?v=0.9.4
type: module
- url: https://fonts.googleapis.com/css2?family=Zen+Dots
type: css
- url: https://fonts.googleapis.com/css2?family=Moon+Dance
type: css
background: var(--background-image)
title: Your title
views:
- theme: Backend-selected
title: House
icon: mdi:fireplace
badges: []
cards:
- type: vertical-stack
cards:
- type: markdown
content: |
{{states("sensor.house_display_text_sensor")}}
card_mod:
style: |
ha-card {
font-family: 'Dotty';
#background: url("/local/oled2.jpg");
#background-size: 100% 400px;
background-color: CornflowerBlue;
font-size: 60px;
color: blue;
border: solid 1px var(--primary-color);
text-align: center
}
- type: entities
entities:
- entity: climate.house_wood_pellet_stove
- type: custom:slider-entity-row
entity: climate.house_wood_pellet_stove
full_row: true
toggle: true
- entity: select.esph_house_power_select
- entity: select.esph_house_eco_select
name: ECO1=Heat then OFF, ECO2=P1 then P4 Maintain
show_header_toggle: false
state_color: true
- show_name: true
show_icon: false
show_state: true
type: glance
entities:
- entity: sensor.esph_house_stove_error_code
name: Error code
- entity: sensor.esph_house_stove_current_temp
name: Curr temp
- entity: sensor.esph_house_stove_current_temp
name: Smoothed
- entity: sensor.esph_house_stove_set_temp
name: Set temp
- entity: sensor.esph_house_stove_pipe_temp
name: Pipe
state_color: false
- type: entities
entities:
- entity: sensor.esph_house_bs_error_10
name: Goodbye Error (60=on)
secondary_info: last-changed
- entity: switch.house_stove_fan_socket_1
name: Cooling Fan @225F
secondary_info: last-changed
- entity: automation.house_pellet_stove_hvac_am_5_30_to_70
name: HVAC Schedule
secondary_info: last-changed
- entity: sensor.esph_house_error_code_decoded
name: Error Msg
secondary_info: last-changed
- entity: sensor.esph_house_stove_pipe_heating_or_cooling
name: Stove Exhaust temp is currently
state_color: true
- type: conditional
conditions:
- entity: sensor.esph_house_stove_error_code
state_not: '0'
card:
type: markdown
content: STOVE ERROR! Some Ting Wong
title: Pellet Stove Error
- type: custom:plotly-graph
defaults:
entity:
texttemplate: <b> %{y}</b> %{customdata.unit_of_measurement}
show_value: null
hours_to_show: 4
entities:
- entity: sensor.esph_house_stove_pipe_temp
unit_of_measurement: Pipe Temp
yaxis: y1
show_value: true
right_margin: 40
line:
color: aqua
shape: spline
width: 1
smoothing: 0
filters:
- exponential_moving_average:
alpha: 1.5
- entity: binary_sensor.house_stoke_fire_flag
yaxis: y3
show_value: true
right_margin: 40
line:
color: red
dash: dashdot
refresh_interval: 10
default_trace:
line:
width: 1
layout:
height: 500
yaxis:
zeroline: false
fixedrange: true
range:
- 100
- 350
yaxis2:
gridcolor: whitesmoke
fixedrange: true
zeroline: false
yaxis3:
gridcolor: whitesmoke
zeroline: false
range:
- 0
- 1.5
fixedrange: true
grid:
ygap: 0.07
rows: 1
columns: 1
pattern: coupled
roworder: top to bottom
xaxis:
rangeselector:
bgcolor: '#474747'
'y': 1.2
buttons:
- count: 30
step: minute
- count: 1
step: hour
- count: 2
step: hour
- count: 3
step: hour
- count: 12
step: hour
- count: 1
step: day
- count: 2
step: day
- count: 7
step: day
- type: entities
entities:
- entity: input_boolean.p5
name: Ultra Low Power
- entity: switch.esph_house_augerout_to_optoisolator_led
secondary_info: last-changed
- entity: binary_sensor.esph_house_auger_sensor_from_mcu
- entity: binary_sensor.house_stoke_fire_flag
name: Stoking?
- entity: sensor.esph_house_pellet_level_in_percent
- entity: sensor.esph_house_stove_pellet_level_smoothed
- entity: input_number.auger_on_time
- entity: input_number.auger_off_time
- entity: input_number.stoking_temp
- entity: button.esph_house_stove_restart
- entity: sensor.house_uptime_formatted
- entity: sensor.house_auger_counter_lighting
- type: custom:plotly-graph
defaults:
entity:
texttemplate: <b> %{y}</b> %{customdata.unit_of_measurement}
show_value:
right_margin: 10
entities:
- entity: sensor.esph_house_stove_set_temp
line:
color: white
show_value:
right_margin: 40
- entity: sensor.esph_house_stove_pellet_level_smoothed
line:
color: brown
shape: spline
width: 1
- entity: sensor.esph_house_stove_temp_sensor_smoothed
show_value:
right_margin: 40
line:
color: aqua
shape: spline
width: 1
smoothing: 1
lambda: |-
(ys, xs) => {
const MINUTES = 10 // <-- change here
const window_size_ms = 1000*60*MINUTES
const result = {x:[], y:[]}
let x_next = +xs[0] + window_size_ms
let y_accum = 0
let y_count = 0
for (let i = 0; i < xs.length; i++) {
const x = +xs[i]
const y = +ys[i]
if (x>x_next){
result.y.push(y_accum/y_count)
result.x.push(new Date(x_next))
y_accum = 0
y_count = 0
x_next = +x + window_size_ms
}
if (y){
// ignore unavailable/unknown state points
y_accum += y
y_count ++
}
}
return result;
}
- entity: sensor.esph_house_bs_error_yesno
transform: 'return x === ''no'' ? 65 : 60;'
name: Binary Sensor for Goodbye! error
show_value:
right_margin: 40
refresh_interval: 5
hours_to_show: 4
layout:
height: 600
yaxis:
zeroline: false
fixedrange: true
xaxis:
rangeselector:
bgcolor: '#474747'
'y': 1.2
buttons:
- count: 1
step: minute
- count: 10
step: minute
- count: 30
step: minute
- count: 1
step: hour
- count: 6
step: hour
- count: 12
step: hour
- count: 24
step: hour
- count: 1
step: day
- count: 2
step: day
- count: 7
step: day
view_layout:
position: main
- type: custom:plotly-graph
defaults:
entity:
texttemplate: <b> %{y}</b> %{customdata.unit_of_measurement}
show_value:
right_margin: 10
line:
shape: spline
width: 1
smoothing: 0
entities:
- entity: sensor.esph_house_stove_protect_temp
show_value:
right_margin: 40
color: yellow
- entity: sensor.esph_house_stove_current_temp
show_value:
right_margin: 40
- entity: sensor.esph_house_stove_current_temp
show_value:
right_margin: 40
line:
color: yellow
shape: spline
width: 1
smoothing: 1
refresh_interval: 10
hours_to_show: 1
layout:
height: 600
yaxis:
zeroline: false
fixedrange: true
xaxis:
rangeselector:
bgcolor: '#474747'
'y': 1.2
buttons:
- count: 1
step: minute
- count: 10
step: minute
- count: 30
step: minute
- count: 1
step: hour
- count: 6
step: hour
- count: 12
step: hour
- count: 24
step: hour
- count: 1
step: day
- count: 2
step: day
- count: 7
step: day
view_layout:
position: main