FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: bgewehr am 02 Juli 2016, 13:47:30

Titel: event-aggregator für die Verbrauchszählung
Beitrag von: bgewehr am 02 Juli 2016, 13:47:30
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?
Titel: Antw:event-aggregator für die Verbrauchszählung
Beitrag von: bgewehr am 03 Juli 2016, 14:17:32
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!