Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu Persistence: Min/Max

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

    Frage zu Persistence: Min/Max

    Hallo zusammen,

    der Persistence-Service bietet ja Funktionen um das Minimum oder Maxiumum eines Wertes innerhalb eines beliebigen Zeitraumes zu ermitteln. Ist es denn auch möglich herauszubekommen zu welcher genauer Zeit die Werte aufgetreten sind?

    Also in der Art: Am heißesten war es gestern um 14:36?

    Vielen Dank schon mal!

    Viele Grüße,
    Jockel

    #2
    Wie wäre es mit
    Code:
    <Item>.maximumSince(now.minusDays(1)).timestamp
    Das gibt Dir ein java.util.Date zurück. Das darfst Du nun formatieren wie Du willst und kannst es dann als Wert in ein String Item packen, um es anzuzeigen.

    Kommentar


      #3
      Super, danke, genau das hab ich gesucht! Werde ich nachher testen. Gehört wohl in die Kategorie: Hätte man auch selbst drauf kommen können...

      Kommentar


        #4
        Zitat von Jockel Beitrag anzeigen
        Super, danke, genau das hab ich gesucht! Werde ich nachher testen. Gehört wohl in die Kategorie: Hätte man auch selbst drauf kommen können...
        Hallo,
        hat das funktioniert? Ich habe da Probleme mit den Datentypen.
        Wie muss ich das verwenden?

        Kommentar


          #5
          Ja, das funktioniert prima.

          Ich hab folgende Items definiert:
          Code:
          String Temperatur_Garten_Min_Formatted "- Min. Temp [%s]" <temperature>
          String Temperatur_Garten_Max_Formatted "- Max. Temp [%s]" <temperature>
          Leider funktioniert ein Einrücken mit Spaces am Anfang des Strings nicht, daher das Minuszeichen. Vielleicht kennt ja jemand eine andere Lösung?

          Und dann folgende Regel:

          Code:
          rule "Updat Temperature Min- and Max values"
          when
          	Item Temperatur_Garten received update
          then
          	var Number Min = -99
          	var Number Max = -99
          	var String tmp
          	var SimpleDateFormat df = new SimpleDateFormat( "HH:mm" ) 
           	
           	if (Temperatur_Garten.state instanceof DecimalType) {
          		Min = (Temperatur_Garten.minimumSince(now.toDateMidnight, "rrd4j").state as DecimalType)
          		tmp = (Math::round(Min.floatValue*10.0)/10.0) + " °C (" + df.format(Temperatur_Garten.minimumSince(now.toDateMidnight, "rrd4j").timestamp) + " Uhr)"
          		postUpdate(Temperatur_Garten_Min_Formatted, tmp)
          		
          		Max = Temperatur_Garten.maximumSince(now.toDateMidnight, "rrd4j").state as DecimalType
          		df = new SimpleDateFormat( "HH:mm" ) 
          		tmp = (Math::round(Max.floatValue*10.0)/10.0) + " °C (" + df.format(Temperatur_Garten.maximumSince(now.toDateMidnight, "rrd4j").timestamp) + " Uhr)"
          		postUpdate(Temperatur_Garten_Max_Formatted, tmp)
          	}
          
          end
          Die Zeitangabe in den beiden Aufrufen für Min & Max (now.toDateMidnight) musst Du dann für den Zeitraum anpassen den Du betrachten willst, z.B. alternativ die letzten 24h.

          Kommentar


            #6
            Zitat von Jockel Beitrag anzeigen
            Die Zeitangabe in den beiden Aufrufen für Min & Max (now.toDateMidnight) musst Du dann für den Zeitraum anpassen den Du betrachten willst, z.B. alternativ die letzten 24h.
            Vielen Dank, da wäre ich jetzt so nie drauf gekommen, genau so hätte ich es auch gerne.

            Kommentar


              #7
              Zitat von Jockel Beitrag anzeigen
              Max = Temperatur_Garten.maximumSince(now.toDateMidnight, "rrd4j").state as DecimalType
              df = new SimpleDateFormat( "HH:mm" )
              tmp = (Math::round(Max.floatValue*10.0)/10.0) + " °C (" + df.format(Temperatur_Garten.maximumSince(now.toDat eMidnight, "rrd4j").timestamp) + " Uhr)"
              postUpdate(Temperatur_Garten_Max_Formatted, tmp)
              }
              end
              [/CODE]
              Sorry, nocheinmal, welche includes gehören dazu, damit das funktioniert?

              Kommentar


                #8
                Ich hab folgende in der Regeldatei, was nicht heißt, das sie alle auch notwendig sind:

                Code:
                import org.openhab.core.library.types.*
                import org.openhab.model.script.actions.*
                import java.lang.Math
                import java.util.Calendar
                import java.util.Date
                import java.util.TimeZone
                import java.text.SimpleDateFormat

                Kommentar


                  #9
                  cooles Beispiel!

                  Jockel, wärst Du so nett es im Samples-Wiki unterzubringen?

                  Danke und Gruß,

                  Thomas E.-E.
                  Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                  Kommentar


                    #10
                    Ja, mache ich gerne. Allerdings finde ich dort keine Möglichkeit zum Editieren. Muss ich dazu ev. noch freigeschaltet werden? (Bei google bin ich natürlich angemeldet.)

                    Kommentar


                      #11
                      Zitat von Jockel Beitrag anzeigen
                      Ja, mache ich gerne. Allerdings finde ich dort keine Möglichkeit zum Editieren. Muss ich dazu ev. noch freigeschaltet werden? (Bei google bin ich natürlich angemeldet.)
                      versuch es bitte nochmal ...
                      Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                      Kommentar


                        #12
                        Danke, jetzt hat es geklappt! Das Beispiel ist eingetragen.

                        Kommentar


                          #13
                          Zitat von Jockel Beitrag anzeigen
                          Das Beispiel ist eingetragen.
                          danke Dir!

                          Gruß,

                          Thomas E.-E.
                          Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                          Kommentar

                          Lädt...
                          X