forked from springfall2008/predheat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample_charts.yml
219 lines (214 loc) · 5.34 KB
/
example_charts.yml
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
# Example charts - create one new chart per entry in here - cut and paste to ApexCharts card
### Example temperature chart
type: custom:apexcharts-card
header:
show: true
title: Temperature
show_states: true
colorize_states: true
graph_span: 48h
span:
start: day
offset: +0h
now:
show: true
yaxis:
- min: 0
series:
- entity: predheat.heat_energy
stroke_width: 1
curve: smooth
name: Energy actual
extend_to: now
color: red
- entity: sensor.living_room_target
stroke_width: 1
curve: smooth
name: Target temperature
extend_to: now
- entity: predheat.internal_temp
stroke_width: 1
curve: smooth
name: Internal Temp Actual
extend_to: now
- entity: predheat.external_temp
stroke_width: 1
curve: smooth
name: External Temp Actual
extend_to: now
- entity: predheat.volume_temp
stroke_width: 1
curve: smooth
name: Volume temp history
extend_to: now
- entity: predheat.internal_temp
stroke_width: 3
curve: smooth
name: Internal Temp Predicted
show:
in_header: raw
data_generator: >
let res = []; for (const [key, value] of
Object.entries(entity.attributes.results)) { res.push([new
Date(key).getTime(), value]); } return res.sort((a, b) => { return a[0] -
b[0] })
- entity: predheat.external_temp
stroke_width: 1
curve: smooth
name: External Temp Predicted
show:
in_header: raw
data_generator: >
let res = []; for (const [key, value] of
Object.entries(entity.attributes.results)) { res.push([new
Date(key).getTime(), value]); } return res.sort((a, b) => { return a[0] -
b[0] })
- entity: predheat.target_temp
stroke_width: 1
curve: smooth
name: Target Temp Predicted
show:
in_header: raw
data_generator: >
let res = []; for (const [key, value] of
Object.entries(entity.attributes.results)) { res.push([new
Date(key).getTime(), value]); } return res.sort((a, b) => { return a[0] -
b[0] })
- entity: predheat.heat_to_temp
stroke_width: 3
curve: stepline
type: area
opacity: 0.1
name: Heat to temperature
show:
in_header: raw
data_generator: >
let res = []; for (const [key, value] of
Object.entries(entity.attributes.results)) { res.push([new
Date(key).getTime(), value]); } return res.sort((a, b) => { return a[0] -
b[0] })
- entity: predheat.heat_energy
stroke_width: 1
curve: smooth
name: Energy
color: red
show:
in_header: raw
data_generator: >
let res = []; for (const [key, value] of
Object.entries(entity.attributes.results)) { res.push([new
Date(key).getTime(), value]); } return res.sort((a, b) => { return a[0] -
b[0] })
- entity: predheat.volume_temp
stroke_width: 1
curve: smooth
name: Volume temp
show:
in_header: raw
data_generator: >
let res = []; for (const [key, value] of
Object.entries(entity.attributes.results)) { res.push([new
Date(key).getTime(), value]); } return res.sort((a, b) => { return a[0] -
b[0] })
### Example cost chart
type: custom:apexcharts-card
header:
show: true
title: Heating cost
show_states: true
colorize_states: true
graph_span: 72h
span:
start: day
offset: +0h
now:
show: true
series:
- entity: predheat.cost
stroke_width: 1
curve: smooth
name: predicted
data_generator: >
let res = []; for (const [key, value] of
Object.entries(entity.attributes.results)) { res.push([new
Date(key).getTime(), value]); } return res.sort((a, b) => { return a[0] -
b[0] })
show:
in_header: raw
- entity: predheat.cost_today
stroke_width: 1
curve: smooth
name: actual
extend_to: now
data_generator: >
let res = []; for (const [key, value] of
Object.entries(entity.attributes.results)) { res.push([new
Date(key).getTime(), value]); } return res.sort((a, b) => { return a[0] -
b[0] })
show:
in_header: raw
### Example calibration chart
type: custom:apexcharts-card
header:
show: true
title: Heat Calibration
show_states: true
colorize_states: true
graph_span: 48h
span:
start: hour
offset: '-24h'
now:
show: true
yaxis:
- min: 0
max: 40
series:
- entity: predheat.internal_temp_h1
stroke_width: 1
curve: stepline
name: h1
offset: '-1h'
- entity: predheat.internal_temp_h2
stroke_width: 1
curve: stepline
name: h2
offset: '-1h'
- entity: predheat.heat_energy
stroke_width: 1
curve: stepline
name: energy
- entity: predheat.volume_temp
stroke_width: 1
curve: stepline
name: volume temp
- entity: predheat.heat_energy_h1
stroke_width: 1
curve: stepline
name: energy_h1
offset: '-1h'
- entity: predheat.heat_energy_h8
stroke_width: 1
curve: stepline
name: energy_h8
offset: '-8h'
- entity: predheat.internal_temp_h8
stroke_width: 1
curve: stepline
name: h8
offset: '-8h'
- entity: sensor.living_room_target
stroke_width: 1
curve: stepline
name: Target temperature
extend_to: now
- entity: predheat.internal_temp
stroke_width: 1
curve: stepline
name: Internal Temp Actual
extend_to: now
- entity: predheat.external_temp
stroke_width: 1
curve: stepline
name: External Temp Actual
extend_to: now