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?
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
Danke, so ist es wahrscheinlich am einfachsten.
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
Wow, sehr elegant :)
Danke.
(ja, mein DOIF hätte sowieso nicht funktioniert, da DOELSEIF gross geschrieben werden muss :) )