[vz-users] [vz-dev] Neue Funktion für das Frontend: "Live" Updates

Andreas Goetz cpuidle at gmail.com
Wed Jul 15 15:40:05 CEST 2015


Hi Andre,

2015-07-15 14:33 GMT+02:00 Andre Bernemann <andre.bernemann at gmail.com>:

> Hallo Andreas,
>
> ich würde den Thread gerne wieder aufwärmen, da mir beim Testen noch ein
> paar Punkte aufgefallen sind:
>

Sehr gerne!


>
> - Das Frontend baut die Verbindung zum Push Server immer in dem Glauben
> auf, dass dieser auf dem gleichen Host läuft (parser.hostname). Mein Dev FE
> läuft aber auf einem anderen Host, da bräuchte ich das konfigurierbar (und
> vielleicht ja jemand anderes auch noch). Was hältst Du
> von $config['push']['host'] und einer entsprechende Änderung in init.js?
>
>
Der PushServer wird dort erwartet wo die Middleware läuft- Du musst also
einfach in der options.js die Middleware anders konfigurieren. Woher das FE
kommt spielt keine Rolle (oder es wäre ein Bug). Oder ich verstehe das
Problem nicht?


> - Ich hab bei mir ein wenig Timersalat zwischen dem Push Timer und dem
> Refresh Timer. Beispiel: Zoom eine Stunde, pushRedraw Timeout 1s, Refresh
> Timeout ~8s. Wenn ich das korrekt debuggt habe, überschreibt mir der Push
> Timer jedes Mal den Refresh Timer, sodass ich gar keinen Refresh
> abbekomme.Erst bei sehr großem Zoom (refresh timer < push timer)
> funktioniert das. Als Workaround habe ich der Funktion drawplot zum Testen
> einen Parameter spendiert, der beim Aufruf über pushRedrawTimeout false
> ist. Sieht dann bei mir besser aus. Ist irgendwie schwer zu debuggen,
> gefühlt verhalten sich die Browser da unterschiedlich.
>
>
Yep, ist mir auch aufgefallen. Habe es aber noch nicht geschafft die
Abhängigkeiten zu durchdringen, known issue...


> - Ich fände es weiterhin gut wenn Refresh und Push im FE abschaltbar wären
> auch wenn es Default On ist. Wenn ich beispielsweise Push Updates mit hoher
> Auflösung analysieren möchte, kommt mir der Refresh immer dazwischen und
> glättet die Push Daten mit seiner niedrigeren Auflösung weg.
>
>
Arrgh. Ich möchte das Refesh Setting loswerden. Wenn Du kein Refresh willst
einfach ein wenig von "now" wegzoomen.Glätten kann ich verhinden indem auch
die "regulären" Daten "eingewoben" werden, ändere ich. Ok?


> - Wenn man beim Selektieren eines Bereiches im Plot ein Push Update
> bekommt ist die Selektion natürlich (wie beim Refresh) weg. Da muss man
> teilweise schon schnell sein ;-) Ich habe mal versucht das MouseDown Event
> abzufragen um das Update zu verhindern, aber Du hast da bestimmt eine
> bessere Idee (--> Austausch von flot gegen Highcharts finde ich generell
> auch cool).
>
>
Ups. Schöner Bug, ändere ich.


> - Die Anzeige der Werte in der Legende "verschwindet" bei mir
> Gelegentlich. Wenn ich da ein Muster erkenne gebe ich Bescheid.
>

Mhm. Das bräuchte ich tatsächlich detaillierter.


>
> - Es gibt noch den Fehler beim connect auf den Push Server von
> demo.volkszaehler,org
>

Mehr ein Feature- auf demo läuft einfach der master Zweig, da lauscht also
kein Server. Für User unerheblich und irgendwann wirds ja mal soweit sein.


>
> Danke!
>

Danke Dir für das ausführliche Feedback!


>
> Viele Grüße
> André
>
>
Viele Grüße,
Andreas


> Andreas Goetz <cpuidle at gmail.com> schrieb am Mo., 6. Juli 2015 um
> 09:18 Uhr:
>
>> Hallo Zusammen,
>>
>> alle anstehenden Funktionen sind jetzt im Entwicklungszweig vorhanden:
>>
>> - Echtzeitupdates (vzlogger ebenfalls aktualisieren)
>> - automatisches Refresh des Frontends
>> - Optimierung Speicherverbrauch der Middleware
>>
>> zusätzlich bietet vzlogger seit heute auch die Möglichkeit S0 Impulse
>> über GPIO zu loggen (Danke Matthias!). s0vz kann damit entfallen.
>>
>> Für Middleware/Frontend ist dafür neben `git pull` auch ein `git checkout
>> development` notwendig.
>>
>> Viele Grüße,
>> Andreas
>>
>>
>>
>>
>> 2015-06-23 16:02 GMT+02:00 Andreas Goetz <cpuidle at gmail.com>:
>>
>>> Hi Andre,
>>>
>>> 2015-06-23 15:40 GMT+02:00 Andre Bernemann <andre.bernemann at gmail.com>:
>>>
>>>> Ok Danke, läuft jetzt!
>>>>
>>>> Es fehlt noch autobahn,min.js, das hab ich mir mal so runtergeladen,
>>>> sollte aber vermutlich mit rein (composer?). In der vzlogger.conf hab ich
>>>> mir mal anhand des JSON Templates folgendes zusammengereimt:
>>>>
>>>>    "push" : [{
>>>>        "url" : "http://127.0.0.1:5582",
>>>>    }],
>>>>
>>>
>>> Genau. Habe Matthias schon gebeten die vzlogger.conf noch entprechend zu
>>> erweitern.
>>>
>>>
>>>>
>>>> Im push-server kommen regelmäßig (< Agg-Intervall wie erhofft) Daten
>>>> für meine 2 SML Kanäle an (hab da ein debug print drin):
>>>>
>>>> { "data": [ { "uuid": "xxx", "tuples": [ [ 1435065351598,
>>>> 174.90000000000001 ] ] } ] }
>>>> { "data": [ { "uuid": "yyy", "tuples": [ [ 1435065351598,
>>>> 16628693.600000001 ] ] } ] }
>>>>
>>>
>>> Genau. Da kommen die Rohwerte vom Zähler an und werden dann vom PushHub
>>> in Momentanwerte konvertiert.
>>>
>>>
>>>>
>>>> Im Frontend gab es zunächst ein Problem, er konnte nicht auf 8082 auf
>>>> demo.volkszaehler.org connecten. Hier habe ich das live Attribut aus
>>>> options.js für den remote Kanal entfernt.
>>>>
>>>
>>> Wenns drin ist soll das natürlich auch auf Demo funktionieren. Aber
>>> guter Hinweis- da nicht kriegsentscheidend darf es keinen Fehler geben,
>>> ändere ich.
>>>
>>>
>>>> Jetzt bekomme ich derzeit keine Fehler, und es aktualisiert sich alle 2
>>>> Sekunden der aktuelle Verbrauch und die Grafik - cool! Bisher getestet habe
>>>> ich allerdings nur den Kanal El. Energie (Leistungswerte). Tests für
>>>> Zählerstände und S0 kann ich noch nachliefern.
>>>>
>>>> Die Performance scheint derzeit nicht besonders stark beeinträchtigt zu
>>>> werden, das ist bei meinem alten 256MB Pi auch wichtig ;-) Geniales
>>>> Feature, man hat "Realtime"-Daten bei Bedarf und in der Datenbank wird
>>>> weiterhin im AggIntervall geschrieben. Danke für Idee um Umsetzung!
>>>>
>>>
>>> Danke für die Blumen.
>>>
>>>
>>>> Btw, die Option "Automatisch aktualisieren" kann aus meiner Sicht auch
>>>> default On sein, weiterhin abschaltbar fände ich allerdings gut.
>>>>
>>>
>>> Warum eigentlich? Einfach nicht auf "jetzt" zoomen und schon gibts keine
>>> Updates mehr.
>>>
>>>
>>>> Eventuell zusammen mit dem Live-Update schaltbar?
>>>>
>>>
>>> Lieber nicht- weniger Schalter sind "mehr".
>>>
>>>
>>>>
>>>> Gruß
>>>> André
>>>>
>>>
>>> Viele Grüße,
>>> Andreas
>>>
>>>
>>>>
>>>>
>>>>
>>>> Andreas Goetz <cpuidle at gmail.com> schrieb am Di., 23. Juni 2015 um
>>>> 13:16 Uhr:
>>>>
>>>>> 2015-06-23 13:11 GMT+02:00 Andre Bernemann <andre.bernemann at gmail.com>
>>>>> :
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> super Idee, teste ich gerne!
>>>>>>
>>>>>
>>>>> Danke für den Test!
>>>>>
>>>>>
>>>>>> Mir fehlt derzeit noch "Volkszaehler\Server\PushHub" um den push
>>>>>> server zu starten. Fehlt das evtl. noch im PR oder bekomme ich es woanders
>>>>>> her?
>>>>>>
>>>>>
>>>>> Ups, und geich zeigt sich dass sich testen lohnt... Habs hinterher
>>>>> geschoben (forced update, also im Zweifel git reset --hard).
>>>>>
>>>>>
>>>>>>
>>>>>> Gruß
>>>>>> André
>>>>>>
>>>>>
>>>>> Viele Grüße,
>>>>> Andreas
>>>>>
>>>>>
>>>>>>
>>>>>> Andreas Goetz <cpuidle at gmail.com> schrieb am Mo., 22. Juni 2015 um
>>>>>> 13:01 Uhr:
>>>>>>
>>>>>>> Hallo Zusammen,
>>>>>>>
>>>>>>> Matthias und ich haben vzlogger und Frontend um eine Möglichkeit
>>>>>>> erweitert, Zählerwerte "live" zum Frontend zu pushen, in der Sekunde wo sie
>>>>>>> anfallen. Der Witz an der Sache: die Werte müssen nicht gespeichert werden
>>>>>>> so dass das Datenvolumen nicht anwächst.
>>>>>>>
>>>>>>> Im Frontend sieht das etwa so aus (in dem Fall schickt der Zähelr
>>>>>>> schneller Messwerte als seine Auflösung hergibt, daher springt die Leistung
>>>>>>> zwischen 0 und ca. 200W):
>>>>>>>
>>>>>>> [image: unbenannt]
>>>>>>>
>>>>>>> Bevor das in den Hauptzweig einfließen kann brauchen wir allerdings
>>>>>>> Tester. Die entsprechenden PRs finden sich hier; PHP 5.4 ist Voraussetzung:
>>>>>>>
>>>>>>>   - https://github.com/volkszaehler/volkszaehler.org/pull/323
>>>>>>>   - https://github.com/volkszaehler/vzlogger/pull/174
>>>>>>>
>>>>>>> Künftig ließen sich damit lustige neue Funktionen wie z.B. Tachos
>>>>>>> und ähnliches realisieren.
>>>>>>>
>>>>>>> @Udo: wenn es mal rund läuft sollten wir das ins nächste Image auch
>>>>>>> mit einbauen.
>>>>>>> @Justin: und für demo wäre es natürlich auch nett.
>>>>>>>
>>>>>>> Viele Grüße,
>>>>>>> Andreas & Matthias
>>>>>>>
>>>>>>> PS.: aktuell ist das zwar getestet aber nur für Experimentierfreunde
>>>>>>> geeignet. Wenn ihr nicht wisst wie sich PRs mergen lassen ist das nicht für
>>>>>>> Euch geeignet.
>>>>>>>
>>>>>>>
>>>>>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20150715/7f0f2614/attachment.html>


More information about the volkszaehler-users mailing list