Um mal ein simples Beispiel zu zeigen, wie mit Bordmitteln die gesammelten Daten einigermaßen ansprechend dargestellt werden können: Ich sammle mit Standarditems die aktuelle Temperatur und berechne zusätzlich die maximale und die minimale Temperatur des aktuellen Tages (so wie in der Demo)
items
und persistiere die Werte mit rrd4j
rules
sitemap
period.map
Ergebnis: temp0.JPG temp1.JPG temp2.JPG temp3.JPG
Ich nutze die Auswahl an mehreren Stellen, immer mit dem selben Item Chart_Period für die Steuerung der visibility, dadurch muss ich nur den Itemnamen austauschen, der Rest der Definition bleibt dann gleich.
items
Code:
Number Chart_Period "Zeitraum [MAP(period.map):%s]" Number Current_Temp "WUnderground Außentemp. [%.1f °C]" <temperature> (Weather_Chart) { weather="locationId=home, type=temperature, property=current, scale=1" } Number Weather_Temp_Max "Maximum heute [%.1f °C]" <temperature> (Weather_Chart) Number Weather_Temp_Min "Minimum heute [%.1f °C]" <temperature> (Weather_Chart) String WeatherMinMax "Min-Akt-Max: [%s]" <temperature>
Code:
Weather_Chart* : strategy = everyMinute
Code:
rule "Update max and min temperatures" when Item Current_Temp changed or Time cron "0 0 0 * * ?" then Weather_Temp_Max.postUpdate(Current_Temp.maximumSince(now.withTimeAtStartOfDay).state) Weather_Temp_Min.postUpdate(Current_Temp.minimumSince(now.withTimeAtStartOfDay).state) WeatherMinMax.postUpdate(Weather_Temp_Min.state.format("%.1f")+" °C / "+Current_Temp.state.format("%.1f")+" °C / "+Weather_Temp_Max.state.format("%.1f")+" °C") end
Code:
Text item=WeatherMinMax { Setpoint item=Chart_Period step=1 minValue=1 maxValue=12 Chart item=Weather_Chart period=h refresh=10000 visibility=[Chart_Period==1] Chart item=Weather_Chart period=4h refresh=10000 visibility=[Chart_Period==2] Chart item=Weather_Chart period=8h refresh=10000 visibility=[Chart_Period==3] Chart item=Weather_Chart period=12h refresh=10000 visibility=[Chart_Period==4] Chart item=Weather_Chart period=D refresh=10000 visibility=[Chart_Period==5] Chart item=Weather_Chart period=3D refresh=10000 visibility=[Chart_Period==6] Chart item=Weather_Chart period=W refresh=10000 visibility=[Chart_Period==7] Chart item=Weather_Chart period=2W refresh=10000 visibility=[Chart_Period==8] Chart item=Weather_Chart period=M refresh=10000 visibility=[Chart_Period==9] Chart item=Weather_Chart period=2M refresh=10000 visibility=[Chart_Period==10] Chart item=Weather_Chart period=4M refresh=10000 visibility=[Chart_Period==11] Chart item=Weather_Chart period=Y refresh=10000 visibility=[Chart_Period==12] }
Code:
1=1 Stunde 2=4 Stunden 3=8 Stunden 4=12 Stunden 5=24 Stunden 6=3 Tage 7=7 Tage 8=2 Wochen 9=1 Monat 10=2 Monate 11=4 Monate 12=1 Jahr
Ich nutze die Auswahl an mehreren Stellen, immer mit dem selben Item Chart_Period für die Steuerung der visibility, dadurch muss ich nur den Itemnamen austauschen, der Rest der Definition bleibt dann gleich.