name:zigbee2mqtt_sonoff_hydro_one
desc:Sonoff Hydro One Wasserventil mit Durchflussmesser
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_05f4
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
par:ICON;ICON as set, defaults to sani_water_tap;{ AttrVal("DEVICE","icon","sani_water_tap") }
attr DEVICE icon ICON
attr DEVICE devStateIcon on:sani_water_tap@blue:off off:sani_water_tap@red:on
attr DEVICE webCmd on:off
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE jsonMap irrigation_mode:manual_default_settings_irrigation_mode\
manual_default_settings_irrigation_duration:irrigation_duration\
manual_default_settings_irrigation_amount:irrigation_amount\
manual_default_settings_irrigation_amount_unit:irrigation_amount_unit\
manual_default_settings_fail_safe:irrigation_fail_safe\
valve_alarm_settings_enable_alarm_water_leak:alarm_water_leak\
valve_alarm_settings_alarm_water_leak_duration:alarm_water_leak_duration\
valve_alarm_settings_enable_alarm_water_shortage:alarm_water_shortage\
valve_alarm_settings_alarm_water_shortage_duration:alarm_water_shortage_duration\
valve_alarm_settings_enable_water_shortage_auto_close:alarm_water_shortage_autoclose
attr DEVICE readingList $\DEVICETOPIC:.* { my $ret = json2nameValue($EVENT, undef, $JSONMAP); $ret->{state} = lc($ret->{state}) if defined $ret->{state}; return $ret; }
attr DEVICE setList \
on:noArg $\DEVICETOPIC/set {"state":"ON"} \
off:noArg $\DEVICETOPIC/set {"state":"OFF"} \
child_lock:lock,unlock $\DEVICETOPIC/set {"child_lock":uc("$EVTPART1")} \
irrigation_mode:duration,capacity { my $dur = ReadingsVal($NAME,"irrigation_duration",0); my $unit = ReadingsVal($NAME,"irrigation_amount_unit","liter"); my $amt = ReadingsVal($NAME,"irrigation_amount",0); my $fs = ReadingsVal($NAME,"irrigation_fail_safe",90); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$dur,\"irrigation_mode\":\"$EVTPART1\",\"irrigation_amount_unit\":\"$unit\",\"irrigation_amount\":$amt,\"fail_safe\":$fs}}"; } \
irrigation_duration:slider,0,1,719 { my $mode = ReadingsVal($NAME,"manual_default_settings_irrigation_mode","duration"); my $unit = ReadingsVal($NAME,"irrigation_amount_unit","liter"); my $amt = ReadingsVal($NAME,"irrigation_amount",0); my $fs = ReadingsVal($NAME,"irrigation_fail_safe",90); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$EVTPART1,\"irrigation_mode\":\"$mode\",\"irrigation_amount_unit\":\"$unit\",\"irrigation_amount\":$amt,\"fail_safe\":$fs}}"; } \
irrigation_amount:slider,0,1,10000 { my $dur = ReadingsVal($NAME,"irrigation_duration",0); my $mode = ReadingsVal($NAME,"manual_default_settings_irrigation_mode","duration"); my $unit = ReadingsVal($NAME,"irrigation_amount_unit","liter"); my $fs = ReadingsVal($NAME,"irrigation_fail_safe",90); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$dur,\"irrigation_mode\":\"$mode\",\"irrigation_amount_unit\":\"$unit\",\"irrigation_amount\":$EVTPART1,\"fail_safe\":$fs}}"; } \
irrigation_amount_unit:liter,US_gallon { my $dur = ReadingsVal($NAME,"irrigation_duration",0); my $mode = ReadingsVal($NAME,"manual_default_settings_irrigation_mode","duration"); my $amt = ReadingsVal($NAME,"irrigation_amount",0); my $fs = ReadingsVal($NAME,"irrigation_fail_safe",90); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$dur,\"irrigation_mode\":\"$mode\",\"irrigation_amount_unit\":\"$EVTPART1\",\"irrigation_amount\":$amt,\"fail_safe\":$fs}}"; } \
irrigation_fail_safe:slider,0,1,719 { my $dur = ReadingsVal($NAME,"irrigation_duration",0); my $mode = ReadingsVal($NAME,"manual_default_settings_irrigation_mode","duration"); my $unit = ReadingsVal($NAME,"irrigation_amount_unit","liter"); my $amt = ReadingsVal($NAME,"irrigation_amount",0); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$dur,\"irrigation_mode\":\"$mode\",\"irrigation_amount_unit\":\"$unit\",\"irrigation_amount\":$amt,\"fail_safe\":$EVTPART1}}"; } \
alarm_water_leak:true,false { my $sh_en = ReadingsVal($NAME,"alarm_water_shortage","true"); my $ac_en = ReadingsVal($NAME,"alarm_water_shortage_autoclose","true"); my $sh_dur = ReadingsVal($NAME,"alarm_water_shortage_duration",5); my $lk_dur = ReadingsVal($NAME,"alarm_water_leak_duration",2); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$EVTPART1,\"enable_alarm_water_shortage\":$sh_en,\"enable_water_shortage_auto_close\":$ac_en,\"alarm_water_shortage_duration\":$sh_dur,\"alarm_water_leak_duration\":$lk_dur}}"; } \
alarm_water_leak_duration:slider,1,1,3 { my $lk_en = ReadingsVal($NAME,"alarm_water_leak","true"); my $sh_en = ReadingsVal($NAME,"alarm_water_shortage","true"); my $ac_en = ReadingsVal($NAME,"alarm_water_shortage_autoclose","true"); my $sh_dur = ReadingsVal($NAME,"alarm_water_shortage_duration",5); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$lk_en,\"alarm_water_leak_duration\":$EVTPART1,\"enable_alarm_water_shortage\":$sh_en,\"enable_water_shortage_auto_close\":$ac_en,\"alarm_water_shortage_duration\":$sh_dur}}"; } \
alarm_water_shortage:true,false { my $lk_en = ReadingsVal($NAME,"alarm_water_leak","true"); my $ac_en = ReadingsVal($NAME,"alarm_water_shortage_autoclose","true"); my $sh_dur = ReadingsVal($NAME,"alarm_water_shortage_duration",5); my $lk_dur = ReadingsVal($NAME,"alarm_water_leak_duration",2); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$lk_en,\"enable_alarm_water_shortage\":$EVTPART1,\"enable_water_shortage_auto_close\":$ac_en,\"alarm_water_shortage_duration\":$sh_dur,\"alarm_water_leak_duration\":$lk_dur}}"; } \
alarm_water_shortage_duration:slider,1,1,10 { my $lk_en = ReadingsVal($NAME,"alarm_water_leak","true"); my $sh_en = ReadingsVal($NAME,"alarm_water_shortage","true"); my $ac_en = ReadingsVal($NAME,"alarm_water_shortage_autoclose","true"); my $lk_dur = ReadingsVal($NAME,"alarm_water_leak_duration",2); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$lk_en,\"enable_alarm_water_shortage\":$sh_en,\"enable_water_shortage_auto_close\":$ac_en,\"alarm_water_shortage_duration\":$EVTPART1,\"alarm_water_leak_duration\":$lk_dur}}"; } \
alarm_water_shortage_auto_close:true,false { my $lk_en = ReadingsVal($NAME,"alarm_water_leak","true"); my $sh_en = ReadingsVal($NAME,"alarm_water_shortage","true"); my $sh_dur = ReadingsVal($NAME,"alarm_water_shortage_duration",5); my $lk_dur = ReadingsVal($NAME,"alarm_water_leak_duration",2); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$lk_en,\"enable_alarm_water_shortage\":$sh_en,\"enable_water_shortage_auto_close\":$EVTPART1,\"alarm_water_shortage_duration\":$sh_dur,\"alarm_water_leak_duration\":$lk_dur}}"; }
attr DEVICE model zigbee2mqtt_sonoff_hydro_one
setreading DEVICE attrTemplateVersion 20260510_24
Zitat von: DS_Starter am 19 Mai 2026, 15:11:02@Peter, bitte nochmal aus dem contrib ziehen, sollte nun passen.
LG,
Heiko

{"ble":{},"cloud":{"connected":false},"devicepower:0":{"id": 0,"battery":{"V":6.34, "percent":100}},"flood:0":{"id": 0,"alarm":null,"mute":false,"errors": ["cable_unplugged"]},"matter":{"num_fabrics":0,"commissionable":false},"mqtt":{"connected":false},"sys":{"mac":"D885ACE6FA18","restart_required":false,"time":null,"unixtime":null,"last_sync_ts":null,"uptime":2,"ram_size":306836,"ram_free":169848,"ram_min_free":163424,"fs_size":917504,"fs_free":557056,"cfg_rev":9,"kvs_rev":0,"webhook_rev":0,"available_updates":{},"wakeup_reason":{"boot":"deepsleep_wake","cause":"button"},"wakeup_period":43200,"reset_reason":8,"utc_offset":7200},"wifi":{"sta_ip":"192.168.0.207","status":"got ip","ssid":"7270FamWieFritz266","bssid":"e0:08:55:c4:41:77","rssi":-58,"sta_ip6":null},"ws":{"connected":false},"zigbee":{"network_state":"disabled"}}
{"ble":{"enable":false,"rpc":{"enable":true}},"cloud":{"enable":true,"server":"shelly-233-eu.shelly.cloud:6022/jrpc"},"devicepower:0":{},"flood:0":{"id":0,"name":null,"alarm_mode":"normal","report_holdoff":0},"matter":{"enable":true},"mqtt":{"enable":false,"server":null,"client_id":"shellyfloodg4-d885ace6fa18","user":null,"ssl_ca":null,"topic_prefix":"shellyfloodg4-d885ace6fa18","rpc_ntf":true,"status_ntf":false,"use_client_cert":false,"enable_rpc":true,"enable_control":true},"sys":{"device":{"name":null,"mac":"D885ACE6FA18","fw_id":"20260211-153201/gefb9927","discoverable":true,"eco_mode":false,"tls_check_cert_validity_time":true,"enhanced_security":false},"location":{"tz":"Europe/Berlin","lat":50.931800,"lon":6.931200},"debug":{"level":2,"file_level":null,"mqtt":{"enable":false},"websocket":{"enable":false},"file_log":{"enable":false},"udp":{"addr":null}},"ui_data":{},"rpc_udp":{"dst_addr":null,"listen_port":null},"sntp":{"server":"time.cloudflare.com"},"cfg_rev":9},"wifi":{"ap":{"ssid":"ShellyFloodG4-D885ACE6FA18","is_open":true, "enable":false},"sta":{"ssid":"7270FamWieFritz266","is_open":false, "enable":true, "ipv4mode":"dhcp","ip":null,"netmask":null,"gw":null,"nameserver":null},"sta1":{"ssid":null,"is_open":true, "enable":false, "ipv4mode":"dhcp","ip":null,"netmask":null,"gw":null,"nameserver":null},"roam":{"rssi_thr":-80,"interval":60}},"ws":{"enable":false,"server":null,"ssl_ca":"ca.pem"},"zigbee":{"enable":false}}
{"name":null,"id":"shellyfloodg4-d885ace6fa18","mac":"D885ACE6FA18","slot":0,"model":"S4SN-0071A","gen":4,"fw_id":"20260211-153201/gefb9927","ver":"1.8.99-floodsg4prod0","app":"FloodSensorG4","auth_en":false,"auth_domain":null,"matter":true,"enhanced_security":false}
Zitat von: DS_Starter am 19 Mai 2026, 13:12:32Als weiteren Punkt habe ich die Thematik Batterieprognose - durch Peter in #6156 gepostet - wahrscheinlich gelöst.
Zitat von: DS_Starter am 18 Mai 2026, 22:24:33Mit dem Profil v1_common_active bekomme ich aktuell das angehängte Bild.
