Das ist meine Idee wie ich den AQara Raumsensor (Multisensor) * in mein FHEM einbinde, und als ein Device darstelle.  

Dafür musste ich allerdings paar DOIF´s erstellt um die AQara Multisensor (Temperatur, Luftfeuchte, Luftdruck) * in ein Device zusammen zu bekommen .

Da ich meine Sensoren nach den Schema wie hier zum Beispiel im Wohnzimmer angelegt habe:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
WZ.Sensor.Room.Baro
WZ.Sensor.Room.Hum
WZ.Sensor.Room.Temp
WZ.Sensor.Room.Baro WZ.Sensor.Room.Hum WZ.Sensor.Room.Temp
WZ.Sensor.Room.Baro
WZ.Sensor.Room.Hum
WZ.Sensor.Room.Temp

 

(Wie man Sensoren im FHEM einbindet habe ich hier beschrieben: Klick Me)

Kann ich mit diesen DOIF einen MultiSensor Darstellen :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
defmod WZ.Sensor.Room DOIF ([$SELF.Temp:temperature])\
(\
set $SELF temperature [$SELF.Temp:temperature]\
)\
DOELSEIF([$SELF.Hum:humidity])\
(\
set $SELF humidity [$SELF.Hum:humidity]\
)\
DOELSEIF([$SELF.Baro:pressure])\
(\
set $SELF pressure [$SELF.Baro:pressure]\
)\
DOELSEIF([$SELF.Baro:battery])\
(\
set $SELF battery [$SELF.Baro:battery]\
)
attr WZ.Sensor.Room do always
attr WZ.Sensor.Room group Umwelt Sensor
attr WZ.Sensor.Room icon temp_inside
attr WZ.Sensor.Room readingList temperature humidity pressure battery
attr WZ.Sensor.Room room 1.1_Wohnzimmer
attr WZ.Sensor.Room stateFormat T: temperature °C | H: humidity % | D: dewpoint °C | P: pressure hPa
defmod WZ.Sensor.Room DOIF ([$SELF.Temp:temperature])\ (\ set $SELF temperature [$SELF.Temp:temperature]\ )\ DOELSEIF([$SELF.Hum:humidity])\ (\ set $SELF humidity [$SELF.Hum:humidity]\ )\ DOELSEIF([$SELF.Baro:pressure])\ (\ set $SELF pressure [$SELF.Baro:pressure]\ )\ DOELSEIF([$SELF.Baro:battery])\ (\ set $SELF battery [$SELF.Baro:battery]\ ) attr WZ.Sensor.Room do always attr WZ.Sensor.Room group Umwelt Sensor attr WZ.Sensor.Room icon temp_inside attr WZ.Sensor.Room readingList temperature humidity pressure battery attr WZ.Sensor.Room room 1.1_Wohnzimmer attr WZ.Sensor.Room stateFormat T: temperature °C | H: humidity % | D: dewpoint °C | P: pressure hPa
defmod WZ.Sensor.Room DOIF ([$SELF.Temp:temperature])\
(\
    set $SELF temperature [$SELF.Temp:temperature]\
)\
DOELSEIF([$SELF.Hum:humidity])\
(\
    set $SELF humidity [$SELF.Hum:humidity]\
)\
DOELSEIF([$SELF.Baro:pressure])\
(\
    set $SELF pressure [$SELF.Baro:pressure]\
)\
DOELSEIF([$SELF.Baro:battery])\
(\
    set $SELF battery [$SELF.Baro:battery]\
)
attr WZ.Sensor.Room do always
attr WZ.Sensor.Room group Umwelt Sensor
attr WZ.Sensor.Room icon temp_inside
attr WZ.Sensor.Room readingList temperature humidity pressure battery
attr WZ.Sensor.Room room 1.1_Wohnzimmer
attr WZ.Sensor.Room stateFormat T: temperature °C | H: humidity % | D: dewpoint °C | P: pressure hPa

Der Dewpoint / Taupunkt Wert wir bei  mir von den dewpoint Modul geliefert was ich folgend Definiert habe:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
defmod dew_state dewpoint dewpoint .* temperature humidity dewpoint
defmod dew_state dewpoint dewpoint .* temperature humidity dewpoint
defmod dew_state dewpoint dewpoint .* temperature humidity dewpoint

Diese Definition bewirkt das jedes Device das die Readings temperature und humidity aufweist das Reading dewpoint hinzugefügt bekommt.

Und So schaut dann das Endergebnis aus 🙂

Das wars dann auch schon wieder 😉

 

 

Mit * markierte Links sind Amazon ParnerNet Affiliate Links