Ankündigung

Einklappen
Keine Ankündigung bisher.

[Codebeispiel] verschiedene Charts auswählen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Codebeispiel] verschiedene Charts auswählen

    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
    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>
    und persistiere die Werte mit rrd4j
    Code:
    Weather_Chart* : strategy = everyMinute
    rules
    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
    sitemap
    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]
            }
    period.map
    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
    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.
    Angehängte Dateien
    Zuletzt geändert von udo1toni; 03.11.2015, 00:07.
Lädt...
X