Ik gebruik al sinds 5 weken een eigen tooltje om leuk grafieken te maken van mijn temperatuursensoren. Dit werkte allemaal perfect, totdat de wintertijd inging, met als gevolg:


De grafiek zelf loopt netjes op tijd, alleen mijn meetwaarden lopen nu een uur achter. Uiteindelijk zie je dus in de uur-grafiek niks meer. Dus wat je bijvoorbeeld ziet bij 20:00(op de grafiek) zijn de meetwaarden van 21:00(in het echte leven, wintertijd)
Ik ben erachter dat alle berekeningen via UTC tijd lopen en dat dat ook het probleem is. Ik gebruik de volgende code om de graphs te genereren:
In die laatste regel bepaal ik dat het programma, de huidige tijd - 6 uur, moet laten zien en hiervan een graph maakt.
Mijn vraag is, hoe pas ik dit aan zodat het voor de wintertijd ook goed loopt?


De grafiek zelf loopt netjes op tijd, alleen mijn meetwaarden lopen nu een uur achter. Uiteindelijk zie je dus in de uur-grafiek niks meer. Dus wat je bijvoorbeeld ziet bij 20:00(op de grafiek) zijn de meetwaarden van 21:00(in het echte leven, wintertijd)
Ik ben erachter dat alle berekeningen via UTC tijd lopen en dat dat ook het probleem is. Ik gebruik de volgende code om de graphs te genereren:
code:
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
| C:\Tools\Performance\wshRRD\bin\rrdtool.exe graph C:\wamp\www\temps\6Hour_AllTemps.png -t "Temperature (All Sensors) Last 6 Hours" -v "Temperature (C)" DEF:temp_1=Temps_6EE55.rrd:Temps_6EE55:AVERAGE DEF:temp_2=Temps_C0646.rrd:Temps_C0646:AVERAGE DEF:temp_3=Temps_94128.rrd:Temps_94128:AVERAGE DEF:temp_4=Temps_FA335.rrd:Temps_FA335:AVERAGE LINE1:temp_1#FF0000:"Sensor 1(Server room)" VDEF:temp_1_max=temp_1,MAXIMUM VDEF:temp_1_min=temp_1,MINIMUM VDEF:temp_1_avg=temp_1,AVERAGE COMMENT:\n GPRINT:temp_1_max:"Maximum\: %%2.2lfC" GPRINT:temp_1_min:"Minimum\: %%2.2lfC" GPRINT:temp_1_avg:"Average\: %%2.2lfC" COMMENT:\n LINE1:temp_2#00FF00:"Sensor 2(Outside northern side)" COMMENT:\n VDEF:temp_2_max=temp_2,MAXIMUM VDEF:temp_2_min=temp_2,MINIMUM VDEF:temp_2_avg=temp_2,AVERAGE GPRINT:temp_2_max:"Maximum\: %%2.2lfC" GPRINT:temp_2_min:"Minimum\: %%2.2lfC" GPRINT:temp_2_avg:"Average\: %%2.2lfC" COMMENT:\n LINE1:temp_3#FF9900:"Sensor 3(Bedroom)" COMMENT:\n VDEF:temp_3_max=temp_3,MAXIMUM VDEF:temp_3_min=temp_3,MINIMUM VDEF:temp_3_avg=temp_3,AVERAGE GPRINT:temp_3_max:"Maximum\: %%2.2lfC" GPRINT:temp_3_min:"Minimum\: %%2.2lfC" GPRINT:temp_3_avg:"Average\: %%2.2lfC" COMMENT:\n LINE1:temp_4#0000FF:"Sensor 4(Outside southern side)" COMMENT:\n VDEF:temp_4_max=temp_4,MAXIMUM VDEF:temp_4_min=temp_4,MINIMUM VDEF:temp_4_avg=temp_4,AVERAGE GPRINT:temp_4_max:"Maximum\: %%2.2lfC" GPRINT:temp_4_min:"Minimum\: %%2.2lfC" GPRINT:temp_4_avg:"Average\: %%2.2lfC" -E -e now -s e-6h -h 200 |
In die laatste regel bepaal ik dat het programma, de huidige tijd - 6 uur, moet laten zien en hiervan een graph maakt.
Mijn vraag is, hoe pas ik dit aan zodat het voor de wintertijd ook goed loopt?
If it aint broke, fix it till it is!