+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 11
  1. #1
    Registriert seit
    Mar 2007
    Ort
    Oberhausen-Rheinhausen
    Beiträge
    401

    Standard Suche Idee für Berechnung aus Zählervariablen

    Hi Community,

    vielleicht hat ja schon mal jemand diese Anforderung gehabt und kann mir eine gute Idee für mein Problem liefern.
    Ich habe eine Zählervariable welche in der Datenbank geloggt wird. Diese würde ich gerne in einem Chart nicht die Absolutwerte darstellen.

    Geloggt wird ein Zählerstand eines Stromzählers - wie gesagt - als absoluter Zählerstand.
    Ich würde gerne die Werte in einem Chart als kWh Verbrauch über die Zeit darstellen.
    Ein Ansatz war die die Werte als "Verbrauch" auc in die Datenbank zu loggen. Sprich ich berechne die Differenz zum letzten Wert und rechne dann den Werte über die vergangene Zeit zum letzten Wert auf eine Stunde hoch und dann wird der kWh Wert geschriben und in die Datenbank geloggt.

    Aber vielleicht gibt es da noch eine bessere Lösung.......

    Für alle Vorschläge offen.........
    Würde auch gerne diese Systematik dann in mittelfristig "Highcharts" einbauen

    Grüße KHC

    iP-Symcon 5.2 (Windows 10 x64 auf ESXi 5)
    Z-Wave | Homematic | IRTrans (Ethernet) | WebLogPro' | eHZ | Bose Lifestyle 650 | SONOS | LAN-T 846 | verschiedene IP-Cams

  2. #2
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    954

    Hast Du den Aggregationstyp einfach mal auf "Zähler" gestellt? Sollte eigentlich genau dem entsprechen, was Du möchtest.
    HM via piVCCU3

  3. #3
    Registriert seit
    Mar 2007
    Ort
    Oberhausen-Rheinhausen
    Beiträge
    401

    ja das habe ich - das Abspeichern in die Datenbank funkioniert auch weinwandfrei, aber die werte werden ja alas Zähler abgespeichert und ich will nicht den Zählerwert im Chart anzeigen sondern den Verbrauch

    z.B.:
    10:00 Wert=350kWh
    10:15 Wert=370kWh
    10:30 Wert=420kWh

    Ich will jetzt nicht die absoluten Werte (350, 370, 390) sondern die Differenz in Bezg auf den Zeitraum anzeigen.
    Das würde bedeuten dass ich
    um 10:15 370-350=20*4(weil ja nur 15min) also 80 als Wert
    um 10:30 420-370=50*2(weil 30 min) also 100 als Wert
    anzeigen will.

    Und dafür suche ich eine Idee

    iP-Symcon 5.2 (Windows 10 x64 auf ESXi 5)
    Z-Wave | Homematic | IRTrans (Ethernet) | WebLogPro' | eHZ | Bose Lifestyle 650 | SONOS | LAN-T 846 | verschiedene IP-Cams

  4. #4
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,331

    In etwa so wie unten ?
    Geändert von RWN (29.10.11 um 19:32 Uhr)
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  5. #5
    Registriert seit
    Mar 2007
    Ort
    Oberhausen-Rheinhausen
    Beiträge
    401

    Hallo Rainer,
    genau soetwas in der Art sollte das Ergebnis sein.

    KHC

    iP-Symcon 5.2 (Windows 10 x64 auf ESXi 5)
    Z-Wave | Homematic | IRTrans (Ethernet) | WebLogPro' | eHZ | Bose Lifestyle 650 | SONOS | LAN-T 846 | verschiedene IP-Cams

  6. #6
    Registriert seit
    Mar 2007
    Ort
    Oberhausen-Rheinhausen
    Beiträge
    401

    Hallo Community,

    Nochmals ein Aufruf.......

    Hat keiner einen Code-Snippet für mein Problem.


    Gruesse KHC

    Sent from my GT-P7500 using Tapatalk

    iP-Symcon 5.2 (Windows 10 x64 auf ESXi 5)
    Z-Wave | Homematic | IRTrans (Ethernet) | WebLogPro' | eHZ | Bose Lifestyle 650 | SONOS | LAN-T 846 | verschiedene IP-Cams

  7. #7
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    Hi KHC,

    vielleicht wäre

    AC_GetAggregatedValues($archiveID, $objectID, 1, $year_startdate, $year_enddate, 500);

    ein Ansatz? Hier ein Beispiel der Abfrage mit Tageswerten. AVG = Durchsnittswert für den jeweiligen Tag. Genau so kann das für Stunden, Tage, Wochen, Monate, Jahre ermittelt werden


    Code:
    Array
    (
        [0] => Array
            (
                [Avg] => 0.4
                [Duration] => 85467
                [LastTime] => 1319579999
                [Max] => 0.1
                [MaxTime] => 1319564460
                [Min] => 0
                [MinTime] => 1319493737
                [TimeStamp] => 1319493600
            )
    
        [1] => Array
            (
                [Avg] => 0.4
                [Duration] => 86400
                [LastTime] => 1317592799
                [Max] => 0.1
                [MaxTime] => 1317543456
                [Min] => 0
                [MinTime] => 1317506665
                [TimeStamp] => 1317506400
            )
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  8. #8
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,331

    Snippet schon, wird dir aber nicht viel nutzen. Hier mal wie ich das aus meiner Datenbank mache. z.B. der Tagesverbrauch.

    PHP-Code:
    $query "select to_timestamp(extract('epoch' from updatezeit)::int / 3600*3600) as epoch, max(varvalue), min(varvalue) from varID{$variablen[$i]}
                     WHERE updatezeit BETWEEN "
    ."'$endZeit'"." and "."'$startZeit'"." group by epoch ORDER BY epoch ASC";

        
    $result pg_query($query) or die ('Abfrage fehlgeschlagen: ' .pg_last_error());

        while(
    $data pg_fetch_assoc($result))
        {
            
    //print_r($data);
            
    $t[] = strtotime($data['epoch']);
            
    $stundenverbrauch[] = sprintf("%01.2f",$data['max']) - sprintf("%01.2f",$data['min']);
            
    $max[] = $data['max'];
            
    $min[] = $data['min'];
        }
        
    $kWhalt array_shift($min);
        
    $kWhneu array_pop($max);
        
    $tagesverbrauch $kWhneu $kWhalt;
        
    $myData->addPoints($stundenverbrauch$variablenName);
        
    pg_close($dbconn); 
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  9. #9
    Registriert seit
    Mar 2007
    Ort
    Oberhausen-Rheinhausen
    Beiträge
    401

    Hallo,

    vielen Dank dass sind ja ein paar brauchbare Ideen,

    Grüße KHC

    iP-Symcon 5.2 (Windows 10 x64 auf ESXi 5)
    Z-Wave | Homematic | IRTrans (Ethernet) | WebLogPro' | eHZ | Bose Lifestyle 650 | SONOS | LAN-T 846 | verschiedene IP-Cams

  10. #10
    Registriert seit
    Nov 2009
    Beiträge
    347

    Die Darstellung von Rainer gefällt mir sehr gut.

    Gibt´s dafür ein fertiges Script oder eine Anleitung wie man das realisiert???

    Danke und Gruß
    Dirk

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 01.03.11, 11:32
  2. Suche einfache Desktopumschaltung für die ganze Familie
    Von hans, im Forum Allgemeine Diskussion
    Antworten: 0
    Letzter Beitrag: 09.02.09, 17:25
  3. Rufummernaufloesung über Outlook - hat jemand ein Idee?
    Von MrMusical im Forum Skripte, PHP, SQL
    Antworten: 25
    Letzter Beitrag: 23.06.08, 20:40
  4. Suche Haustechnik Regelungsystem
    Von gb199 im Forum Haustechnik
    Antworten: 3
    Letzter Beitrag: 13.05.08, 12:15
  5. Suche Installationsschrank für den Garten
    Von jolentes im Forum Off Topic
    Antworten: 4
    Letzter Beitrag: 14.05.07, 21:14