+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 15
  1. #1
    Registriert seit
    Jun 2014
    Beiträge
    33

    Standard Verbrauch über einen Zeitraum die x te

    Hallo zusammen,
    ich befasse mich auch gerade mal mit dem Thema "Verbrauch über einen Zeitraum". Gibt hier ja schon einige Beiträge die in die Richtung gehen.
    Hier wird ja immer mit AC_GetAggregatedValues oder AC_GetLoggedValues gearbeit.
    Gibt es denn wirklich keine Möglichkeit zu sagen "Geb mir den Wert aus dem Archiv der Variable von Zeitpunkt x"? Warum umständlich ein Array aus Mittelwerten oder Rohdaten abfragen und dann addieren?

  2. #2
    Registriert seit
    Mar 2012
    Ort
    Magdeburg
    Beiträge
    590

    Wäre ne coole Funktion, gibts aber leider noch nicht . Oder ich kenne sie nicht .


    Gesendet von iPhone mit Tapatalk
    Grüße aus Magdeburg
    Marcel

  3. #3
    Registriert seit
    Mar 2008
    Ort
    07318 Saalfeld
    Beiträge
    1,117

    Guten Morgen,
    Woher soll die Funktion wissen wann ein Wert vorhanden ist. Kennst Du die Zeit des Wertes auf die Sekunde genau?
    Wenn Du einen Tag angibst oder eine Stunde oder eine bestimmte Minute dann sind das meistens mehrere Werte und da wiederum ist ein Array besser. Wenn es nur einer ist dann steht nur einer im Array.
    Viele Grüsse Dirk
    Homematic CCU2 (2.7.8), DMX4All, 1-Wire, Shinybow AV Matrix, PTZ Kameras, US Sensor, Variablen ca. 2988

    ** Psychologisch betrachtet ist IPS Erholung! **

  4. #4
    Registriert seit
    Jun 2014
    Beiträge
    33

    Ich kenne das halt von InfluxDB. Da funktioniert das auch. Hier gibt es auch eine Funktion DeltaSince().

  5. #5
    Registriert seit
    Mar 2017
    Ort
    Mittelfranken
    Beiträge
    97

    Wenn ich den Verbrauch über einen Zeitraum will gibt es doch ein Modul bzw.

    https://github.com/symcon/VerbrauchZeitspanne


    oder habe ich da was falsch verstanden?

  6. #6
    Registriert seit
    Jun 2014
    Beiträge
    33

    Das Modul hatte ich mir schonmal angesehen.
    Ist es möglich das Modul direkt aus einem Skript heraus aufzurufen? Wenn ja, wie würde das aussehen?

  7. #7
    Registriert seit
    Aug 2016
    Beiträge
    2,683

    Mit VIZ_Calculate(12345) würde die Berechnung angestoßen, du kannst allerdings so keine Werte verändern.
    Es werden immer die Werte genutzt, die im Modul hinterlegt sind, oder du setzt vorher mit SetValue noch das Start- und Enddatum.
    Über IPS_SetProperty ( IPS_SetProperty — IP-Symcon :: Automatisierungssoftware) könntest du noch die Source Variable setzen.

    Oder du schaust dir einfach den Code vom Modul an und schreibst die Funktion für dein Script um.

    PHP-Code:
            public function Calculate()
            {
                
    $acID IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}')[0];
                
    $variableID $this->ReadPropertyInteger('SourceVariable');
                
    $startDate GetValue($this->GetIDForIdent('StartDate'));
                
    $endDate GetValue($this->GetIDForIdent('EndDate'));
                
    $sum 0;
                
    $values AC_GetAggregatedValues($acID$variableID/* Day */$startDate$endDate + (24 3600) - 10);
                if (
    $values === false) {
                    return;
                }
                foreach (
    $values as $value) {
                    
    $sum += $value['Avg'];
                }
                
    SetValue($this->GetIDForIdent('Usage'), $sum);
            } 
    Grüße,
    Kai
    IPS 5.2, auf Tinkerboard und RPI, piVCCU, Homematic & Homematic IP, diverse Tasmota Geräte, Shelly, GHoma, LG HomBot, Sonos, Tvheadend, HomeKit, AppleTV

  8. #8
    Registriert seit
    Mar 2017
    Ort
    Mittelfranken
    Beiträge
    97

    Zitat Zitat von Sancho Beitrag anzeigen
    Das Modul hatte ich mir schonmal angesehen.
    Ist es möglich das Modul direkt aus einem Skript heraus aufzurufen? Wenn ja, wie würde das aussehen?
    Warum willst Du das über ein Script aufrufen?

    Mit dem Modul gibst Du den Zeitraum im Webfront ein und list den Wert ab fertig.

    Ich verstehe nicht genau wie Du dir das vorstellst.

  9. #9
    Registriert seit
    Jun 2014
    Beiträge
    33

    Ich möchte immer nachts um 12 eine Tagesstatistk machen und die Ergebnisse loggen. Stromverbrauch, wärmemenge der Heizung usw... Das ganze auch Wöchentlich und Monatlich
    In openHAB in Verbindung mit InfluxDb konnte ich das sinngemäß so lösen „wert = deltaSince(now-1d)“ und die abfrage war fertig.

  10. #10
    Registriert seit
    Oct 2007
    Ort
    Villach,Kärnten,Österreich
    Beiträge
    2,941

    Servus
    Ich verstehe deinen Ansatz, aber das Problem ist eben das die Datenbank ja nur geloggte Werte enthält (Mit auf die Sekunde genauen Zeitstempel) . Du ja nicht auf dei Sekunde genau weißt WANN die Daten geschrieben wurden kannst du auch nicht auf genau ein bestimmtes Daten abfragen. Du müßtest also trotzdem einen Zeitraum abfragen und dann den deinem Zielzeitpunkt am nächsten liegenden Wert raussuchen. Womit wir wieder bei einem Array wären.

    Wenn es dir aber nur um die Tages/Wochen/Monatsauswertung geht, so sieh dir das an:
    Energieberichte
    Ich denke das kann alles dafür notwendige. Noch dazu kommt es als Script da kannst noch nach belieben selbst rumbasteln.

    schöne Grüße
    Bernhard

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 25.11.18, 14:10
  2. Upstream > x % über einen gewissen Zeitraum danach Nachicht
    Von fbueller76 im Forum Skripte, PHP, SQL
    Antworten: 3
    Letzter Beitrag: 11.01.18, 13:11
  3. Antworten: 27
    Letzter Beitrag: 13.04.14, 10:56
  4. Auswahl Zeitraum für die Darstellung
    Von f0rd42 im Forum IP-Symcon WIIPS für Version 1.0
    Antworten: 2
    Letzter Beitrag: 18.08.06, 13:09