]> git.itanic.dy.fi Git - rrdd/blob - power_database.h
Merge branch 'master' into itanic
[rrdd] / power_database.h
1 #define POWER_PATH              "/home/kaapeli/rrdd/power/"
2 #define POWER_RRD_PATH          POWER_PATH "power.rrd"
3 #define POWER_IMAGES_PATH       POWER_PATH "images/"
4
5 const char *powertext[] = {
6         "DEF:vesiv=" POWER_RRD_PATH ":vesivoima:AVERAGE",
7         "DEF:ydinv=" POWER_RRD_PATH ":ydinvoima:AVERAGE",
8         "DEF:lauhd=" POWER_RRD_PATH ":lauhdevoima:AVERAGE",
9         "DEF:kauko=" POWER_RRD_PATH ":kaukolampo:AVERAGE",
10         "DEF:teoll=" POWER_RRD_PATH ":teollisuus:AVERAGE",
11         "DEF:muutu=" POWER_RRD_PATH ":muu:AVERAGE",
12         "DEF:huipp=" POWER_RRD_PATH ":huippuvoima:AVERAGE",
13         "DEF:tuont=" POWER_RRD_PATH ":tuonti:AVERAGE",
14         "COMMENT:\\n",
15         blank,
16         "COMMENT:                   "
17         "MIN          MAX         AVG        Last\\n",
18         blank,
19         "AREA:ydinv#ffff00:Ydinvoima   ",
20         "GPRINT:ydinv:MIN:" numfmt,
21         "GPRINT:ydinv:MAX:" numfmt,
22         "GPRINT:ydinv:AVERAGE:" numfmt,
23         "GPRINT:ydinv:LAST:" numfmt "\\n",
24         "COMMENT:\\n",
25         blank,
26         "STACK:teoll#ff00ff:Teollisuus  ",
27         "GPRINT:teoll:MIN:" numfmt,
28         "GPRINT:teoll:MAX:" numfmt,
29         "GPRINT:teoll:AVERAGE:" numfmt,
30         "GPRINT:teoll:LAST:" numfmt "\\n",
31         "COMMENT:\\n",
32         blank,
33         "STACK:kauko#00ff00:Kaukolämpö  ",
34         "GPRINT:kauko:MIN:" numfmt,
35         "GPRINT:kauko:MAX:" numfmt,
36         "GPRINT:kauko:AVERAGE:" numfmt,
37         "GPRINT:kauko:LAST:" numfmt "\\n",
38         "COMMENT:\\n",
39         blank,
40         "STACK:muutu#808080:Muu         ",
41         "GPRINT:muutu:MIN:" numfmt,
42         "GPRINT:muutu:MAX:" numfmt,
43         "GPRINT:muutu:AVERAGE:" numfmt,
44         "GPRINT:muutu:LAST:" numfmt "\\n",
45         "COMMENT:\\n",
46         blank,
47         "STACK:lauhd#ff0000:Lauhdevoima ",
48         "GPRINT:lauhd:MIN:" numfmt,
49         "GPRINT:lauhd:MAX:" numfmt,
50         "GPRINT:lauhd:AVERAGE:" numfmt,
51         "GPRINT:lauhd:LAST:" numfmt "\\n",
52         "COMMENT:\\n",
53         blank,
54         "STACK:vesiv#0000ff:Vesivoima   ",
55         "GPRINT:vesiv:MIN:" numfmt,
56         "GPRINT:vesiv:MAX:" numfmt,
57         "GPRINT:vesiv:AVERAGE:" numfmt,
58         "GPRINT:vesiv:LAST:" numfmt "\\n",
59         "COMMENT:\\n",
60         blank,
61         "STACK:tuont#000000:Tuonti      ",
62         "GPRINT:tuont:MIN:" numfmt,
63         "GPRINT:tuont:MAX:" numfmt,
64         "GPRINT:tuont:AVERAGE:" numfmt,
65         "GPRINT:tuont:LAST:" numfmt "\\n",
66         "COMMENT:\\n",
67         blank,
68         "STACK:huipp#ff0000:Huippuvoima ",
69         "GPRINT:huipp:MIN:" numfmt,
70         "GPRINT:huipp:MAX:" numfmt,
71         "GPRINT:huipp:AVERAGE:" numfmt,
72         "GPRINT:huipp:LAST:" numfmt "\\n",
73         "COMMENT:\\n",
74         0
75 };
76
77 const char *freqtext[] = {
78         "DEF:freq=" POWER_RRD_PATH ":taajuus:AVERAGE",
79         "COMMENT:\\n",
80         blank,
81         "COMMENT:                   "
82         "MIN          MAX         AVG        Last\\n",
83         blank,
84         "LINE1:freq#0000ff:Taajuus      ",
85         "GPRINT:freq:MIN:" numfmt,
86         "GPRINT:freq:MAX:" numfmt,
87         "GPRINT:freq:AVERAGE:" numfmt,
88         "GPRINT:freq:LAST:" numfmt "\\n",
89         "COMMENT: \\n",
90 };
91
92 const char *deviationtext[] = {
93         "DEF:devi=" POWER_RRD_PATH ":aikapoikkeama:AVERAGE",
94         "COMMENT:\\n",
95         blank,
96         "COMMENT:                   "
97         "MIN          MAX         AVG        Last\\n",
98         blank,
99         "LINE1:devi#0000ff:Aikapoikkeama ",
100         "GPRINT:devi:MIN:" numfmt,
101         "GPRINT:devi:MAX:" numfmt,
102         "GPRINT:devi:AVERAGE:" numfmt,
103         "GPRINT:devi:LAST:" numfmt "\\n",
104         "COMMENT: \\n",
105 };
106
107 const char *pricetext[] = {
108         "DEF:hinta=" POWER_RRD_PATH ":hinta:AVERAGE",
109         "COMMENT:\\n",
110         blank,
111         "COMMENT:                   "
112         "MIN          MAX         AVG        Last\\n",
113         blank,
114         "LINE1:hinta#0000ff:Hinta         ",
115         "GPRINT:hinta:MIN:" numfmt,
116         "GPRINT:hinta:MAX:" numfmt,
117         "GPRINT:hinta:AVERAGE:" numfmt,
118         "GPRINT:hinta:LAST:" numfmt "\\n",
119         "COMMENT: \\n",
120 };
121
122 const char *consumptiontext[] = {
123         "DEF:kulut=" POWER_RRD_PATH ":kulutus:AVERAGE",
124         "DEF:tuota=" POWER_RRD_PATH ":tuotanto:AVERAGE",
125         "COMMENT:\\n",
126         blank,
127         "COMMENT:                   "
128         "MIN          MAX         AVG        Last\\n",
129         blank,
130         "LINE1:kulut#0000ff:Kulutus       ",
131         "GPRINT:kulut:MIN:" numfmt,
132         "GPRINT:kulut:MAX:" numfmt,
133         "GPRINT:kulut:AVERAGE:" numfmt,
134         "GPRINT:kulut:LAST:" numfmt "\\n",
135         blank,
136         "LINE1:tuota#00ff00:Tuotanto      ",
137         "GPRINT:tuota:MIN:" numfmt,
138         "GPRINT:tuota:MAX:" numfmt,
139         "GPRINT:tuota:AVERAGE:" numfmt,
140         "GPRINT:tuota:LAST:" numfmt "\\n",
141         "COMMENT: \\n",
142 };
143
144 const char *importtext[] = {
145         "DEF:tuont=" POWER_RRD_PATH ":tuonti:AVERAGE",
146         "COMMENT:\\n",
147         blank,
148         "COMMENT:                   "
149         "MIN          MAX         AVG        Last\\n",
150         blank,
151         "LINE1:tuont#ff0000:Tuonti        ",
152         "GPRINT:tuont:MIN:" numfmt,
153         "GPRINT:tuont:MAX:" numfmt,
154         "GPRINT:tuont:AVERAGE:" numfmt,
155         "GPRINT:tuont:LAST:" numfmt "\\n",
156         "COMMENT: \\n",
157 };
158
159 const char *freqoptions[] = {
160         "--alt-autoscale",
161         "--vertical-label", "Taajuus Hz",
162         "--units-exponent", "-3",
163         0
164 };
165
166 const char *deviationoptions[] = {
167         "--alt-autoscale",
168         "--vertical-label", "Aikapoikkeama s",
169         0
170 };
171
172 const char *priceoptions[] = {
173         "--alt-autoscale",
174         "--vertical-label", "Hinta €/MWh",
175         0
176 };
177
178 const char *consumptionoptions[] = {
179         "--alt-autoscale",
180         "--vertical-label", "Teho MW",
181         "--units-exponent", "0",
182         0
183 };
184
185 const char *importoptions[] = {
186         "--alt-autoscale",
187         "--vertical-label", "Teho MW",
188         "--units-exponent", "0",
189         0
190 };
191
192 const char *poweroptions[] = {
193         "--alt-autoscale-max",
194         "--lower-limit", "0",
195         "--vertical-label",
196         "Teho (MW)",
197         "--units-exponent", "0",
198         0
199 };
200
201 DEFINE_IMAGE(power,     "/home/kaapeli/rrdd/power/images/power", 960, 480, 2);
202 DEFINE_IMAGE(freq,      "/home/kaapeli/rrdd/power/images/freq", 960, 240, 2);
203 DEFINE_IMAGE(deviation, "/home/kaapeli/rrdd/power/images/deviation",
204         960, 240, 2);
205 DEFINE_IMAGE(price,     "/home/kaapeli/rrdd/power/images/price", 960, 240, 2);
206 DEFINE_IMAGE(consumption,"/home/kaapeli/rrdd/power/images/consumption",
207         960, 240, 2);
208 DEFINE_IMAGE(import,    "/home/kaapeli/rrdd/power/images/import", 960, 240, 2);
209
210 static struct rrd_image *power_images[] = {
211         &powerdaily,
212         &powerweekly,
213         &powermonthly,
214         &poweryearly,
215         &freqdaily,
216         &freqweekly,
217         &freqmonthly,
218         &freqyearly,
219         &deviationdaily,
220         &deviationweekly,
221         &deviationmonthly,
222         &deviationyearly,
223         &pricedaily,
224         &priceweekly,
225         &pricemonthly,
226         &priceyearly,
227         &consumptiondaily,
228         &consumptionweekly,
229         &consumptionmonthly,
230         &consumptionyearly,
231         &importdaily,
232         &importweekly,
233         &importmonthly,
234         &importyearly,
235         0
236 };
237
238 struct rrd_data_source power_sources[] = {
239         SOURCE_ENTRY("kulutus", "GAUGE", 360, 0, 20000)
240         SOURCE_ENTRY("tuotanto", "GAUGE", 360, 0, 20000)
241         SOURCE_ENTRY("vesivoima", "GAUGE", 360, 0, 3000)
242         SOURCE_ENTRY("ydinvoima", "GAUGE", 360, 0, 3000)
243         SOURCE_ENTRY("lauhdevoima", "GAUGE", 360, 0, 3000)
244         SOURCE_ENTRY("kaukolampo", "GAUGE", 360, 0, 3000)
245         SOURCE_ENTRY("teollisuus", "GAUGE", 360, 0, 3000)
246         SOURCE_ENTRY("muu", "GAUGE", 360, 0, 3000)
247         SOURCE_ENTRY("huippuvoima", "GAUGE", 360, 0, 3000)
248         SOURCE_ENTRY("tuonti", "GAUGE", 360, -3000, 3000)
249         SOURCE_ENTRY("hinta", "GAUGE", 360, 0, 3000)
250         SOURCE_ENTRY("ylijaama", "GAUGE", 360, -3000, 3000)
251         SOURCE_ENTRY("ylijaamakumul", "GAUGE", 360, -3000, 3000)
252         SOURCE_ENTRY("taajuus", "GAUGE", 360, 0, 3000)
253         SOURCE_ENTRY("aikapoikkeama", "GAUGE", 360, -30, 30)
254         {},
255 };
256
257 struct rrd_archive power_archives[] = {
258         ARCHIVE_ENTRY("AVERAGE", 0.5, 1, 960)
259         ARCHIVE_ENTRY("AVERAGE", 0.5, 7, 960)
260         ARCHIVE_ENTRY("AVERAGE", 0.5, 31, 960)
261         ARCHIVE_ENTRY("AVERAGE", 0.5, 365, 960)
262         ARCHIVE_ENTRY("MIN", 0.5, 1, 960)
263         ARCHIVE_ENTRY("MIN", 0.5, 7, 960)
264         ARCHIVE_ENTRY("MIN", 0.5, 31, 960)
265         ARCHIVE_ENTRY("MIN", 0.5, 365, 960)
266         ARCHIVE_ENTRY("MAX", 0.5, 1, 960)
267         ARCHIVE_ENTRY("MAX", 0.5, 7, 960)
268         ARCHIVE_ENTRY("MAX", 0.5, 31, 960)
269         ARCHIVE_ENTRY("MAX", 0.5, 365, 960)
270         {},
271 };
272
273 char *power_parse_cmdline[] = {
274         "./parse_power.sh",
275         "",
276         NULL,
277 };
278
279 static struct rrd_database power_rrd = {
280         .name           = "power",
281         .filename       = POWER_RRD_PATH,
282         .interval       = 180,
283         .sources        = power_sources,
284         .archives       = power_archives,
285         .parse          = script_parser,
286         .parser_data    = power_parse_cmdline,
287         .images         = power_images,
288 };