FHEM Forum

FHEM => Automatisierung => Thema gestartet von: cruser1800 am 18 Januar 2016, 22:05:16

Titel: UserReading wird doppelt ausgeführt
Beitrag von: cruser1800 am 18 Januar 2016, 22:05:16
Hallo,

ich habe zur Berechnung des Stromverbrauchs beim cubietruck folgende UserReadings definiert.

power_ac_cubie {LeistungCubie()}, power_ac_Volume:power_ac_cubie {ReadingsVal("cubie", "power_ac_cubie", 0) + ReadingsVal("cubie", "power_ac_Volume", 0)}

Gespeichert soll der Verbrauch in power_ac_Volume

Der erste Teil zur Ermittlung des momentanen Stromverbrauchs pro Sekunde funktioniert. Nur beim zweiten Teil tut es nicht das, was ich erwartet habe.

1. das UserReading wird 2 mal ausgeführt! Warum?
2. in der ersten Runde ist der Wert=0 für  ReadingsVal("cubie", "power_ac_Volume", 0) , damit wird der Wert auf den momentanen Stromverbrauch gesetzt. In der zweiten Runde funktioniert es wie erwartet und im Verbrauch wird der wird berechhet als 2 x momentaner Stromverbrauch. Damit wird aber leider der Gesamtverbrauch nicht ermittelt, sonden immer zurück gesetzt!

Warum verhält sich das UserReading so? Und warum ist in der ersten Runde der Wert für ReadingsVal("cubie", "power_ac_Volume", 0) gleich 0?

Danke für die Hilfe oder Hinweis, wo ich es nachlesen kann.

Titel: Antw:UserReading wird doppelt ausgeführt
Beitrag von: rudolfkoenig am 19 Januar 2016, 06:47:10
ReadingsVal liefert 0 zurueck, falls ein Reading nicht definiert ist.
userReadings wird bei jedem Eintreffen eines passenden Events ausgefuehrt.
Ich wuerde mit dem EventMonitor pruefen, weche Events eintreffen.
Titel: Antw:UserReading wird doppelt ausgeführt
Beitrag von: justme1968 am 19 Januar 2016, 08:19:11
noch etwas: die reihenfolge in der user readings abgearbeitet werden ist undefiniert. d.h. auf einander aufbauende user readings funktionieren eigentlich nicht.

du berücksichtigst auch nicht die zeit. schau dir mal den typ differential an.

gruss
  andre
Titel: Antw:UserReading wird doppelt ausgeführt
Beitrag von: cruser1800 am 19 Januar 2016, 12:20:46
Danke,  das mit der Reihenfolge habe ich nicht gewußt!