ReadingsGroup Werte zusammenfassen

Begonnen von stefan-dd, 05 Juni 2017, 21:21:50

Vorheriges Thema - Nächstes Thema

stefan-dd

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?

amenomade

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
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

stefan-dd

Danke, so ist es wahrscheinlich am einfachsten.

Damian

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




Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

amenomade

Wow, sehr elegant :)
Danke.

(ja, mein DOIF hätte sowieso nicht funktioniert, da DOELSEIF gross geschrieben werden muss :) )
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus