FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stefan-dd am 05 Juni 2017, 21:21:50

Titel: ReadingsGroup Werte zusammenfassen
Beitrag von: stefan-dd am 05 Juni 2017, 21:21:50
Hallo,
ich habe an meiner Balkontür zwei Sensoren. Ich möchte beide Sensoren zu einem Wert zusammenfassen.

Folgende Kombinationen sind möglich:

gekippt -> Sensor 1 open, Sensor 2 closed
offen    ->  Sensor 1 open, Sensor 2 open
geschlossen ->  Sensor 1 closed, Sensor 2 open

Dies möchte ich so verknüpfen das entweder gekippt, offen oder geschlossen angezeigt wird.
Mein Anfang ist so:

defmod rg readingsGroup HM_55F050_Btn_01:state HM_55F050_Btn_02:state
attr rg mapping { 'HM_55F050_Btn_01' => 'gekippt', 'HM_55F050_Btn_02' => 'offen' }


Leider komme ich gar nicht weiter. Wie bringt man die beiden Schalter in einen zusammengeführten Status?
Titel: Antw:ReadingsGroup Werte zusammenfassen
Beitrag von: amenomade am 05 Juni 2017, 21:36:59
Ich würde es lieber mittels DOIF  in einem Dummy zusammenfassen.

define FensterStatus dummy
define di_Fenster DOIF ([sensor1] eq "open" and [sendor2] eq "closer")
  (set FensterStatus gekippt)
doelseif ([sensor1] eq "open" and [sensor2] eq "open")
  (set FensterStatus offen)
doelseif ([sensor1] eq "closed" and [sensor2] eq "open")
  (set FensterStatus geschlossen)
doelse
Titel: Antw:ReadingsGroup Werte zusammenfassen
Beitrag von: stefan-dd am 05 Juni 2017, 22:06:43
Danke, so ist es wahrscheinlich am einfachsten.
Titel: Antw:ReadingsGroup Werte zusammenfassen
Beitrag von: Damian am 05 Juni 2017, 22:41:08
Zitat von: amenomade am 05 Juni 2017, 21:36:59
Ich würde es lieber mittels DOIF  in einem Dummy zusammenfassen.

define FensterStatus dummy
define di_Fenster DOIF ([sensor1] eq "open" and [sendor2] eq "closer")
  (set FensterStatus gekippt)
doelseif ([sensor1] eq "open" and [sensor2] eq "open")
  (set FensterStatus offen)
doelseif ([sensor1] eq "closed" and [sensor2] eq "open")
  (set FensterStatus geschlossen)
doelse


oder gleich ohne Dummy



define FensterStatus DOIF ([sensor1] eq "open" and [sendor2] eq "closed")
DOELSEIF ([sensor1] eq "open" and [sensor2] eq "open")
DOELSEIF ([sensor1] eq "closed" and [sensor2] eq "open")

attr FensterStatus cmdState gekippt|offen|geschlossen




Titel: Antw:ReadingsGroup Werte zusammenfassen
Beitrag von: amenomade am 05 Juni 2017, 22:42:47
Wow, sehr elegant :)
Danke.

(ja, mein DOIF hätte sowieso nicht funktioniert, da DOELSEIF gross geschrieben werden muss :) )