[vz-users] Frage zur Darstellung mit Steps
Andreas Götz
cpuidle at gmail.com
Wed Jul 27 21:55:53 CEST 2016
Klasse! Korrigiere ich, bräuchte aber trotzdem noch soegfältige Tester...
Viele Grüße,
Andreas
> Am 27.07.2016 um 20:48 schrieb Klaus Reichenecker <kr at kr123.de>:
>
> Hallo Andreas,
>
>
> konhte es auf die Schnelle noch nicht testen, aber denke das ist genau das was viele brauchen
>
> Vorschlag zum Namen, nachdem Du Dir bei "switch" nicht ganz sicher bist - wie wäre es mit "State`? - Eigentlich zeigt es ja genau das an ?
>
> Viele Grüße
>
> Klaus
> ----- Original Message -----
> From: Andreas Goetz
> To: volkszaehler.org - users
> Sent: Wednesday, July 27, 2016 8:07 PM
> Subject: Re: [vz-users] Frage zur Darstellung mit Steps
>
> Siehe https://github.com/volkszaehler/volkszaehler.org/pull/450
>
> Nicht getestet!
>
> Viele Grüße, Andreas
>
>> On 27 Jul 2016, at 19:57, Matthias Kammerer <kammererm at gmail.com> wrote:
>>
>> Habe jetzt ein "stepsbefore" eingefügt und folgendes angepasst (aber nur ganz kurz getestet):
>>
>> root at homeserver:/var/www/serverroot/volkszaehler.org# grep -r stepsbefore
>> htdocs/frontend/vendor/flot/jquery.flot.fillbetween.js: withsteps = withlines && (s.lines.steps || s.lines.stepsbefore),
>> htdocs/frontend/vendor/flot/jquery.flot.stack.js: withsteps = withlines && (s.lines.steps || s.lines.stepsbefore),
>> htdocs/frontend/javascripts/entity.js: case 'stepsbefore': value = 'Stufen-vorher'; break;
>> htdocs/frontend/javascripts/entity.js: case 'stepsbefore': value = 'Stufen'; break;
>> htdocs/frontend/javascripts/wui.js: if (series.lines.steps || series.lines.stepsbefore) {
>> htdocs/frontend/javascripts/wui.js: if (style == "stepsbefore") {
>> htdocs/frontend/javascripts/wui.js: show: style == 'lines' || style == 'steps' || style == 'stepsbefore',
>> htdocs/frontend/javascripts/wui.js: steps: style == 'steps' || style == 'stepsbefore',
>> lib/Definition/PropertyDefinition.json: "stepsbefore",
>> lib/Definition/EntityDefinition.php: * @var string (lines|points|steps|stepsbefore)
>>
>> Gibt aber sicher elegantere Lösungen ;-)
>>
>>> Am 27. Juli 2016 um 19:12 schrieb Andreas Goetz <cpuidle at gmail.com>:
>>> Ich schaue mir- endlich- mal an. Auch ein paar der EntityDefinitions müssen korrigiert werden. Update folgt hier.
>>>
>>> Viele Grüße, Andreas
>>>
>>>> On 27 Jul 2016, at 18:49, Matthias Kammerer <kammererm at gmail.com> wrote:
>>>>
>>>> Stimmt... kann man tatsächlich weglassen und ist vermutlich sogar besser so. Ansonsten müsste ich auch nochmal korrigieren:
>>>>
>>>> tuples.unshift([entity.data.from, 1, 1]); // add new first ts
>>>> tuples[0][1] = tuples[1][1];
>>>>
>>>> Was ich mir noch zutrauen würde, wäre neben "Steps" ein "Steps-before" einzuführen, also auswählbar über "Style". Wäre das eine akzeptable Lösung?
>>>>
>>>> Gruß
>>>>
>>>>
>>>>
>>>>> Am 27. Juli 2016 um 17:45 schrieb Andreas Götz <cpuidle at gmail.com>:
>>>>>
>>>>>> Am 27.07.2016 um 17:23 schrieb Matthias Kammerer <kammererm at gmail.com>:
>>>>>>
>>>>>> OK... habs jetzt quick and dirty so gelöst:
>>>>>>
>>>>>> // mangle data for "steps" curves by shifting one ts left ("step-after")
>>>>>> if (style == "steps") {
>>>>>> tuples.unshift([entity.data.from, 1, 1]); // add new first ts
>>>>>> tuples[1][1] = tuples[2][1];
>>>>>> }
>>>>>>
>>>>>> Sieht das plausibel aus?
>>>>>
>>>>> Denke es tut- aber Du kannst das ganze if auch wegschmeissen. Jetzt fehlt nur noch das Verhalten via display mode konfigurierbar zu machen und den Defaultwert im Kanaltyp z.B. für Ventile zu hinterlegen.
>>>>>
>>>>> Viele Grüße, Andreas
>>>>>
>>>>>>
>>>>>> Jetzt gibt es bei mir eben kein "step-before" mehr, was ich aber auch nicht brauche.
>>>>>>
>>>>>>
>>>>>>> Am 27. Juli 2016 um 16:53 schrieb Matthias Kammerer <kammererm at gmail.com>:
>>>>>>> Bin ich hier richtig?
>>>>>>> // mangle data for "steps" curves by shifting one ts left ("step-before")
>>>>>>> if (style == "steps") {
>>>>>>> tuples.unshift([entity.data.from, 1, 1]); // add new first ts
>>>>>>> for (i=0; i<tuples.length-1; i++) {
>>>>>>> tuples[i][1] = tuples[i+1][1];
>>>>>>>
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>>> Am 27. Juli 2016 um 16:34 schrieb Matthias Kammerer <kammererm at gmail.com>:
>>>>>>>> Besten Dank schonmal für die Infos.
>>>>>>>>
>>>>>>>> Kleine Anmerkung zur Rückfrage bei den Points: geplottet wird tatsächlich nur der Point, aber in der Legende werden ja dann die Werte zum Curser angezeigt. Da kommen dann die linearen Übergänge.
>>>>>>>>
>>>>>>>> Invertieren ist für das beschriebene Beispiel tatsächlich eine gute Idee, aber... leider habe ich dann doch ab und zu sich wiederholende Werte drin und spätestens bei der Leistungsdeckelung meines Wechselrichters ist es vorbei :-|
>>>>>>>>
>>>>>>>> Ich könnte mich mal an dem verlinkten Issue #338 versuchen. Da ich mich komplett reindenken muss, bin ich mir nicht sicher, ob ich ausreichend Einarbeitungszeit finde und bin natürlich für jedes Futter dazu dankbar ;-).
>>>>>>>>
>>>>>>>>
>>>>>>>>> Am 27. Juli 2016 um 11:43 schrieb Andreas Götz <cpuidle at gmail.com>:
>>>>>>>>>
>>>>>>>>>> Am 27.07.2016 um 11:36 schrieb Christian Schnellrieder <schnellrieder.cs at gmail.com>:
>>>>>>>>>>
>>>>>>>>>> Kleiner Nachtrag:
>>>>>>>>>> kann man die Darstellung nicht berichtigen in dem man die Werte invertiert?
>>>>>>>>>
>>>>>>>>> Coole Idee! Für den Spezialfall des Ventils sollte das klappen- wenns Zwischenwerte gibt nicht (40% auf?).
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Christian Schnellrieder <schnellrieder.cs at gmail.com> schrieb am Mi., 27. Juli 2016 um 11:32 Uhr:
>>>>>>>>>>> Hallo.
>>>>>>>>>>>
>>>>>>>>>>> >Hat jemand einen Lösungsvorschlag oder vielleicht sogar eine Lösung?
>>>>>>>>>>>
>>>>>>>>>>> Unschön aber bis das im Vz gefixt ist.
>>>>>>>>>>> Eine Schleife laufen lassen welche immer den letzten Status pusht.
>>>>>>>>>>>
>>>>>>>>>>> Grüße
>>>>>>>>>>>
>>>>>>>>>>> Andreas Götz <cpuidle at gmail.com> schrieb am Mi., 27. Juli 2016 um 10:57 Uhr:
>>>>>>>>>>>> Hallo Matthias,
>>>>>>>>>>>>
>>>>>>>>>>>>> Am 27.07.2016 um 10:15 schrieb Matthias Kammerer <kammererm at gmail.com>:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hallo zusammen,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Ich habe verschiedene Kanäle z.B. als Ventil oder als Leistungswerte, welche diskrete Werte annehmen. Dabei werden die Daten fast ausschließlich in die Datenbank geschrieben, wenn sich etwas ändert. Also im einfachsten Fall ein Schaltventil mit den Werten 0... 1: Wenn das Ventil auf 1 geschalten wird, dann kommt die 1 mit Zeitstempel, wenn es auf 0 gestellt wird, dann entsprechend die 0.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Ziel wäre nun, dass der Zustand über der Zeit im frontend so lange den letzten Wert anzeigt, bis ein neuer Wert gesetzt ist. Je nach Einstellung schaffe ich aber nur folgendes, was leider nicht ganz korrekt ist:
>>>>>>>>>>>>> A: Ich wähle "points" oder "lines" --> Dann wird zwischen den Werten gewichtet gemittelt. D.h. das Schaltventil läuft zwischen den Datenpunkten stetig und linear zum jeweils folgenden Wert.
>>>>>>>>>>>>
>>>>>>>>>>>> Das stimmt nur für lines. Points zeit exakt den Punkt, sonst nichts?
>>>>>>>>>>>>
>>>>>>>>>>>>> B: Ich wähle Steps --> Dann wird entlang der Zeitachse immer der Wert des nächsten Datenpunktes angezeigt und nicht das letzten Punktes. D.h. wenn ich das Ventil am Morgen auf "0" Stelle und am Abend auf "1", dann zeigt es mir den ganzen Tag eine "1" anstelle der "0" an.
>>>>>>>>>>>>
>>>>>>>>>>>> Ist bekannt. Wir bräuchten https://github.com/volkszaehler/volkszaehler.org/issues/338
>>>>>>>>>>>> Leider fehlt mir aktuell die Zeit und ich hab selber kein Ventil im Einsatz...
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Ich habe schon versucht, den Sensor-Interpreter etwas zu verbiegen, um zum Erfolg zu kommen, bin damit aber nicht weitergekommen.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hat jemand einen Lösungsvorschlag oder vielleicht sogar eine Lösung?
>>>>>>>>>>>>
>>>>>>>>>>>> Das wäre in der vz.wui.plot Funktion zu regeln- relevante Timestamps um 1 shiften da die Chartbibliothek die Funktion nicht her gibt.
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Besten Dank und Gruß
>>>>>>>>>>>>> Matthias
>>>>>>>>>>>>
>>>>>>>>>>>> Viele Grüße, Andreas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20160727/d0133a6a/attachment-0001.html>
More information about the volkszaehler-users
mailing list