+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Registriert seit
    Apr 2019
    Ort
    Etelsen bei Bremen
    Beiträge
    909

    Standard AC_GetAggregatedValues über Jahresgrenze Problem?

    Hi,
    ich berechne für diverse Zimmer den Verbrauch der letzten 12 Monate. Das habe ich gemacht mit

    Code:
    $summeID = 18122 /* ID Verbrauch */;
    $ErgebnisID = 58938; /*ID Variable für 12 Monatsverbrauch */
    $werte = AC_GetAggregatedValues(32968, $summeID, 4 , time() - 365*86400, time(), 1); 
    SetValue($ErgebnisID, $werte[0]['Avg']);
    echo $werte[0]['Avg'].PHP_EOL;
    jetzt habe ich festgestellt das alle meine 12 Monatsverbräuche viel zu gering sind. Wenn ich die einfachere Methode

    Code:
    $werte1 = AC_GetLoggedValues(32968, $summeID, time() - 365*86400, time() - 364*86400, 1); 
    $werte2 = AC_GetLoggedValues(32968, $summeID, 0, 0, 1);
    echo $werte2[0]['Value']-$werte1[0]['Value'].PHP_EOL;
    benutze bekomme ich wieder die erwarteten Werte. Für Keller z.B. alt 10kWh und neu 266 kWh. Da die neue Variante wohl auch Rechenzeit spart werde ich wohl dabei bleiben aber mich würde schon interessieren wo ich mit AC_GetAggregatedValues im ersten Fall einen Fehler gemacht haben könnte. Wie gesagt das letzte Mal als ich nachgeschaut hatte waren die Werte noch glaubhaft.

    Ralf
    IPS 5.5 Unlimited / Docker / Synology DS415+

  2. #2
    Registriert seit
    Feb 2017
    Beiträge
    2,227

    In deinem ersten Skript fragst du nur den Verbrauch des aktuellen Jahres an. Da dies ja noch recht jung ist, wird das im Vergleich recht kleine Zahlen ausgeben.

    Ich würde dir sonst mal das Modul "Verbrauch in Zeitspanne" nahelegen. Das findest du im Module Store. Vielleicht kannst du dann auf eigene Skripte verzichten.

  3. #3
    Registriert seit
    Apr 2019
    Ort
    Etelsen bei Bremen
    Beiträge
    909

    Hi,
    die 4 war also der Fehler oder? Die Summe der letzten 12 Monate kann man so dann wohl nicht bestimmen oder?

    Ralf
    IPS 5.5 Unlimited / Docker / Synology DS415+

  4. #4
    Registriert seit
    Feb 2017
    Beiträge
    2,227

    Du kannst schon über die letzten 12 Monate gehen. Dann müsstest du als Aggregationstyp 3 (für monatlich) angeben. Wobei der "Fehler" dadurch nur gemildert wird, da du den aktuellen Monat ja noch drin hast und der ja noch nicht vollständig ist. Sprich im Laufe des Januars wird die Zahl einfach nur ansteigen und zum 1. Februar dann runtergehen, weil der Februar 2020 wegfällt. Wenn du die 12 Monate "fließend" haben möchtest, dann wird es ein bisschen komplizierter, daher auch die Modulempfehlung. Falls du das nicht verwenden möchtest, kannst du da ja aber mal in den Quellcode schauen.

Ähnliche Themen

  1. AC_GetLoggedValues / AC_GetAggregatedValues
    Von Nisbo im Forum Skripte, PHP, SQL
    Antworten: 1
    Letzter Beitrag: 04.05.19, 14:07
  2. Problem beim Empfangen über ServerSocket
    Von Gollum im Forum Allgemeine Diskussion
    Antworten: 5
    Letzter Beitrag: 12.08.18, 00:42
  3. Archiv / AC_GetAggregatedValues
    Von MiniBlister im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 1
    Letzter Beitrag: 12.12.17, 09:16
  4. AC_GetAggregatedValues
    Von stricky im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 13.04.17, 14:48
  5. AC_GetAggregatedValues
    Von TomW im Forum Allgemeine Diskussion
    Antworten: 12
    Letzter Beitrag: 13.06.16, 20:14