<div dir="auto">Hallo Tobias,<div dir="auto"><br></div><div dir="auto">von wann ist deine Installation? Hab das von GitHub kopiert, wenn's bei dir anders aussieht müsstest du vielleicht mal wieder updaten.</div><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/volkszaehler/volkszaehler.org/blob/master/htdocs/js/wui.js#L826">https://github.com/volkszaehler/volkszaehler.org/blob/master/htdocs/js/wui.js#L826</a><br></div><div dir="auto"><br></div><div dir="auto">Grüße</div><div dir="auto">Frank</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Tobias Lehr <<a href="mailto:tobias.lehr@me.com" target="_blank" rel="noreferrer">tobias.lehr@me.com</a>> schrieb am Di., 31. März 2020, 20:13:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">So ich wollte mich nochmal melden.<div><br></div><div>Die zweite SQL Abfrage, die in der Tabelle agregate nachschlägt, war bei mir auch erfolgreich.</div><div><br></div><div>Allerdings bin ich bei der dauerhaften Lösung im Frontend nicht weitergekommen.</div><div><br></div><div>Leider funktioniert der unschöne Hack in der options.js nicht. Also die precision auf 8 zu nehmen und dann für alle anderen Einheiten wie m3 eine maxprecision vorzunehmen, Wenn ich precision auf 8 nehme, dann haben alle Werte acht stellen. Auch die Temperaturen, die ja schon eine maxPrecision definiert haben. Ein weiter Regel für ‚W‘ hinzuzufügen hat leider gar keinen Effekt.</div><div><br></div><div>Also habe ich in der WUI.js gesucht, und die angegebene Stelle:</div><div><br></div><div><div>var precision = (Math.abs(si.number) < vz.options.minNumber) ? 0 :<br></div><div>    Math.max(0, vz.options.precision - Math.max(-1, Math.floor(Math.log(Math.abs(si.number))/Math.LN10)));<br></div><div><br></div><div>gesucht, aber leider nicht gefunden. Zumindest nicht genauso wie in der Mail von frank angegeben.</div><div><br></div><div>Ich habe zum Thema Roundings das hier gefunden:</div><div><br></div><div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b>/**</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b> * Rounding precision</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b> *</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b> * Math.round rounds to whole numbers</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b> * to round to one decimal (e.g. 15.2) we multiply by 10,</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b> * round and reverse the multiplication again</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b> * therefore "vz.options.precision" needs</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b> * to be set to 1 (for 1 decimal) in that case</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures"><b> */</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">vz.wui.formatNumber = </span><span style="font-variant-ligatures:no-common-ligatures;color:#34bd26">function</span><span style="font-variant-ligatures:no-common-ligatures">(number, unit, prefix) {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        prefix = prefix || true; </span><span style="font-variant-ligatures:no-common-ligatures;color:#5330e1"><b>// default on</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#34bd26">var</span><span style="font-variant-ligatures:no-common-ligatures"> siPrefixes = [</span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'k'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'M'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'G'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'T'</b></span><span style="font-variant-ligatures:no-common-ligatures">];</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#34bd26">var</span><span style="font-variant-ligatures:no-common-ligatures"> siIndex = 0,</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                        maxIndex = (</span><span style="font-variant-ligatures:no-common-ligatures;color:#34bd26">typeof</span><span style="font-variant-ligatures:no-common-ligatures"> prefix == </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'string'</b></span><span style="font-variant-ligatures:no-common-ligatures">) ? siPrefixes.indexOf(prefix)+1 : siPrefixes.length;</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures;color:#000000">        </span><span style="font-variant-ligatures:no-common-ligatures"><b>// flow unit or air pressure?</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>if</b></span><span style="font-variant-ligatures:no-common-ligatures"> ([</span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'l'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'m3'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'m^3'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'m³'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'l/h'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'m3/h'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'m/h^3'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'m³/h'</b></span><span style="font-variant-ligatures:no-common-ligatures">, </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'hPa'</b></span><span style="font-variant-ligatures:no-common-ligatures">].indexOf(unit) >= 0) {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures;color:#000000">                </span><span style="font-variant-ligatures:no-common-ligatures"><b>// don't scale...</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                maxIndex = -1;</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures;color:#000000">                </span><span style="font-variant-ligatures:no-common-ligatures"><b>// ...unless for l->m3 conversion</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>if</b></span><span style="font-variant-ligatures:no-common-ligatures"> (Math.abs(number) > 1000 && (unit == </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'l'</b></span><span style="font-variant-ligatures:no-common-ligatures"> || unit == </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'l/h'</b></span><span style="font-variant-ligatures:no-common-ligatures">)) {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                        unit = </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>'m³'</b></span><span style="font-variant-ligatures:no-common-ligatures"> + unit.substring(1);</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                        number /= 1000;</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                }</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        }</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>while</b></span><span style="font-variant-ligatures:no-common-ligatures"> (prefix && Math.abs(number) > 1000 && siIndex < maxIndex) {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                number /= 1000;</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                siIndex++;</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        }</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><div style="margin:0px;line-height:normal;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> </span><span style="font-variant-ligatures:no-common-ligatures"><b>// avoid infinities/NaN</b></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>if</b></span><span style="font-variant-ligatures:no-common-ligatures"> (number < 0 || number > 0) {</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">                </span><span style="font-variant-ligatures:no-common-ligatures;color:#34bd26">var</span><span style="font-variant-ligatures:no-common-ligatures"> precision = Math.max(0, vz.options.precision - Math.floor(Math.log(Math.abs(number))/Math.</span><span style="font-variant-ligatures:no-common-ligatures;color:#c33720"><b>LN10</b></span><span style="font-variant-ligatures:no-common-ligatures">));</span></div><div style="margin:0px;line-height:normal;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures;color:#000000">                </span><span style="font-variant-ligatures:no-common-ligatures"><b>// apply maximum precision e.g. for °C values</b></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">                </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>if</b></span><span style="font-variant-ligatures:no-common-ligatures"> (vz.options.maxPrecision[unit] !== undefined) {</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">                        precision = Math.min(vz.options.maxPrecision[unit], precision);</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">                }</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">                number = Math.round(number * Math.pow(10, precision)) / Math.pow(10, precision); </span><span style="font-variant-ligatures:no-common-ligatures;color:#5330e1"><b>// rounding</b></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">        }</span></div><div style="margin:0px;line-height:normal;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;line-height:normal;color:rgb(83,48,225)"><span style="font-variant-ligatures:no-common-ligatures;color:#000000">        </span><span style="font-variant-ligatures:no-common-ligatures"><b>// avoid almost zero</b></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>if</b></span><span style="font-variant-ligatures:no-common-ligatures"> (Math.abs(number) < Math.pow(10, -vz.options.precision)) {</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">                number = 0;</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">        }</span></div><div style="margin:0px;line-height:normal;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>if</b></span><span style="font-variant-ligatures:no-common-ligatures"> (prefix)</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">                number += (siIndex > 0) ? </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>' '</b></span><span style="font-variant-ligatures:no-common-ligatures"> + siPrefixes[siIndex-1] : </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>' '</b></span><span style="font-variant-ligatures:no-common-ligatures">;</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>else</b></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">                number += </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>' '</b></span><span style="font-variant-ligatures:no-common-ligatures">;</span></div><div style="margin:0px;line-height:normal;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#afad24"><b>if</b></span><span style="font-variant-ligatures:no-common-ligatures"> (unit) number += unit;</span></div><div style="margin:0px;line-height:normal;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">        </span><span style="font-variant-ligatures:no-common-ligatures;color:#d53bd3">return</span><span style="font-variant-ligatures:no-common-ligatures"> number;</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">};</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">unter avoid infinities ist die Angabe so ähnlich drin, aber eben nicht exakt, deshalb habe ich mich da auch nicht rangetraut, da ich keine Ahnung davon habe und mir nix zerschießen wollte. </span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">Also habe ich jetzt erst mal entschieden das Thema auf Eis zu legen, prinzipiell brauche ich die NAchkommastellen nur einmal im Jahr, und da kann ich jetzt ja die Datenbank abfrage machen, oder ich geh einfach in den Keller und lese die NAckommastellen selber ab.</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">Trotzdem danke für eure Hilfe.</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">Gruß</span></div><div style="margin:0px;line-height:normal"><span style="font-variant-ligatures:no-common-ligatures">Tobias</span></div><div style="margin:0px;line-height:normal;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div></div></div><div><blockquote type="cite"><div>Am 29.03.2020 um 19:50 schrieb Frank Richter <<a href="mailto:frank.richter83@gmail.com" rel="noreferrer noreferrer" target="_blank">frank.richter83@gmail.com</a>>:</div><br><div><div dir="ltr"><div>Hi Tobias.</div><div><br></div>als unit musst du hier 'W' nehmen, nicht 'kWh'. Aber auch dann ist ein eher unschöner Hack...<div><br></div><div>Da würde ich eher versuchen, die Dezimalstellen zu fixieren und nicht mehr abhängig von der Stellenzahl zu machen. Ersetze mal in der wui.js</div><div><br></div><div>var precision = (Math.abs(si.number) < vz.options.minNumber) ? 0 :<br></div><div>    Math.max(0, vz.options.precision - Math.max(-1, Math.floor(Math.log(Math.abs(si.number))/Math.LN10)));<br></div><div><br></div><div>durch</div><div><br></div><div>var precision = (Math.abs(si.number) < vz.options.minNumber) ? 0 : vz.options.precision;<br></div><div><br></div><div>oder gleich</div><div><br></div><div>  var precision = vz.options.precision;  <br></div><div><br></div><div>Ausprobiert hab ich's nicht, also keine Garantie...</div><div><br></div><div>Grüße</div><div>Frank</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am So., 29. März 2020 um 18:16 Uhr schrieb Tobias Lehr <<a href="mailto:tobias.lehr@me.com" rel="noreferrer noreferrer" target="_blank">tobias.lehr@me.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Die Abfrage hat aber funktioniert, auch wenn die Ausführung 20 sec gedauert hat.<div><br></div><div>Bei der precision bin ich auch nicht weiter, habe diese auf 8 genommen, und für kWh in maxprecsision 2 definiert, hat aber nicht funktioniert, komischerweise haben damit auch Temperaturen mehr nachkommastellen, obwohl das vorher funktioniert hat</div><div><br></div><div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">precision: 8,                                                   </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(83,48,225)"><b>// TODO update from middleware capabilities?</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        maxPrecision:[</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        {                                               </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(83,48,225)"><b>// override precision for certain units</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(175,173,36)"><b>'°C'</b></span><span style="font-variant-ligatures:no-common-ligatures">: 1</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        },{</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">                </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(175,173,36)"><b>'kWh'</b></span><span style="font-variant-ligatures:no-common-ligatures">: 2</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        }</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">        ],</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px">Gruß Tobias</div><div><blockquote type="cite"><div>Am 29.03.2020 um 18:11 schrieb Frank Richter <<a href="mailto:frank.richter83@gmail.com" rel="noreferrer noreferrer" target="_blank">frank.richter83@gmail.com</a>>:</div><br><div><div dir="auto">Die SQL-Abfrage hilft nur bei einem Zählerstand-Kanal. Bei Impulsen müssen sämtliche Impulse aufsummiert werden, um den Gesamtverbrauch zu erhalten.<div dir="auto"><br></div><div dir="auto">Grüße</div><div dir="auto">Frank</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Tobias Lehr <<a href="mailto:tobias.lehr@me.com" rel="noreferrer noreferrer" target="_blank">tobias.lehr@me.com</a>> schrieb am So., 29. März 2020, 18:06:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hm also dann habe ich da falsch herum gedacht. Das hieße ich müsste die precision auf 8 stellen und bei maxPrecision für alle anderen werte dann die entsprechende Zahl vorgeben? Etwas kompliziert. mal testen.<div><br></div><div>Die Datenbankabfrage habe ich jetzt auch hinbekommen, es lag an zwei doppelten Leerzeichen. Hab mir die korrekte Syntax jetzt mal abgespeichert, nur für den Fall.</div><div><br></div><div>Gruß Tobias<br><div><blockquote type="cite"><div>Am 29.03.2020 um 17:43 schrieb <a href="mailto:rgb@nord-com.net" rel="noreferrer noreferrer noreferrer" target="_blank">rgb@nord-com.net</a>:</div><br><div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hmm, bei mir funkioniert es…<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">pi@avz:~:(1)> mysql -uvz -pyourpassword<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Welcome to the MariaDB monitor.  Commands end with ; or \g.<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Your MariaDB connection id is 76<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Server version: 10.3.13-MariaDB-1 Raspbian testing-staging<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">MariaDB [(none)]> SELECT id FROM `volkszaehler`.`entities`<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">    ->  WHERE UUID = 'b12dfd80-111c-11ea-8e1a-c9616b442377' INTO @CHANNEL;<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Query OK, 1 row affected (0.002 sec)<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">MariaDB [(none)]> SELECT channel_id AS Kanal,(SELECT VALUE FROM `volkszaehler`.`properties`<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">    ->   WHERE  `entity_id` = @CHANNEL AND `pkey` = 'title') AS Name,<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">    -> ROUND(sum(VALUE/100)+(SELECT VALUE FROM `volkszaehler`.`properties`<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">    ->   WHERE  `entity_id` = @CHANNEL AND `pkey` = 'initialconsumption'),2) AS Zählerstand<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">    -> FROM `volkszaehler`.`data`<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">    -> WHERE `channel_id` =  @CHANNEL ;<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:"Courier New";color:rgb(31,73,125)">+-------+-------------+--------------+<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:"Courier New";color:rgb(31,73,125)">| Kanal | Name        | Zählerstand  |<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:"Courier New";color:rgb(31,73,125)">+-------+-------------+--------------+<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:"Courier New";color:rgb(31,73,125)">|    10 | Zähler Gas  |      7346.64 |<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:"Courier New";color:rgb(31,73,125)">+-------+-------------+--------------+<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">1 row in set (1.501 sec)<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">MariaDB [(none)]><u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span lang="DE" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></div><div style="border-style:none none none solid;border-left-color:blue;border-left-width:1.5pt;padding:0in 0in 0in 4pt"><div><div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0in 0in"><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><b><span style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span style="font-size:10pt;font-family:Tahoma,sans-serif"><span> </span>volkszaehler-users [<a href="mailto:volkszaehler-users-bounces@demo.volkszaehler.org" rel="noreferrer noreferrer noreferrer" target="_blank">mailto:volkszaehler-users-bounces@demo.volkszaehler.org</a>]<span> </span><b>On Behalf Of<span> </span></b>Tobias Lehr<br><b>Sent:</b><span> </span>Sunday, March 29, 2020 5:34 PM<br><b>To:</b><span> </span><a href="http://volkszaehler.org/" rel="noreferrer noreferrer noreferrer" target="_blank">volkszaehler.org</a> - users<br><b>Subject:</b><span> </span>Re: [vz-users] Gesamtverbrauch Gaszähler mit Nachkommastellen<u></u><u></u></span></div></div></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Vielen Dank für die Anregungen, ABER…<u></u><u></u></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">precision in der options.js habe ich gefunden, aber noch nicht so genau verstanden. Standardmäßig ist precision ja auf 2 eingestellt. Ich habe jetzt aber verschiedene Nachkommastellen. Temperaturen sind alle mit 1 NAchkommastelle, es sei denn diese wäre 0, dann haben sie keine nachkommastellen.<u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Alle Werte mit 3 Stellen, haben gar keine Nachkommastellen. Werte kleiner 1 haben 1, 2 oder  3 Nachkommastellen. <u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Die Werte unter Gesamt sind immer ohne, die haben aber auch 5 oder 6 Stellen.<u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">ich habe jetzt precision auf 8 hochgenommen, weil mein Gaszähler 5 Stellen vor dem Komma hat. Das funktioniert, dann hat der Gaszähler gesamt 3 Nachkommastellen, allerdings sehr unschön daran, Werte mit nur einer Stelle vor dem Komma haben dann plötzlich 7 NAchkommastellen.<u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Also habe ich versucht eine Ausnahme einzufügen wie bei der für °C, das funktioniert aber nicht, ich vermute es liegt an der hochgestellten 3 in m3.<u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div></div><div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">maxPrecision:[<u></u><u></u></span></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">        {                                              <span> </span><b><span style="color:rgb(83,48,225)">// override precision for certain units</span></b><u></u><u></u></span></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">               <span> </span><b><span style="color:rgb(175,173,36)">'°C'</span></b>: 1<u></u><u></u></span></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">        },{<u></u><u></u></span></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">               <span> </span><b><span style="color:rgb(175,173,36)">'m³'</span></b>: 8<u></u><u></u></span></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">        }<u></u><u></u></span></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">        ],<u></u><u></u></span></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><br><br><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">so habe ich versucht es zu erweitern. die hochgestellt 3 habe ich mir einfach reinkopiert. Aber auch die Angabe m3 oder m^3 funktionieren nicht.<u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><br><br><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><br><br><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Zu der SQL Abfrage, ich würde zwar gerne den Wert fest im Frontend angezeigt bekommen aber so eine Abfrage kann ja hilfreich oder zumindest lehrreich sein. Ich muss dazu sagen ich bin absoluter Laie was SQL angeht.<u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><br><br><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Wo muss ich die absetzen? In mysql direkt? phpmyAdmin habe ich nicht installiert. Habe ich probiert, aber bekomme einen Fehler wenn ich folgendes eingebe, also per copy&paste.<u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><br><br><u></u><u></u></div></div><div><blockquote style="margin-top:5pt;margin-bottom:5pt" type="cite"><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">SELECT id FROM `volkszaehler`.`entities` <br> WHERE UUID = 'b12dfd80-111c-11ea-8e1a-c9616b442377' INTO @CHANNEL;<u></u><u></u></div></blockquote><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><br><br><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Der Fehler lautet: <span style="font-size:8.5pt;font-family:Menlo,serif">ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UUID = '01e03ee0-3241-11e9-991f-856a034c5015' INTO @CHANNEL' at line 2</span><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">ich habe selbstverständlich die UUID auf die meines Gaszählers geändert.</span><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><span style="font-size:8.5pt;font-family:Menlo,serif">Gruß Tobias</span><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><br><br><u></u><u></u></div></div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><br><br><u></u><u></u></div></div><div><blockquote style="margin-top:5pt;margin-bottom:5pt" type="cite"><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Am 29.03.2020 um 16:23 schrieb<span> </span><a href="mailto:rgb@nord-com.net" style="color:purple;text-decoration:underline" rel="noreferrer noreferrer noreferrer" target="_blank">rgb@nord-com.net</a>:<u></u><u></u></div></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif"><u></u> <u></u></div><div><div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">Hallo,<br><br>Folgende SQL-Abfrage könnte als Vorlage für die Berechnung des genauen Verbrauches dienen... müsstest Du für Deine Gegebenheiten entsprechend anpassen...<br><br>SELECT id FROM `volkszaehler`.`entities`<span> </span><br> WHERE UUID = 'b12dfd80-111c-11ea-8e1a-c9616b442377' INTO @CHANNEL;<br><br>SELECT channel_id AS Kanal,(SELECT VALUE FROM `volkszaehler`.`properties`<span> </span><br>  WHERE  `entity_id` = @CHANNEL AND `pkey` = 'title') AS Name,<br><span>         <span> </span></span>ROUND(sum(VALUE/100)+(SELECT VALUE FROM `volkszaehler`.`properties`<span> </span><br>  WHERE  `entity_id` = @CHANNEL AND `pkey` = 'initialconsumption'),2) AS Zählerstand<br>FROM `volkszaehler`.`data`<span> </span><br>WHERE `channel_id` =  @CHANNEL ;<br><br>Gruss,<br>Alex<br><br><br><u></u><u></u></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:"Times New Roman",serif">-----Original Message-----<br>From: volkszaehler-users [mailto:<a href="mailto:volkszaehler-users-" rel="noreferrer noreferrer noreferrer" target="_blank">volkszaehler-users-</a><br><a href="mailto:bounces@demo.volkszaehler.org" style="color:purple;text-decoration:underline" rel="noreferrer noreferrer noreferrer" target="_blank">bounces@demo.volkszaehler.org</a>] On Behalf Of Tobias Lehr<br>Sent: Sunday, March 29, 2020 3:25 PM<br>To: volkszaehler-users<br>Subject: [vz-users] Gesamtverbrauch Gaszähler mit Nachkommastellen<br><br>Hallo,<br><br>ich logge meinen Gasverbrauch per S0 in den Volkszaehler. Die Werte für<br>min., max., aktuell und Verbrauch werden mit Nachkommastellen<br>angezeigt. Der Gesamtverbrauch wird aber nur mit ganzer Zahl angezeigt.<br>Mein Gaszähler hat aber 3 Nachkommastellen und mein Gasversorger<br>möchte den Zählerstand mit Nachkommastellen angegeben haben. Und da<br>ich gerade den Zählerstand für die Abrechnung angeben musste, wollte ich<br>wissen ob man den Gesamtverbrauch, der ja der Zählerstand ist, auch mit<br>Nachkommastellen anzeigen lassen kann. Ich habe da was in Erinnerung das<br>es eventuell durch Änderung der options.js Datei gehen könnte. Aber ich<br>habe leider überhaupt keine Idee wie. Liege ich da richtig? Und könnte mir<br>da jemand Unterstützung geben.<br><br>Gruß Tobias</div></div></div></blockquote></div></div></div></div></div></blockquote></div><br></div></div></blockquote></div>
</div></blockquote></div><br></div></div></blockquote></div>
</div></blockquote></div><br></div></div></blockquote></div>