Frontend zur Darstellung von absoluten Zählerwerten

  • Hallo zusammen,


    hat jemand zufällig ein Frontend gebaut, bei dem ich die absoluten Zählerstände meiner Kanäle darstellen kann? In der Datenbank stehen diese bereits drin (1.8.0-Werte), das aktuelle Frontend zeigt mir die momentanen Verbräuche.




    Vielen Dank!


    Grüße,


    Thomas

  • Problemtisch ist dabei die Struktur des VZ. Zwar liegen bei dir die Zählerstände vor, bei S0-Zähler aber nicht. Es gibt aber 2 Lösungsansätze.


    1) Eine Modifikation bei der die Absolutstände über ein anders Frontend dargestellt werden. (nicht VZ-Standard)


    2) Aggregation in der Middleware. Dabei werden regelmäßig (cronjob) Zwischenergebnisse in die DB geschrieben um bei einer Abfrage schnell einen Zählerstand liefern zu können.
    Dazu muss einmalig die Tabelle erstellt und gefüllt werde, regelmäßig nachgefüllt und ein Anfangszählerstand im Kanal definiert werden. Dann erscheint im Standard-Frontend unten rechts der Zählerstand.



    mfg JAU

    No Shift - No Service

  • ok, vielen Dank,


    ich habe es wie im Wiki beschrieben aktiviert und konfiguriert.In der Datenbank stehen auch die aggregirten Werte jetzt drin. Wenn ich im Frontend bei einem Kanal auf den Hotlink zur Middleware klicke, sehe ich auch, dass der Aggragator aktiv konfiguriert ist. Leider sehe ich noch keine Zählerstände. Wo sollten diese denn auftauchen? Unten in der Tabelle bei den Werten zu den einzelnen Kanälen (also bei Verbrauch, Durchschnittsverbrauch, Momentanverbrauch, Kosten, usw.)?


    Danke im Voraus!


    cheers,


    Thomas

  • Unten rechts wird beim Verbrauch eine neue Spalte angezeigt. Das kann sich aber bissl verzögern, die Berechnung dauert einen Moment.



    mfg JAU

    No Shift - No Service

  • Bei der Fehlersuche in dem Bereich bin ich auch nicht so fit.


    Zeig mal die Ergebnisse von:

    Code
    http://VZ-IP/middleware.php/capabilities/database.json


    und

    Code
    crontab -l


    Schau auch mal was für eine CPU-Last du hast wenn das Frontend aufgerufen wird.


    Und auch wenn du eine Anfrage dieser Art sendest:

    Code
    http://VZ-IP/middleware.php/data/EINE-UUID.json?from=0&tuples=1&group=day&debug=1


    Die dauert bei meiner Datenbank ~5s. Wenn die Agg nicht funktioniert rödelt der Raspi eine Ewigkeit.


    Und im Anhang wie es bei mir aussieht. Wie besagt: Das dauert ein wenig. Das Frontend ist komplett geladen, der Graph vollständig. Nach einem Moment taucht die zusätzlich Spalte auf und ein paar Sekunden später die Werte dazu.



    mfg JAU

  • Hallo JAU,


    kein Problem, wenn es klappt ist jut, wenn nicht, dann muss ich halt weiter zum Stromzähler laufen :D .


    Hier ist was die MAschine sagt:


    Code
    http://VZ-IP/middleware.php/capabilities/database.json
    {"version":"0.3","capabilities":{"database":{"data_rows":207662,"data_size":42172416,"aggregation_enabled":1,"aggregation_rows":200708,"aggregation_ratio":1.035}}}


    Code
    contab -l
    * * * * *  php /var/www/volkszaehler.org/misc/tools/aggregate.php run -m delta -l minute >/dev/null
    1 * * * *  php /var/www/volkszaehler.org/misc/tools/aggregate.php run -m delta -l hour >/dev/null
    0 1 * * *  php /var/www/volkszaehler.org/misc/tools/aggregate.php run -m delta -l day >/dev/null


    Die letzte Ausgabe ist länglich, geht aber fix, da ich die ganze Datenverarbeitung auf leistungsfähigerer HW habe, und nur das Pollen der Zähler vom Raspi gemacht wird:



    Scheint so, als würden die Anfragen alle laufen. Bei dem von Dir gezeigten Screenshot stehen bei mir übrigens die Kosten.




    Edit: ist ja irre, nachdem ich den obigen Request habe laufen lassen, wirft das Frontend auf einmal die Daten aus, auch für den anderen Kanal. Sehr strange. Die absoluten Werte stimmen noch nicht, aber ich dene, da muß ich dann den initialen Zählerstand noch im Forntend eintragen, oder?


    Danke für die Hilfe !


    Grüße,


    Thomas


    Edit2: Da fällt mir auch schon eine Schwäche auf: Ich hatte im Frühjahr mal einen Vormittag wo der Raspi gesponnen hat und für ein paar Stunden keine Daten aufgezeichnet hat. Diese fehlen nun in der Aggregation, und die in diesem Zeitraum aufgelaufenen Verbräuche führen dann zu einer falschen Darstellung des Gesamtstandes.. Muß man also wissen, und von Zeit zu Zeit kontrollieren, ob Anzeige und tatsächlicher Stand noch richtig laufen.


    Und noch eine Schwäche: Die Gesamtverbräuche tauchen nur nach einem reload der Seite auf. Beim initialen Aufrud fehlen sie.


    :danke:

  • Zitat

    Ich hatte im Frühjahr mal einen Vormittag wo der Raspi gesponnen hat und für ein paar Stunden keine Daten aufgezeichnet hat. Diese fehlen nun in der Aggregation, und die in diesem Zeitraum aufgelaufenen Verbräuche führen dann zu einer falschen Darstellung des Gesamtstandes..


    Du hast doch angeblich Zählerstände in der DB stehen. Da gibts keine Abweichung, auch nicht bei Ausfall.


    Zitat

    da muß ich dann den initialen Zählerstand noch im Forntend eintragen, oder?


    Hatte ich bereits in der ersten Antwort erwähnt.


    Zitat

    nachdem ich den obigen Request habe laufen lassen, wirft das Frontend auf einmal die Daten aus, auch für den anderen Kanal.


    Die Beobachtung ist nicht plausibel. Ich sehe das Problem eher wo anders:


    Zitat

    "data_rows":207662,


    Zitat

    "aggregation_rows":200708


    Du hast in der Aggregation beinahe so viele Datensätze wie in der normalen Tabelle. Damit geht der Geschwindigkeitsvorteil der Aggregation flöten.


    Das da dürfte die Ursache sein:

    Zitat

    * * * * * php /var/www/volkszaehler.org/misc/tools/aggregate.php run -m delta -l minute >/dev/null


    Datenbank leeren, und neu füllen. Diesmal aber nur mit Stunden- und Tagessätzen.



    mfg JAU

    No Shift - No Service


  • Hallo :)
    Kannst du oder jemand anderes vielleicht nochmal den Link zu dieser Aggregation der Middleware schicken?
    Würde nämlich auch gerne bei meinem ED300L den Gesamtverbrauch im Frontend sehen. Bis jetzt ist er leider nicht da :?: