• Hallo,


    seit dem image-Stand 25.11.2015 von Udo (Quelle: https://demo.volkszaehler.org/…s/volkszaehler_latest.rar) ist es möglich, Daten im Frontend anzuzeigen, die nicht aus der Datenbank kommen.


    Das hört sich unspektakulär an, ist es aber nicht.
    Es ist ein langgehegter Menschheitswunsch ;-).


    Es werden Daten dargestellt, die sozusagen viel höher aufgelöst sind, als in interval oder aggtime angegeben.
    Zugegeben, wer schon immer eine aggtime von 2 Sekunden hat, der wird keinen Unterschied darstellen.
    Wer legt aber so exorbitant viele Daten in die DB ab.


    Ich z.B. habe ein 5 Minuten-Raster.
    Mit den Livedaten kann ich nun per frontend auf die Pirsch gehen, und auch kleinste Verbräuche aufspüren.
    Sinnig ist das nicht wirklich bei Erzeugung und Einspeisung, aber extrem sinnig bei Bezug.


    Ich werde hier beschreiben, wie ich es bei mir "nachträglich" zu einer Vorgängerversion der o.g. Version eingerichtet habe.


    Unser Dank gilt AndiG hier aus dem Forum, der als Entwickler zu einer tragenden Säule bei vz geworden ist.
    Und an Udo sowieso, der uns unermüdlich mit Köpfchen und image versorgt ;-).

  • aktuell basiert das image von Udo auf Jessie und nicht mehr Wheezy
    dadurch sind einige Sachen anders, z.B. die Art und Weise, wie vzlogger gestartet wird


    das gilt es zu beachten!
    am einfachsten ist es natürlich einfach das aktuelle image zu installieren
    machen ja sicher aber die wenigsten permanent


    grundsätzlich sollte man aber schon auf Jessie wechseln


    ok, zerpflücken wir also mal die Anleitung:
    1. upgrade vzlogger to volkszaehler/vzlogger#174
    wir sollen den vzlogger aktualisieren
    ich hatte das seit Jahren nicht gemacht, deswegen auch gleich das neue image


    unser Jau schreibt auf der Mailingliste:

  • 2. enable push server in volkszaehler.conf.php


    nun muss der pushserver aktiviert werden
    das passiert in der o.g. Datei volkszaehler.conf.php
    wir schauen da mal rein:

    Code
    nano /var/www/volkszaehler.org/etc/volkszaehler.conf.php


    ok, einfach: false durch true ersetzen, Rest bleibt


    Code
    /**
    * Push server settings
    */
    $config['push']['enabled'] = true; // set to true to enable push updates
    $config['push']['server'] = 5582; // server will always listen on 0.0.0.0
    $config['push']['broadcast'] = 8082; // server will always listen on 0.0.0.0
  • 3. make sure external port is accessible to internet (if required)


    für Zugriff von aussen muss der entsprechende Port weitergeleitet werden, machen wir später
    gerade für Live-Daten für mich auch wirklich nicht wichtig
    die brauch ich nur, wenn ich auch in der Hütte bin, die ich logge

  • 4. start push server


    Code
    e.g. via etc/inittab
    # spawn push server
    push:235:respawn:/home/pi/volkszaehler.org/misc/tools/push-server.php


    keine Ahnung warum, aber inittab hat bei mir nicht geklappt
    AndiG verwies auch noch auf die Möglichkeit eines pushserver.services
    das funktioniert bei mir


    genau wie der vzlogger bei Jessie als Dienst gestartet wird, wird im neuen Image auch der pushserver als Dienst eingerichtet
    wer nicht das neue Image hat, macht das selber


    dazu einfach die Datei vzlogger.service zu pushserver.service umkopieren

    Code
    cp /etc/systemd/system/vzlogger.service /etc/systemd/system/pushserver.service


    und dann den Inhalt austauschen gegen:


    danach ein

    Code
    sudo reboot


    hier ein paar Befehle im Umgang mit so einem Dienst aus dem Wiki (ganz unten):
    http://wiki.volkszaehler.org/s…sion#building_from_source


    also den Dienst starten:

    Code
    sudo systemctl start pushserver


    den Dienst anhalten:

    Code
    sudo systemctl stop pushserver


    den Status anzeigen:

    Code
    systemctl status pushserver


    ganz wichtig, wenn es läuft den Dienst permanent machen:

    Code
    sudo systemctl enable pushserver
  • 5. configure live update port in options.js


    Nun noch schauen, ob der richtige Port in der options.js eingetragen ist:

    Code
    nano /var/www/volkszaehler.org/htdocs/frontend/javascripts/options.js


    es geht um Port 8082 bei local und Demo



    das war es
    ab jetzt wird bei gestartetem Dienst pushserver, jeder Wert des Zählers angezeigt, den dieser sendet, egal wie die aggtime eingestellt ist


    entweder lässt man den Dienst immer laufen, oder startet ihn wie oben beschrieben

  • noch ein paar Erläuterungen:


    Der pushdienst muss laufen,
    vzlogger schickt an Dienst (5582),
    Dienst schickt an alle frontends,
    frontend meldet sich beim dienst an (8082).


    vzlogger.conf:
    Die ganze Sache ist nicht mit dem eingebaute HTTPD Port 8082 vom vzlogger zu verwechseln, der Port ist nur zufällig der gleiche, darf aber bei Verwendung eben dann nicht Port 8082 sein (oder der selbe?)
    Bei mir ist der HTTPD auf false gesetzt, ich brauche ihn nicht.


    in der .conf ist einzutragen:


    Code
    nano /etc/vzlogger.conf


    Einmal editiert, zuletzt von sollner11 ()

  • Sehr schön. :danke:
    Findet man das so auch im Wiki?


    Ein Punkt ist aber unvollständig: meine Befehlsliste zur Aktualisierung des Volkszählers verändert nur die Middleware!


    Der vzlogger muss auch auf aktuellen Stand gebracht werden, alte vzlogger unterstützen den push-Betrieb nicht.
    Wie man den aktualisiert ist im Wiki beschrieben: http://wiki.volkszaehler.org/s…/installation_cpp-version



    mfg JAU

    No Shift - No Service