Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

[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