Hallo zusammen,
ich will mit einem userreading den Verbrauch in Liter pro Stunde ausrechnen.
Das Reading volume enthält den aktuellen Zählerstand in m^3 und wird bei jedem vollen Kubikmeter getriggert.
consumption:volume.* differential { ReadingsVal ("wasserzaehler", "volume", 0) * 3600 * 1000}
Die Berechnung hat 2 Mal funktioniert. Aber seitdem ändert sich der consumption Wert nicht mehr, obwohl der Zähler mittlerweile schon 2 Mal erhöht wurde.
Woran kann das denn liegen?
Grüße
Leo
Die Unterschiede der Erhöhungen sind vielleicht gleich.
Die Erhöhungen sind tatsächlich immer genau um 1, da mein Zähler nur ganzzahlige Kubikmeter liefert. Aber trotzdem müsste er doch das Userreading berechnen.
Du hast geschrieben
ZitatAber seitdem ändert sich der consumption Wert nicht mehr
Wenn die Erhöhungen gleich sind, ändert sich der Differenzenquotient nicht, also bleibt das Reading unverändert.
Ich dachte, da spielt auch der zeitliche Abstand zwischen den Erhöhungen eine Rolle. Und der ist jedesmal anders.
Hier mal die bisherigen Werte:
2016-05-09_20:40:09 525
2016-05-11_07:19:33 526
2016-05-12_09:34:31 0
2016-05-14_16:34:27 527
2016-05-16_13:34:24 528
2016-05-19_07:34:19 529
2016-05-21_21:34:15 16.1293469690799
2016-05-21_21:34:15 530
2016-05-25_08:19:09 12.0848325652778
2016-05-25_08:19:09 531
2016-05-28_16:34:03 532
2016-05-31_22:03:58 533
2016-06-07_07:33:47 535
2016-06-10_08:18:41 536
2016-06-12_14:33:37 18.4335505536086
2016-06-12_14:33:37 537
Die Werte <20 sind die berechnete consumption. Die Werte >500 sind die volume Readings.
Wie man sieht, wird die consumption nur manchmal berechnet.
Es ist leicht daneben, aus einem ganzen Kubikmeter (=1000 l) den Verbrauch in l/h zu berechnen - dazu braucht man einen Sensor, der mindestens pro 10 l, besser noch pro l einen Impuls liefert.
LG
pah
Kannst du bitte kurz ausführen, wieso? Ich kann die Formel auch in Kubikmeter pro Woche umschreiben. Das wird aber vermutlich auch nichts ändern.
Ich will das Userreading eigentlich nur dazu nutzen, um einen Rohrbruch zu erkennen: Verbrauch größer als 500l/h => Alarm.
Zitat von: limats am 13 Juni 2016, 22:07:41
Ich dachte, da spielt auch der zeitliche Abstand zwischen den Erhöhungen eine Rolle. Und der ist jedesmal anders.
Hier mal die bisherigen Werte:
2016-05-09_20:40:09 525
2016-05-11_07:19:33 526
2016-05-12_09:34:31 0
2016-05-14_16:34:27 527
2016-05-16_13:34:24 528
2016-05-19_07:34:19 529
2016-05-21_21:34:15 16.1293469690799
2016-05-21_21:34:15 530
2016-05-25_08:19:09 12.0848325652778
2016-05-25_08:19:09 531
2016-05-28_16:34:03 532
2016-05-31_22:03:58 533
2016-06-07_07:33:47 535
2016-06-10_08:18:41 536
2016-06-12_14:33:37 18.4335505536086
2016-06-12_14:33:37 537
Die Werte <20 sind die berechnete consumption. Die Werte >500 sind die volume Readings.
Wie man sieht, wird die consumption nur manchmal berechnet.
ZitatUnd der ist jedesmal anders
Ja, das ist eine neue Information, ich bin davon ausgegangen, dass in gleichen Zeitabständen Werte geliefert werden.
Hast Du irgendwelche beschränkenden Attribute gesetzt? Poste mal ein Listing des "wasserzaehler".
Hab sonst keine Besonderheiten konfiguriert.
Kann es sein, dass das Ganze mit dem Durchstarten von Fhem zusammenhängt? Also dass der Wert nur berechnet wird, wenn Fhem zwischen 2 Änderungen nicht durch gestartet wird?
Eigentlich nicht, denn beim shutdown restart von FHEM wird der volume-Wert gespeichert und wiederhergestellt. Insofern müsste differential gleich beim nächsten volume-Wert berechnet werden können. Um sicher zu gehen müsstest Du es mal ausprobieren.