Hallo zusammen,
ich selbst nutze seit Jahren FHEM um meine Homematic Komponenten und seit einiger Zeit auch Xiaomi Wassersensoren per zigbee2mqtt einzubinden.
Die Xiaomi Sensoren haben in meiner Instanz das Reading
water_leak | false |
Soweit so gut. Damit habe ich eine Readinggroup erstellt mit *.water_leak und ich kann bei true einen Aktor erstellen.
defmod MQTT2_zigbee_0x00158d0002701e32 MQTT2_DEVICE zigbee_0x00158d0002701e32
attr MQTT2_zigbee_0x00158d0002701e32 IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_0x00158d0002701e32 alias ZB_Kueche_Leak3
attr MQTT2_zigbee_0x00158d0002701e32 model L_10_Water_Leak_Sensor
attr MQTT2_zigbee_0x00158d0002701e32 readingList zigbee2mqtt/0x00158d0002701e32:.* { json2nameValue($EVENT) }\
zigbee2mqtt/0x00158d0002701e32/availability:.* availability
attr MQTT2_zigbee_0x00158d0002701e32 room Küche,MQTT2_DEVICE
attr MQTT2_zigbee_0x00158d0002701e32 stateFormat Leak: water_leak
setstate MQTT2_zigbee_0x00158d0002701e32 Leak: false
setstate MQTT2_zigbee_0x00158d0002701e32 2021-05-02 16:27:44 IODev MQTT2_FHEM_Server
setstate MQTT2_zigbee_0x00158d0002701e32 2020-05-20 13:26:42 associatedWith MQTT2_zigbee_fhem
setstate MQTT2_zigbee_0x00158d0002701e32 2021-04-24 08:31:21 availability online
setstate MQTT2_zigbee_0x00158d0002701e32 2021-05-03 11:06:45 battery 100
setstate MQTT2_zigbee_0x00158d0002701e32 2021-05-03 11:06:45 linkquality 7
setstate MQTT2_zigbee_0x00158d0002701e32 2021-05-03 11:06:45 voltage 3045
setstate MQTT2_zigbee_0x00158d0002701e32 2021-05-03 11:06:45 water_leak false
Alles anzeigen
Bei meinen Eltern läuft auch ein FHEM mit diesen Wassersensoren. Leider ist da das Reading nur "state".
Und die Readinggroup gibt damit viel zu viele Werte aus. Auf water_leak kann ich nichts erhalten.
Daher habe ich versucht in der Definition des Sensors ein Userreading anzulegen, welches den Werte von state in wate_leak kopiert. Aber typisch FHEM bin ich dazu nicht ganz in der Lage - die UI bzw. die Konzepte sind eher schwierig zu merken, wenn man sich kaum damit beschäftigt.
Wie müsste es richtig heißen?
Hier die Definition des gleichen Sensors bei meinen Eltern
defmod MQTT2_zigbee_0x00158d0002701d58 MQTT2_DEVICE zigbee_0x00158d0002701d58
attr MQTT2_zigbee_0x00158d0002701d58 IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_0x00158d0002701d58 alias Feucht_1
attr MQTT2_zigbee_0x00158d0002701d58 devicetopic zigbee2mqtt/0x00158d0002701d58
attr MQTT2_zigbee_0x00158d0002701d58 jsonMap water_leak:state
attr MQTT2_zigbee_0x00158d0002701d58 model zigbee2mqtt_Water_Leak_Sensor
attr MQTT2_zigbee_0x00158d0002701d58 readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }\
zigbee2mqtt/0x00158d0002701d58:.* { json2nameValue($EVENT) }\
zigbee2mqtt/0x00158d0002701d58/availability:.* availability
attr MQTT2_zigbee_0x00158d0002701d58 room MQTT2_DEVICE
attr MQTT2_zigbee_0x00158d0002701d58 stateFormat Leak: state
attr MQTT2_zigbee_0x00158d0002701d58 water_leak { ReadingsVal("
MQTT2_zigbee_0x00158d0002701d58","state",0);; }
setstate MQTT2_zigbee_0x00158d0002701d58 Leak: false
setstate MQTT2_zigbee_0x00158d0002701d58 2020-01-10 17:59:05 associatedWith MQTT2_zigbee_fhem
setstate MQTT2_zigbee_0x00158d0002701d58 2021-05-03 11:00:02 battery 86
setstate MQTT2_zigbee_0x00158d0002701d58 2021-05-03 11:00:02 battery_low false
setstate MQTT2_zigbee_0x00158d0002701d58 2021-05-03 11:00:02 linkquality 0
setstate MQTT2_zigbee_0x00158d0002701d58 2021-05-03 11:00:02 state false
setstate MQTT2_zigbee_0x00158d0002701d58 2021-05-03 11:00:02 tamper false
setstate MQTT2_zigbee_0x00158d0002701d58 2021-05-03 11:00:02 voltage 2975
setstate MQTT2_zigbee_0x00158d0002701d58 2021-05-03 11:00:02 water_leak 0
Alles anzeigen
Es steht nur eine "0" da.
Oder ist das der völlig falsche Weg?
Ich will am ende nur in water_leak das gleiche wie in state stehen haben.
Danke