event-aggregator für die Verbrauchszählung

Begonnen von bgewehr, 02 Juli 2016, 13:47:30

Vorheriges Thema - Nächstes Thema

bgewehr

Ich  versuche den Wasserverbrauch eines Wasseranschlusses in den letzten 60 Minuten per Integral eines Momentanverbrauchs zu ermitteln.

Der Momentanverbrauch kommt per MQTT und hat Werte von z. B. 247 l/h.

Wenn ich nun wie folgt aggregiere, dann erhalte ich merkwürdige Werte:

{
      "list": "MQTT_DEVICE",
      "devices": [
        {
          "DEF": "MQTT_fhem",
          "NAME": "Ventil1_Wasserverbrauch_60m",
          "NOTIFYDEV": "MQTT_fhem",
          "NR": "710",
          "STATE": "31534.0958623255",
          "TYPE": "MQTT_DEVICE",
          "qos": "null",
          "retain": "null",
          "IODev": "MQTT_fhem",
          "ATTR": {
            "IODev": "MQTT_fhem",
            "event-aggregator": "Ventil1_consumption::const:integral:3600",
            "room": "Garten",
            "stateFormat": "Ventil1_consumption",
            "subscribeReading_Ventil1_consumption": "/Garten/Bewässerung/Ventil1"
          },
          "READINGS": [
            {
              "Ventil1_consumption": "31534.0958623255",
              "measured": "2016-07-02 13:28:52"
            },
            {
              "transmission-state": "incoming publish received",
              "measured": "2016-07-02 13:28:52"
            }
          ]


Ich verstehe den Vorgang so, dass alle Werte die über ein Zeitintervall von 3600 Sekunden vom Sensor kommen, auf einer Zeitachse aufgetragen werden und das Integral über die Werte gebildet wird.

Sagen wir mal, der Wert wäre konstant 250 l/h. Wenn also 1 min gesammelt wurde, dann erhalte ich die Fläche unter der Kurve mit Zeitdauer * Wert, richtig? Ich weiß aber nicht, in welcher Einheit die Zeit verwendet wird.

Bei Sekunden würde es ergeben 60s * 250l/h = 60s * 250l/3600s = 4,1l. Das würde ja Sinn ergeben. Kann ich den Korrekturfaktor irgendwie per Attribut einbringen oder muss ich ein notify mit 'ner Rechnung in ein neues Reading schreiben?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

Es wäre meiner Ansicht nach gut, wenn man einen Divisor und einen Faktor angeben könnte, beide mit default = 1 als zwei weitere Parameter am Ende. Dann könnte man sich auf einfache Weise die Messwerte des Sensors auf die Sekundenbasis umrechnen, ohne weiteren Aufwand zu erzeugen durch notifies!
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868