Hi Leute,
ich finde meinen Fehler nicht. Ist sicher ein einfacher Fehler. Ich habe auf KNX einen Aktor, der Milli-Ampere sendet.
Diese Milli-Ampere möchte ich auf einem DUMMY über notify übertragen und mit event-aggregator ausdünnen und entweder auf KilowattStnden umrechnen oder auf den Mittelwert mit Zeitgewichtung. Am schönsten wäre, ich bekäme genau alle 5 Minuten der "richtig" geglätteten Milli-Ampere Wert.
Das KNX-Reading funktioniert, das Notify auch. Sobald ich aber am DUMMY die Zeile event-aggregator hinzufüge, bekomme ich keine Werte mehr.
Das KNX-Device
define Technik.TV_mA KNX 4/1/10:dpt7.001
attr Technik.TV_mA DbLogExclude .*
attr Technik.TV_mA DbLogInclude getG1
attr Technik.TV_mA IODev KNX
attr Technik.TV_mA room Stromverbrauch,KNX-Def
attr Technik.TV_mA webCmd :
Das NOTIFY
define Technik.TV_mA4_nf notify Technik.TV_mA:getG1:.* setreading Technik.TV4 mA {(ReadingsVal("Technik.TV_mA", "getG1", ""))}
attr Technik.TV_mA4_nf DbLogExclude .*
attr Technik.TV_mA4_nf room System
Das DUMMY Device
define Technik.TV4 dummy
attr Technik.TV4 event-aggregator mA:300:linear:mean:
attr Technik.TV4 room Stromverbrauch
Wenn ich die Zeile mit "event-aggregator" lösche, wird bei jedem neuen Verbrauch auch das Reading am DUMMY geändert.
Sobald ich die Zeile mit "event-aggregator" einfüge, bekomme ich keine Werte mehr.
Was mache ich falsch?
Bitte um Hilfe!
Beste Grüße,
Gero
Bin ich so weit weg von einer Lösung, dass mir wirklich keiner helfen kann?
Bitte um Hilfe!
Ich lese und lese und probiere, aber alles ohne Erfolg!
Ich habe keine Erfahrung mit event-aggregator, aber wenn ich die Doku richtig verstehe, werden events ignoriert, bis die "blackout-period" vorbei ist, dann wird ein Durschnitt errechnet. Bist du vielleicht zu ungeduldig?
Vielen Dank KernSani!
Die blackout-period ist 300 Sekunden, also 5 Minuten. Ich habe sicher immer 15 Minuten abgewartet.
Beste Grüße,
Gero
Ich bin für event-aggregator zu dumm.
Ich schaffe es, dass für eine Stunde Werte kommen. Aber nach einer Stunde der event-aggregator aufhört, zu funktionieren.
Ich gebe es auf.
Schade, dass es wenig Hilfe gibt.
Meine letzte Definition, die für einige Zeit Werte brachte (keine Ahnung, ob die richtigen):
Internals:
NAME Technik.TV3
NR 391
STATE 1572
TYPE dummy
Helper:
DBLOG:
mA-m:
DbLog:
TIME 1514562628.14852
VALUE 1259.5
state:
DbLog:
TIME 1514563698.37351
VALUE 1572
READINGS:
2017-12-29 17:08:18 mA-m 1572
2017-12-29 17:08:18 state 1572
Attributes:
event-aggregator mA-m:300:linear:mean:
room Stromverbrauch
userReadings mA-m {ReadingsVal($name,"state",0)}
Beste Grüße,
Gero
Falls es Dich tröstet: Du bist nicht der Einzige.
Ich wollte auch nur lediglich den Durchschnittswert der letzten 60 Sekunden erhalten.
Komischerweise bekomme ich immer unter 60 Sekunden schon Readings, egal ob ich es so..
luminosity:60:linear:mean
..so..
luminosity:60:linear:mean:60
..so..
luminosity:0:linear:mean:60
..oder so mache.
Falls ein Experte mitlesen sollte: Wie beschneidet man denn diese nachkommastellenbehafteten Zahlen, so dass man reine Dezimalzahlen erhält? Muss/sollte man da den Weg über userReadings gehen?
Gruß Chris
Problem ist für mich leider (auch) noch immer nicht gelöst, da damals keine Antwort.
Gruß Chris