Ankündigung

Einklappen
Keine Ankündigung bisher.

Solaranlage persistieren

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

    Solaranlage persistieren

    Hallo Leute,

    ich würde gerne die Werte meiner Solaranlage festhalten.

    Vorgehensweise:

    Ich rufe alle 5 Minuten die Werte meiner Solaranlage ab :

    PHP-Code:

    rule 
    "Solar"
    when
        Time cron  
    "0 0/5 * * * ?"
    then
       
    if(Status_SolarStar.state == ON)
       {
       var 
    String[] buffer
       
    var String SolaranlageMSG=sendHttpGetRequest("http://User:****@192.168.3.12/data/inverter.txt")
        
       
    buffer=SolaranlageMSG.split(" ")
       
    postUpdate (Solaranlage_Momentanbuffer.get(0))

       
    buffer=SolaranlageMSG.split("#")
       
    postUpdate (Solaranlage_Tagbuffer.get(7))
       
    postUpdate (Solaranlage_Monatbuffer.get(8))
       
    postUpdate (Solaranlage_Jahrbuffer.get(9))
       }
       else if (
    now.getHourOfDay<10)
       {
            
    postUpdate (Solaranlage_Momentan0)    
            
    postUpdate (Solaranlage_Tag0)
            
    postUpdate (Solaranlage_Monat0)
            
    postUpdate (Solaranlage_Jahr0)
       }
       else
       {
            
    postUpdate (Solaranlage_Momentan0)
       }
    end 

    Nun befindet sich in:


    Solaranlage_Momentan -> Momentanwert
    Solaranlage_Tag -> Tagesgesamtertrag bis zum jetzigen Zeitpunkt
    Solaranlage_Monat -> Monatsgesamtertrag bis zum jetzigen Zeitpunkt
    Solaranlage_Jahr -> Jahresgesamtertrag bis zum jetzigen Zeitpunkt

    Sollte die Solaranlage aus sein und es ist vor 10 Uhr, wird in überall eine 0 reingeschrieben.

    Ist die Solaranlage aus und es ist nicht vor 10 Uhr, wird nur Solaranlage_Momentan auf 0 gesetzt.


    Nun zu meiner Frage:

    Wie kann ich jeweils nur den maximal Wert für den Tag persistieren ohne eine zweite Variable anzulegen ?

    Ich würde gerne später sehen können:

    Was kam an welchem Tag runter?
    Was kam an welchem Monat runter?
    Was kam an welchem Jahr runter?

    Jedes Mal nur die Maximalwerte.

    Ich kann die Daten der letzten Jahre als Tages-,Monats- oder Jahresansicht exportieren.

    Beispiel:
    PHP-Code:
    27.12.2013    11.5    07:34:57    07:08:32 
    Kann ich diese Daten in die persistierte Datei nachträglich eintragen?

    Würdet ihr die Regel anders aufsetzen oder auch so in der Richtung realisieren ?

    #2
    Ich hab nun etwas weiter getüftelt, leider hab ich den Werte als String persistiert und nun habe ich sie als Number definiert.

    Wenn ich nun in CometVisu die Werte als Diagram darstellen möchte bekomme ich folgende Fehlermeldung:

    PHP-Code:
    14:35:19.186 ERROR c.s.j.s.c.ContainerResponse[:402] - The RuntimeException could not be mapped to a responsere-throwing to the HTTP container
    java
    .lang.IllegalStateExceptionRRD file does not contain RRAAVERAGE archive
            at org
    .rrd4j.core.RrdDb.findMatchingArchive(Unknown Source)
    14:35:19.246 ERROR o.a.h.ReflectorServletProcessor[:206] - onRequest()
    java.lang.IllegalStateExceptionRRD file does not contain RRAAVERAGE archive
            at org
    .rrd4j.core.RrdDb.findMatchingArchive(Unknown Source)
    14:35:19.458 WARN  o.e.j.servlet.ServletHandler[:553] - /services/cv/rrdfetch
    java
    .lang.RuntimeExceptionjava.lang.IllegalStateExceptionRRD file does not contain RRAAVERAGE archive
            at org
    .atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:207)
    Caused byjava.lang.IllegalStateExceptionRRD file does not contain RRAAVERAGE archive
            at org
    .rrd4j.core.RrdDb.findMatchingArchive(Unknown Source
    kann mir jemand helfen ?

    Kommentar

    Lädt...
    X