+ Antworten
Seite 8 von 11 ErsteErste ... 6 7 8 9 10 ... LetzteLetzte
Ergebnis 71 bis 80 von 109
  1. #71
    Registriert seit
    Oct 2018
    Ort
    München
    Beiträge
    38

    Liebe Community,
    ich komme mit meinem Problem leider immer noch nicht weiter. Wie gesagt würde ich das Script gerne so ändern, dass der Jahreszeitraum = meiner Abrechnungsperiode entspricht. Wenn ich das aber so eingebe:

    $data = AC_GetAggregatedValues($archiveID, $valueID, 4 /* Jährlich */, strtotime("sixth day of last December"), strtotime("now"), 0);

    dann werden alle Werte vom 01.01.2018 bis heute zusammengerechnet. Ich möchte aber, dass nur vom 6.12.2018 bis heute addiert wird, ohne aber die Jahreszahl exakt festzulegen, denn sonst stimmt es ja im nächsten Jahr wieder nicht. Kann mir hier jemand weiterhelfen?

  2. #72
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    23,757

    Du musst dann leider auf die Tagesaggregation gehen und die relevanten Tage zusammenaddieren.

    paresy

  3. #73
    Registriert seit
    Apr 2005
    Ort
    67147 Forst
    Beiträge
    988

    Hi Paresy
    Habe das gleiche Problemchen.
    Ich möchte auch vom 1.8.1918 bis heute in einer Variablen anzeigen.
    Jeweils am 1. 8. aber mit Startwert 0 anfangen.

    Schönen Gruß
    Egon
    Eib-KNX, Homematic, FS20

  4. #74
    Registriert seit
    Oct 2018
    Ort
    München
    Beiträge
    38

    Hallo Egon,

    ich habe das für mich jetzt so gelöst, indem ich drei zusätzliche Variablen angelegt habe in die die Jahreszahlen geschrieben werden. Das sieht dann bei mir so aus:

    PHP-Code:
    $date1 "Variable 1"   $date2 "Variable 2"  $dayCounter "Variable 3"

    // LETZTES JAHR
    $data AC_GetAggregatedValues($archiveID$valueID/* Täglich */mktime(000126$date2), mktime(235959125$date1), 0);   
    SetValueFloat($lastYearIDCalcConsumption($data)); 

    // AKTUELLES JAHR 
    $data AC_GetAggregatedValues($archiveID$valueID/* Täglich */mktime(000126$date1), strtotime("now"), 0);   
    $dataYear CalcConsumption($data); 
    SetValueFloat($currYearID$dataYear); 

    // Hochrechnung JAHR 
    $diff 60*60*24*$dayCounter//1 Jahr 
    $full 60*60*24*$tage// 1 Jahr 
    $data round($dataYear*$full/$diff2); 
    SetValueFloat($consYearID$data); 
    PHP-Code:
    $date1 
    ist das Jahr, in dem die aktuelle Periode startet, hier z.B. 2018.
    PHP-Code:
    $date2 
    ist dann immer das Vorjahr, hier also 2017. Diese beiden Variablen müssen dann um 0:00 Uhr am Startdatum der Periode mit "1" addiert werden, damit sich der Berechnungszeitraum um ein Jahr verschiebt. Wichtig ist auch, wie Parsey das schon geschrieben hat, dass die "Tägliche Aggregation" eingestellt ist.

    Für die Hochrechnung habe ich mir einen einen Tageszähler
    PHP-Code:
    $dayCounter 
    angelegt, der die Tage der aktuellen Periode hochzählt und sich natürlich zum Start der neuen Periode wieder resettet.

    PHP-Code:
    $tage 
    diese Variable berücksichtigt noch, ob die aktuelle Periode in einem Schaltjahr liegt, also 366 Tage hat, oder nicht.

    Wahrscheinlich ist das alles sehr umständlich, wie ich das mache, aber es funktioniert super. So wird dir immer genau der Zeitraum angezeigt, den man haben möchte.

  5. #75
    Registriert seit
    Apr 2005
    Ort
    67147 Forst
    Beiträge
    988

    Hi Seebter

    Danke für das Script.
    Dass das so komplizert ist hätte ich nicht gedacht....
    Modul wäre halt einfacher-für mich

    Schönen Gruß
    Egon
    Eib-KNX, Homematic, FS20

  6. #76
    Registriert seit
    Apr 2005
    Ort
    67147 Forst
    Beiträge
    988

    Hallo
    So hab ichs jetzt gemacht:
    Problem : Fortlaufender Zähler ich will aber immer am 1. 8. jedes Jahr bei 0 beginnen.
    Den Abrechnungszeitraum sehen...
    PHP-Code:
    <?php

    // Ich habe einen Wärmezähler der nur fortlaufend die Daten liefert.
    //Ich möchte aber immer am 1.8 bei 0 beginnen.................

    $aktuelljahr GetValue(58602 /*[00 Wärmezähler\Gesamt kW erzeugt\Gesamt kWh Integer in Float umgerechnet]*/);

    // Könnte ich auch mit einem Ereignis machen das am 1.8. jedes Jahr den "alten" Zählerstand speichert

    //Hier noch alter (Vorjahr) von Hand gesetzt:
    $vorjahr=11323;
    $aktuell=$aktuelljahr-$vorjahr;

    SetValueFloat(23936 /*[00 Wärmezähler\Zähler mit Startdatum\neuer Zähler fängt bei 0 an\Aktuelles Jahr]*/,$aktuell);
    Was zu verbessern?

    Schönen Gruß
    Egon
    Geändert von egonkernien (21.06.19 um 11:43 Uhr) Grund: Scriptfehler verbessert
    Eib-KNX, Homematic, FS20

  7. #77
    Registriert seit
    Nov 2016
    Ort
    Österreich, OÖ, Schärding
    Beiträge
    840

    Danke an den Ersteller und an die Modifizierer!
    Funktioniert einwandfrei, toll!

    Frage 1:
    Muss nur noch eine Grafik basteln. Wie habt ihr das gemacht?
    Wochenansicht mit täglichen kWh und tägliche Kosten wäre cool.

    Frag 2:
    Wie macht man im Webfront ein Eingabefeld, in dem man - wenn nötig - den kWh Preis ändern kann?

    Danke und lg
    KNX: IPS @ Raspberry Pi3 Unlimited
    IPSStudio - Collibrico - Sonos - Alexa - ekey - Synology NAS - Reolink - Vaillant LWP + KWL

  8. #78
    Registriert seit
    Sep 2008
    Ort
    Staufenberg nr KS
    Beiträge
    2,069

    na, so oft ändert sich der Preis nicht, vllt wenn du den Vertrag wechselst. IPS hat alles an Board für eine Grafik, wenn deine Vari geloggt ist.
    ansonsten gibt es auch noch 3thdparty Lösungen.
    IP-Symcon Version: 5.5 ninja - unlim auf WIN7pro
    server:Shuttle XS35V4,HPSlate21,IPS-868,HM,HMip,FS20,piVCCU3,IPcams, FB 7590, TM-D710GE(GPS), Raspi3, Pioneer VSX, Libratone, MieleWCR870WPS, SamsungNZ64N7777

  9. #79
    Registriert seit
    Nov 2016
    Ort
    Österreich, OÖ, Schärding
    Beiträge
    840

    Zitat Zitat von Axel37 Beitrag anzeigen
    na, so oft ändert sich der Preis nicht, vllt wenn du den Vertrag wechselst. IPS hat alles an Board für eine Grafik, wenn deine Vari geloggt ist.
    ansonsten gibt es auch noch 3thdparty Lösungen.
    Jo verstanden, Boardmittel reichen. Was ich aber erst jetzt gecheckt habe ist, das man das Logging aktivieren muss - im Skript wohlgemerkt!

    Jetzt habe ich aber noch eine Frage:
    Was muss geändert werden, damit man dieses genial Skript für den Wasserzähler verwenden könnte?

    Danke und lg
    KNX: IPS @ Raspberry Pi3 Unlimited
    IPSStudio - Collibrico - Sonos - Alexa - ekey - Synology NAS - Reolink - Vaillant LWP + KWL

  10. #80
    Registriert seit
    Mar 2017
    Ort
    Mittelfranken
    Beiträge
    199

    Bei mir sieht das für Wasser so aus.

    Name:  Wasser.JPG
Hits: 206
Größe:  175.1 KB

    Ich weiß nicht ob Du das gemeint hast.