FHEM Forum

FHEM => Automatisierung => Thema gestartet von: vbs am 23 März 2014, 13:02:04

Titel: Bei Events den vorherigen Zustand bekommen
Beitrag von: vbs am 23 März 2014, 13:02:04
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?
Titel: Antw:Bei Events den vorherigen Zustand bekommen
Beitrag von: justme1968 am 23 März 2014, 13:08:28
Schau dir mal OldValue an.

je nach device geht es damit.

gruss
  andre


Titel: Antw:Bei Events den vorherigen Zustand bekommen
Beitrag von: vbs am 23 März 2014, 13:28:03
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?
Titel: Antw:Bei Events den vorherigen Zustand bekommen
Beitrag von: betateilchen am 23 März 2014, 13:41:27
was Du willst, kannst Du vermutlich über ein userreading lösen.
Titel: Antw:Bei Events den vorherigen Zustand bekommen
Beitrag von: Joachim am 23 März 2014, 15:15:04
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
Titel: Antw:Bei Events den vorherigen Zustand bekommen
Beitrag von: vbs am 23 März 2014, 21:09:58
Super. Danke euch! Werd ich mir anschauen, aber ich denke, dass bekomme ich hin.
Titel: Antw:Bei Events den vorherigen Zustand bekommen
Beitrag von: Olaf A am 24 März 2014, 18:56:24
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