Die einzelnen Plots von DECT_16 und DECT_17 sind korrekt.
Der DECT_Gesamt Plot summiert jedoch nicht auf.
Gibt es da eine Lösung?
2013-11-02_08:43:16 FBDECT_17 power: 30.61 W
2013-11-02_08:43:29 FBDECT_16 power: 93.05 W
2013-11-02_08:46:16 FBDECT_17 power: 30.75 W
2013-11-02_08:46:29 FBDECT_16 power: 91.91 W
2013-11-02_08:48:16 FBDECT_17 power: 0.00 W
2013-11-02_08:49:16 FBDECT_17 power: 0.00 W
2013-11-02_08:49:29 FBDECT_16 power: 91.26 W
define FileLog_FBDECT_16 FileLog ./log/FBDECT_16-%Y.log FBDECT_16:power\x3a.*
attr FileLog_FBDECT_16 logtype power4:Power,text
attr FileLog_FBDECT_16 room hidden
define SVG_FBDECT_16 SVG FileLog_FBDECT_16:power4:CURRENT
attr SVG_FBDECT_16 label "FBDECT_16 Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_FBDECT_16 room Plots
define FileLog_FBDECT_17 FileLog ./log/FBDECT_17-%Y.log FBDECT_17:power\x3a.*
attr FileLog_FBDECT_17 logtype power4:Power,text
attr FileLog_FBDECT_17 room hidden
define SVG_FBDECT_17 SVG FileLog_FBDECT_17:power4:CURRENT
attr SVG_FBDECT_17 label "FBDECT_17 Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_FBDECT_17 room Plots
define FileLog_FBDECT_Gesamt FileLog ./log/FBDECT_Gesamt-%Y.log FBDECT_16:power\x3a.*|FBDECT_17:power\x3a.*
attr FileLog_FBDECT_Gesamt logtype power4:Power,text
attr FileLog_FBDECT_Gesamt room hidden
define SVG_FBDECT_Gesamt SVG FileLog_FBDECT_Gesamt:power4:CURRENT
attr SVG_FBDECT_Gesamt label "FBDECT_Gesamt Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_FBDECT_Gesamt room Plots
> Der DECT_Gesamt Plot summiert jedoch nicht auf.
Darueber bin ich froh, sonst muesste ich was fixen.
> Gibt es da eine Lösung?
Mir ist kein Kochrezept bekannt.
Mit notify/trigger/perl sollte es mit ein wenig Arbeit machbar sein.
Hallo,
damit
Zitatdefine FileLog_FBDECT_Gesamt FileLog ./log/FBDECT_Gesamt-%Y.log FBDECT_16:power\x3a.*|FBDECT_17:power\x3a.*
schreibst du dir die beiden Werte ja nur getrennt in das FBDECT_Gesamt-2013.log
ZitatFBDECT_16:power\x3a.*|FBDECT_17:power\x3a.*
| bedeutet ODER
d.h. sobald FBDECT_16:power ODER FBDECT_17:power einen Wert liefert wandert der
a) in das jeweilige eigene Logfile UND
b) in das Gesamt-Logfile - aber getrennt und nicht summiert.
Wie soll es auch - die Werte werden ja nicht automatisch zusammen gezählt.
Das musst du schon selbst machen und das Ergebniss in das Gesamt-Logfile schreiben.
Wie Rudi schon geschrieben hat würde sich dafür ein notify anbieten.
Grüße
Ich habe mal einen virtuellen Stromzaehler definiert:
define Stromzaehler dummy
attr Stromzaehler alias Stromzähler
attr Stromzaehler comment Virtueller Stromzähler
attr Stromzaehler devStateIcon .*:toggle
attr Stromzaehler fp_0_Uebersicht 480,685,0
attr Stromzaehler group Verbrauch
attr Stromzaehler icon measure_power
attr Stromzaehler room Stromzähler
attr Stromzaehler userReadings 0_WerkstattUSVServer { Get_USV_Status("power") }, 1_WohnenSteckdoseFernsehschrank { ReadingsVal("FBDECT_16","power",0);; }, 0_HeizungsraumSteckdoseWarmwasserzirkulationspumpe { ReadingsVal("FBDECT_17","power",0);; }, 3_BueroSteckdoseSchreibtisch { ReadingsVal("FBDECT_18","power",0);; }, 3_BueroSteckdoseDrucker { ReadingsVal("FBDECT_19","power",0);; }, 3_BueroSteckdoseStereoanlage { ReadingsVal("FBDECT_20","power",0);; }, 2_SchlafenSteckdoseFernseher { ReadingsVal("FBDECT_21","power",0);; }, Gesamt { ReadingsVal("Stromzaehler","0_WerkstattUSVServer",0)+("Stromzaehler","1_WohnenSteckdoseFernsehschrank",0);; }
define n_StromzaehlerStatus notify (5min_check|global:INITIALIZED) {\
fhem "set Stromzaehler on";;\
}
attr n_StromzaehlerStatus room System
Im userReading Gesamt möchte ich die Summe der anderen userReadings abbilden:
Gesamt { ReadingsVal("Stromzaehler","0_WerkstattUSVServer",0)+("Stromzaehler","1_WohnenSteckdoseFernsehschrank",0);; }
Klappt aber nicht, da die Maßeinheit W Inhalt des ReadingsVal Outputs ist:
Readings
0_HeizungsraumSteckdoseWarmwasserzirkulationspumpe 0.00 W
0_WerkstattUSVServer 122.38 W
1_WohnenSteckdoseFernsehschrank 4.22 W
Gesamt 122.38
Gibt es in FHEM intergrierte Maßeinheit Funktionen/Features oder muß ich das über Perl selbst extrahieren?
ich habe das wie folgt realisiert:
Internals:
NAME Stromzaehler
NR 149
STATE off
TYPE dummy
Readings:
2013-11-24 18:19:21 GESAMT 135.75
2013-11-24 18:19:21 P1 30.61
2013-11-24 18:19:21 P2 36.12
2013-11-24 18:19:21 P3 69.02
2013-11-24 18:19:21 state off
Attributes:
userReadings P1 { 1*ReadingsVal("FBDECT_EDV","power",0); }, P2 { 1*ReadingsVal("FBDECT_WZ_EDV","power",0); }, P3 { 1*ReadingsVal("FBDECT_WZ_Hifi","power",0); },GESAMT { ReadingsVal("Stromzaehler","P1",0)+ReadingsVal("Stromzaehler","P2",0)+ReadingsVal("Stromzaehler","P3",0); }
Multipliziere die Readings einfach mit 1, Perl macht dann einen numerischen Wert daraus
Etwas unkonventionell, ich meine die Funktion int() ist fuer sowas eigentlich vorgesehen.