[vz-users] Gesamtverbrauch Gaszähler mit Nachkommastellen

Frank Richter frank.richter83 at gmail.com
So Mär 29 19:50:34 CEST 2020


Hi Tobias.

als unit musst du hier 'W' nehmen, nicht 'kWh'. Aber auch dann ist ein eher
unschöner Hack...

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

var precision = (Math.abs(si.number) < vz.options.minNumber) ? 0 :
    Math.max(0, vz.options.precision - Math.max(-1,
Math.floor(Math.log(Math.abs(si.number))/Math.LN10)));

durch

var precision = (Math.abs(si.number) < vz.options.minNumber) ? 0 :
vz.options.precision;

oder gleich

  var precision = vz.options.precision;

Ausprobiert hab ich's nicht, also keine Garantie...

Grüße
Frank

Am So., 29. März 2020 um 18:16 Uhr schrieb Tobias Lehr <tobias.lehr at me.com>:

> Die Abfrage hat aber funktioniert, auch wenn die Ausführung 20 sec
> gedauert hat.
>
> 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
>
> precision: 8,                                                   *// TODO
> update from middleware capabilities?*
>         maxPrecision:[
>         {                                               *// override
> precision for certain units*
>                 *'°C'*: 1
>         },{
>                 *'kWh'*: 2
>         }
>         ],
>
>
> Gruß Tobias
>
> Am 29.03.2020 um 18:11 schrieb Frank Richter <frank.richter83 at gmail.com>:
>
> Die SQL-Abfrage hilft nur bei einem Zählerstand-Kanal. Bei Impulsen müssen
> sämtliche Impulse aufsummiert werden, um den Gesamtverbrauch zu erhalten.
>
> Grüße
> Frank
>
> Tobias Lehr <tobias.lehr at me.com> schrieb am So., 29. März 2020, 18:06:
>
>> 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.
>>
>> 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.
>>
>> Gruß Tobias
>>
>> Am 29.03.2020 um 17:43 schrieb rgb at nord-com.net:
>>
>> Hmm, bei mir funkioniert es…
>>
>> pi at avz:~:(1)> mysql -uvz -pyourpassword
>> Welcome to the MariaDB monitor.  Commands end with ; or \g.
>> Your MariaDB connection id is 76
>> Server version: 10.3.13-MariaDB-1 Raspbian testing-staging
>>
>> Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
>>
>> Type 'help;' or '\h' for help. Type '\c' to clear the current input
>> statement.
>>
>> MariaDB [(none)]> SELECT id FROM `volkszaehler`.`entities`
>>     ->  WHERE UUID = 'b12dfd80-111c-11ea-8e1a-c9616b442377' INTO @CHANNEL;
>> Query OK, 1 row affected (0.002 sec)
>>
>> MariaDB [(none)]> SELECT channel_id AS Kanal,(SELECT VALUE FROM
>> `volkszaehler`.`properties`
>>     ->   WHERE  `entity_id` = @CHANNEL AND `pkey` = 'title') AS Name,
>>     -> ROUND(sum(VALUE/100)+(SELECT VALUE FROM `volkszaehler`.`properties`
>>     ->   WHERE  `entity_id` = @CHANNEL AND `pkey` =
>> 'initialconsumption'),2) AS Zählerstand
>>     -> FROM `volkszaehler`.`data`
>>     -> WHERE `channel_id` =  @CHANNEL ;
>> +-------+-------------+--------------+
>> | Kanal | Name        | Zählerstand  |
>> +-------+-------------+--------------+
>> |    10 | Zähler Gas  |      7346.64 |
>> +-------+-------------+--------------+
>> 1 row in set (1.501 sec)
>>
>> MariaDB [(none)]>
>>
>> *From:* volkszaehler-users [
>> mailto:volkszaehler-users-bounces at demo.volkszaehler.org
>> <volkszaehler-users-bounces at demo.volkszaehler.org>] *On Behalf Of *Tobias
>> Lehr
>> *Sent:* Sunday, March 29, 2020 5:34 PM
>> *To:* volkszaehler.org - users
>> *Subject:* Re: [vz-users] Gesamtverbrauch Gaszähler mit Nachkommastellen
>>
>> Vielen Dank für die Anregungen, ABER…
>>
>> 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.
>>
>> Alle Werte mit 3 Stellen, haben gar keine Nachkommastellen. Werte kleiner
>> 1 haben 1, 2 oder  3 Nachkommastellen.
>>
>> Die Werte unter Gesamt sind immer ohne, die haben aber auch 5 oder 6
>> Stellen.
>>
>> 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.
>>
>> 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.
>>
>> maxPrecision:[
>>         {                                               *// override
>> precision for certain units*
>>                 *'°C'*: 1
>>         },{
>>                 *'m³'*: 8
>>         }
>>         ],
>>
>>
>> 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.
>>
>>
>>
>>
>> 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.
>>
>>
>> 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.
>>
>>
>> SELECT id FROM `volkszaehler`.`entities`
>>  WHERE UUID = 'b12dfd80-111c-11ea-8e1a-c9616b442377' INTO @CHANNEL;
>>
>>
>>
>> Der Fehler lautet: 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
>>
>> ich habe selbstverständlich die UUID auf die meines Gaszählers geändert.
>>
>> Gruß Tobias
>>
>>
>>
>>
>> Am 29.03.2020 um 16:23 schrieb rgb at nord-com.net:
>>
>> Hallo,
>>
>> Folgende SQL-Abfrage könnte als Vorlage für die Berechnung des genauen
>> Verbrauches dienen... müsstest Du für Deine Gegebenheiten entsprechend
>> anpassen...
>>
>> SELECT id FROM `volkszaehler`.`entities`
>>  WHERE UUID = 'b12dfd80-111c-11ea-8e1a-c9616b442377' INTO @CHANNEL;
>>
>> SELECT channel_id AS Kanal,(SELECT VALUE FROM `volkszaehler`.`properties`
>>
>>   WHERE  `entity_id` = @CHANNEL AND `pkey` = 'title') AS Name,
>>           ROUND(sum(VALUE/100)+(SELECT VALUE FROM
>> `volkszaehler`.`properties`
>>   WHERE  `entity_id` = @CHANNEL AND `pkey` = 'initialconsumption'),2) AS
>> Zählerstand
>> FROM `volkszaehler`.`data`
>> WHERE `channel_id` =  @CHANNEL ;
>>
>> Gruss,
>> Alex
>>
>>
>> -----Original Message-----
>> From: volkszaehler-users [mailto:volkszaehler-users-
>> bounces at demo.volkszaehler.org] On Behalf Of Tobias Lehr
>> Sent: Sunday, March 29, 2020 3:25 PM
>> To: volkszaehler-users
>> Subject: [vz-users] Gesamtverbrauch Gaszähler mit Nachkommastellen
>>
>> Hallo,
>>
>> ich logge meinen Gasverbrauch per S0 in den Volkszaehler. Die Werte für
>> min., max., aktuell und Verbrauch werden mit Nachkommastellen
>> angezeigt. Der Gesamtverbrauch wird aber nur mit ganzer Zahl angezeigt.
>> Mein Gaszähler hat aber 3 Nachkommastellen und mein Gasversorger
>> möchte den Zählerstand mit Nachkommastellen angegeben haben. Und da
>> ich gerade den Zählerstand für die Abrechnung angeben musste, wollte ich
>> wissen ob man den Gesamtverbrauch, der ja der Zählerstand ist, auch mit
>> Nachkommastellen anzeigen lassen kann. Ich habe da was in Erinnerung das
>> es eventuell durch Änderung der options.js Datei gehen könnte. Aber ich
>> habe leider überhaupt keine Idee wie. Liege ich da richtig? Und könnte mir
>> da jemand Unterstützung geben.
>>
>> Gruß Tobias
>>
>>
>>
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20200329/bf5d7df6/attachment-0001.html>


More information about the volkszaehler-users mailing list