Bei Events den vorherigen Zustand bekommen

Begonnen von vbs, 23 März 2014, 13:02:04

Vorheriges Thema - Nächstes Thema

vbs

Normalerweise bekommt man ja mit einem Event den neuen Zustand zB. eines Readings. Zum Beispiel liefert XBMC ein Event "playStatus" mit Werten wie "playing", "stopped", "paused". Ist es aber möglich, den Ursprungszustand zu bekommen? Also wenn zB der Status sich auf "playing" ändert, dann möchte ich wissen, ob er vorher "stopped" oder "paused" war. Kann ja sein, dass man unterschiedlich reagieren möchte, je nach Vorgängerzustand.
Geht sowas?

justme1968

Schau dir mal OldValue an.

je nach device geht es damit.

gruss
  andre


hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

vbs

Ah, interessant, danke! Aber sehe ich das richtig, dass sich das immer nur auf STATE bezieht und dass man keine eigenen Reading-Namen angeben kann?

betateilchen

was Du willst, kannst Du vermutlich über ein userreading lösen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Joachim

#4
Moin vbs,
das kannst du über ein userReading lösen, hier ein Beispiel das ein neues userReading H anlegt, dabei das
alte  userReading H kontrolliert, ob es unter 100 ist, und wenn das so ist, dann das Reading relFeuchte mit einer Gewichtung 4 mal userReading H zu ein mal Reading relFeuchte als neues Reading H schreibt, sonst den Wert vom Reading relFeuchte nach H schreibt
attr OWX_Schlafstube_Feuchte userReadings H {(ReadingsVal("OWX_Schlafstube_Feuchte","H",0) < "100") ? (ReadingsVal("OWX_Schlafstube_Feuchte","relFeuchte",0) + (ReadingsVal("OWX_Schlafstube_Feuchte","H",0) * 4))/5: ReadingsVal("OWX_Schlafstube_Feuchte","relFeuchte",0)}

Gruß Jaoachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

vbs

Super. Danke euch! Werd ich mir anschauen, aber ich denke, dass bekomme ich hin.

Olaf A

#6
Hallo vbs,

Joachim hat da den Teile wech gelassen wo aus dem ¨H¨die relFeuchte wird.


,relFeuchte { int ( 10 * ReadingsVal("OWX_Schlafstube_Feuchte","H",0) + 0.5 ) / 10 }


Dieser Teile kommt hiner dem ersten Teile von Joachim in das userReading.
Gruß

Olaf

P.S. Schaue doch hier mal auf Seite 2  http://forum.fhem.de/index.php/topic,21458.15.html
FHEM auf CubieTruck:
Max mit Cube, HMLAN; MAX-Thermostaten; Homematic-Komponenten, SIS PM Schalter, JeeLink.