Hauptmenü

userReadings

Begonnen von heinzfo, 01 August 2017, 12:19:17

Vorheriges Thema - Nächstes Thema

heinzfo

Hallo

Für einen HM Schalter und Verbrauchsmesser Hutschiene habe ich ein userReadings MeanPower erstellt.
Das Reading wird erzeugt und mit den Richtigen Werten gefüllt.

defmod Waschen_Pwr CUL_HM 44B20002
attr Waschen_Pwr event-aggregator MeanPower:300:linear:mean
attr Waschen_Pwr event-on-change-reading .*
attr Waschen_Pwr model HM-ES-PMSw1-DR
attr Waschen_Pwr userReadings onoff {(ReadingsVal("Waschen_Pwr","power",0) > 3)?1:0;;},\
MeanPower {ReadingsVal("Waschen_Pwr","power","")}

setstate Waschen_Pwr 995.6
setstate Waschen_Pwr 2017-08-01 12:15:49 MeanPower 0.73
setstate Waschen_Pwr 2017-08-01 12:15:49 boot off
setstate Waschen_Pwr 2017-08-01 12:15:49 current 22
setstate Waschen_Pwr 2017-08-01 12:15:49 eState E: 995.6 P: 0.73 I: 22 U: 230.9 f: 49.97
setstate Waschen_Pwr 2017-08-01 12:15:49 energy 995.6
setstate Waschen_Pwr 2017-08-01 12:15:49 energyCalc 1273.4
setstate Waschen_Pwr 2017-07-28 16:26:51 energyOffset 277.8
setstate Waschen_Pwr 2017-08-01 12:15:49 frequency 49.97
setstate Waschen_Pwr 2017-08-01 12:15:49 onoff 0
setstate Waschen_Pwr 2017-08-01 12:15:49 power 0.73
setstate Waschen_Pwr 2017-08-01 12:15:49 statEnergyCalc Hour: 8.0 Day: 249.2 Month: 249.2 Year: 249.2 (since: 2017-08-01_00:02:34 )
setstate Waschen_Pwr 2017-08-01 12:15:49 statEnergyCalcDay 249.2
setstate Waschen_Pwr 2017-08-01 00:00:03 statEnergyCalcDayLast 0.0
setstate Waschen_Pwr 2017-08-01 11:59:58 statEnergyCalcLast Hour: 234.4 Day: 0.0 Month: 0.0 Year: -
setstate Waschen_Pwr 2017-08-01 12:15:49 state 995.6
setstate Waschen_Pwr 2017-08-01 12:15:49 voltage 230.9


Das userReadings wird in einem notify verwendet und speist ein dummy device.
Waschen_Pwr:MeanPower.* {
my $powerwaschen = ReadingsNum("Waschen_Pwr","MeanPower","");
fhem ("set WaschenWatt $powerwaschen")}



defmod WaschenWatt dummy
attr WaschenWatt icon scene_washing_machine
attr WaschenWatt room Waschen

setstate WaschenWatt 0.73
setstate WaschenWatt 2017-08-01 12:08:32 state 0.73


Im dummy sehe ich nicht die Werte vom userReadings MeanPower sonder immer nur die vom Readings power.
Ich vergleiche das mit dem Logfile.

Was mache ich falsch?

Beste Grüße
Heinz

CoolTux


setstate Waschen_Pwr 2017-08-01 12:15:49 MeanPower 0.73
setstate Waschen_Pwr 2017-08-01 12:15:49 power 0.73


Ist doch richtig, beide Werte sind gleich.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

DeeSPe

Zitat von: CoolTux am 01 August 2017, 12:31:33

setstate Waschen_Pwr 2017-08-01 12:15:49 MeanPower 0.73
setstate Waschen_Pwr 2017-08-01 12:15:49 power 0.73


Ist doch richtig, beide Werte sind gleich.

Eben, weil MeanPower ja nicht berechnet wird sondern einfach der Wert (ReadingsVal) von power übernommen wird.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

heinzfo

#3
Durch das attr...
attr Waschen_Pwr event-aggregator MeanPower:300:linear:mean
...ist es ein anderer Wert.

Ich habe weiter beobachtet und gesehen das der dummy jetzt auch mal den Wert vom MeanPower angezeigt hat der deutlich unterschiedlich zu power war.
Der dummy nimmt beide Readings auf MeanPower und power  :o

Zu sehen ist auch, der Wert MeanPower ist im dummy aber noch nicht im FileLog.
Evtl. kann mir das jemand erklären!?

Grüße
Heinz

DeeSPe

Ich würde bei userReadings immer auch den Trigger setzen, das schont das System.
Bei "event-on-change-reading .*" würden Rudi jetzt wieder die Nackenhaare abstehen. Ich würde da, nach Rudis eigentlichem Gedanken, nur die Readings eintragen die wirklich relevant sind.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

heinzfo

#5
Ja ok.

power müsste aber auch dabei sein, nehme ich für SVG und das Anzeigen der power als ReadingsVal.

Aber könnte ich dafür nicht eState verwenden?
Nur wie bekomme ich aus der Zeile den power Wert raus?
ReadingsVal("Waschen_Pwr","eState","") Hilfe wie gehts weiter?

dann könnte ich power weg lassen.

Was ich aber eigentlich sagen will, userReadings wird in diesem Fall nicht richtig im notify angewendet!

Grüße

DeeSPe

Zitat von: heinzfo am 01 August 2017, 12:49:09
Aber könnte ich dafür nicht eState verwenden?
Nur wie bekomme ich aus der Zeile den power Wert raus?
ReadingsVal("Waschen_Pwr","eState","") Hilfe wie gehts weiter?

dann könnte ich power weg lassen.

Klar könntest Du! Ich könnte Dir auch zeigen wie es geht, aber wozu? Wenn die Einzelwerte in eigenen Readings vorliegen?
Setzte z.B.
attr Waschen_Pwr userReadings onoff:power.* {(ReadingsVal($NAME,"power",0) > 3)?1:0},\
MeanPower:power.* {ReadingsVal($NAME,"power","")}
attr Waschen_Pwr event-on-change-reading power,onoff,MeanPower,"und weitere Event-relevante Readings"


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

heinzfo

#7
Wieso ist das eigentlich so ein Thema mit event-on-change-reading .* ?
Wegen FileLog größe?

Mit eState wäre es dann kleiner bzw. hätte weniger Zeilen.

rudolfkoenig

Ich habe einmal event-on-change-reading mit event-on-update-reading verwechselt und (etwas sinnlos) gegen "event-on-change-reading .*" gewettert. "event-on-change-reading .*" gefaellt mir trotzdem nicht wirklich, weil damit irgendwelche Plots komisch gemalt werden, und man nicht so recht weiss, wielange ein Wert gesetzt war, bevor es sich geaendert hat. Und eine Fehlermeldung in Kombination mit event-min-intervall verursacht mir regelmaessig Kopfschmerzen :)

heinzfo

Danke für die ehrlich Antwort :-)

Aber kann es in meinem Fall jetz doch sein, das der dummy power und MeanPower verpasst bekommt?

heinzfo

#10
Hallo DeeSPe

Zitatattr Waschen_Pwr userReadings onoff:power.* {(ReadingsVal($NAME,"power",0) > 3)?1:0},\
MeanPower:power.* {ReadingsVal($NAME,"power","")}
attr Waschen_Pwr event-on-change-reading power,onoff,MeanPower,"und weitere Event-relevante Readings"

Ich bin jetzt Deinem Beispiel gefolgt und beobachte das weiter.

$NAME ist eine Gute Idee, ich mache das viel zu wenig, weil ich immer unsicher bin was dann passiert  >:(

Danke ;)

Beste Grüße
Heinz

heinzfo

Hallo DeeSPe

Mit :power.* werden die userReadings leider nicht aktualisiert, ohne schon, kann das sein?

so gehts

onoff {(ReadingsVal($NAME,"power",0) > 3)?1:0},\
MeanPower {ReadingsVal($NAME,"power","")}


Grüße

heinzfo

#12
Warum sind im reading von stateFormat (setstate) immer nur die Werte von power, im Webinterface ist es unterschiedlich, siehe screen shot?


defmod Waschen_Pwr CUL_HM 44B20002
attr Waschen_Pwr event-aggregator MeanPower:300:linear:mean
attr Waschen_Pwr event-on-update-reading power,onoff,MeanPower,energy,energyCalc,energyOffset,statEnergyCalc,statEnergyCalcDay,statEnergyCalcDayLast,statEnergyCalcLast,state,voltage
attr Waschen_Pwr model HM-ES-PMSw1-DR
attr Waschen_Pwr stateFormat {sprintf("%.3f Wpower - %.3f Wmean",ReadingsVal("Waschen_Pwr","power",0),ReadingsVal("Waschen_Pwr","MeanPower",0))}
attr Waschen_Pwr userReadings onoff {(ReadingsVal($NAME,"power",0) > 3)?1:0},MeanPower {ReadingsVal($NAME,"power","")}

setstate Waschen_Pwr 16.080 Wpower - 16.080 Wmean
setstate Waschen_Pwr 2017-08-01 15:13:12 MeanPower 16.08
setstate Waschen_Pwr 2017-08-01 15:13:12 boot off
setstate Waschen_Pwr 2017-08-01 15:13:12 current 71
setstate Waschen_Pwr 2017-08-01 15:13:12 eState E: 1434.2 P: 16.08 I: 71 U: 232.2 f: 49.99
setstate Waschen_Pwr 2017-08-01 15:13:12 energy 1434.2
setstate Waschen_Pwr 2017-08-01 15:13:12 energyCalc 1712
setstate Waschen_Pwr 2017-07-28 16:26:51 energyOffset 277.8
setstate Waschen_Pwr 2017-08-01 15:13:12 frequency 49.99
setstate Waschen_Pwr 2017-08-01 15:13:12 onoff 1
setstate Waschen_Pwr 2017-08-01 15:13:12 power 16.08
setstate Waschen_Pwr 2017-08-01 15:13:12 statEnergyCalc Hour: 0.2 Day: 687.8 Month: 687.8 Year: 687.8 (since: 2017-08-01_00:02:34 )
setstate Waschen_Pwr 2017-08-01 15:13:12 statEnergyCalcDay 687.8
setstate Waschen_Pwr 2017-08-01 00:00:03 statEnergyCalcDayLast 0.0
setstate Waschen_Pwr 2017-08-01 14:59:58 statEnergyCalcLast Hour: 45.8 Day: 0.0 Month: 0.0 Year: -
setstate Waschen_Pwr 2017-08-01 15:13:12 state 1434.2
setstate Waschen_Pwr 2017-08-01 15:13:12 voltage 232.2