[ST Edge] SONOFF Hydro ONE / DUO family (SWV-ZFE / SWV-ZFU / SWV-ZNE / SWV-ZNU / SWV-ZF2E / SWV-ZF2U)

I am definitely (definitely) not complaining but removal of on/off prevents a toggle action for a button press, needs 2 routines now instead of one :roll_eyes::nerd_face:

As always, thank you for making your fantastic, useful and well executed drivers available to us :+1:

I’ll add it back tomorrow.

My computer would probably break down immediately if I turned it on in this heat. For days now, it has been 40°C / 104 °F during the day and 30°C / 86 °F at night. No AC here…

Thanks Andreas, I sympathise with you and the heat, we are through it now (:crossed_fingers:UK) , but hot was an understatement!

I’m having exactly the same problem. Whether I start the timed watering manually or via a routine, the valve always closes after 10 minutes (in example 20min). 06:26 valve open, 06:36 valve closed.

The driver does not respect the specified duration at all :frowning:

BTW. The heat wave also hit Poland.

Hi @Pajacyk0v , the latest driver update with the new preference mentioned above does a much better job for timed watering.

We’re also about to get very hot in my part of the US (North Carolina).

Which preference?

This one:

Then set your time here:

switch capability is now back in version 2026-06-29T10:11.

Sorry, but I’m a little confused. Which timer should I use so that the irrigation doesn’t turn off after 10 minutes when I open the valve manually (using the physical button, through the ST app, or via the ST procedure)?

Ok, I think I understand your question a little better after doing some testing on my end.

The new preference “Timed watering mode” set to “driver timer” is working as expected to run a timed watering request. But when I just open the valve (using the Valve capability), it runs for just 10 minutes. I believe @Andreas_Roedl explained above that it’s a function of the devices to make sure it’s not left open and forgotten.

With the latest driver update to add back the Switch capability, I’m testing to see if turning on the valve as a switch will run more than 10 minutes.

EDIT: Even with turning the valve ON manually as a switch it only ran for 10 minutes.

The 10-minute shutoff appears to be the device’s own manual-watering default, not a driver limitation. The restored Switch capability still uses the same Zigbee On/Off command as Valve open, so it cannot bypass that device-side limit. For reliable timed watering, use the driver’s “Open valve for minutes” action. I’ll look into exposing the SONOFF manual default settings in the next driver version, because that should allow changing the device-side manual watering duration.

I have just updated the driver with a new Manual watering duration preference.

This is meant to address the issue where the valve may close by itself after about 10 minutes when it is opened normally through Valve open or Switch on.

The new setting is available in device preferences:

Manual watering duration
Range: 1–719 minutes
Default shown in SmartThings: 10 minutes

Technically, this writes SONOFF’s private manual_default_settings payload on cluster 0xFC11, attribute 0x501D. This was only figured out very recently (two weeks ago) in the deCONZ integration work for the SONOFF Hydro ONE Lite, so it was a useful missing piece for this driver as well. So instead of trying to work around the 10-minute limit in SmartThings, the driver now changes the device’s own manual watering duration.

If you want a routine like:

Open valve → wait 30 minutes → close valve

then set Manual watering duration to at least 30 minutes, preferably a bit higher.

This is included in the latest driver version 2026-06-30T14:40. Existing timed watering through Open valve for minutes is unchanged.

CC: @Pajacyk0v

Awesome, thanks!

Thank you for doing this so you have any plans to expand the driver to cover their new hydro duo (swv-zf2e) device?

Its basically the same but had 2 outlets instead of 1

No plans until now.

Someone has to add the blue checkmarks to the SmartThings column…

I’ll see what I can do.

Thank you, really appreciate it

Check back in one or two hours.

Install the SONOFF Hydro Water Valves (Beta) driver from this channel.

Delete the device from SmartThings and add it back again.

SONOFF Hydro DUO Beta Support

This beta build adds initial support for the SONOFF Hydro DUO dual-channel Zigbee smart water valve.

Added device fingerprints

The driver now includes fingerprints for the Hydro DUO family:

Manufacturer Model
SONOFF SWV-ZF2
SONOFF SWV-ZF2E
SONOFF SWV-ZF2U

New device profile

A new SmartThings profile has been added:

sonoff-hydro-duo
name: sonoff-hydro-duo
components:
- id: main
  label: Channel 1
  capabilities:
  - id: valve
    version: 1
  - id: switch
    version: 1
  - id: battery
    version: 1
  - id: waterSensor
    version: 1
  - id: refresh
    version: 1
  - id: healthCheck
    version: 1
  - id: oceancircle09600.hydroTimedWatering
    version: 1
  - id: oceancircle09600.hydroIrrigationStatus
    version: 1
  - id: oceancircle09600.hydroValveAlerts
    version: 1
  categories:
  - name: WaterValve
- id: channel2
  label: Channel 2
  capabilities:
  - id: valve
    version: 1
  - id: switch
    version: 1
  - id: oceancircle09600.hydroTimedWatering
    version: 1
  - id: oceancircle09600.hydroIrrigationStatus
    version: 1
  categories:
  - name: WaterValve
preferences:
- name: debugLogging
  title: Debug logging
  description: Log additional raw 0xFC11 private-cluster reports and write attempts.
    Useful for diagnostics.
  required: false
  preferenceType: boolean
  definition:
    default: false
- name: realTimeDurationUnit
  title: Real-time duration unit
  description: Public sources disagree whether 0x5006 is reported in minutes or seconds.
    Default follows current Zigbee2MQTT. Change only if real-device testing proves
    otherwise.
  required: false
  preferenceType: enumeration
  definition:
    options:
      minutes: minutes
      seconds: seconds
    default: minutes
- name: timedOpenMode
  title: Timed watering mode
  description: How the custom Open valve for minutes command closes the selected
    valve channel. Driver timer is recommended; native device timer uses On-with-Timed-Off
    and is experimental on this firmware.
  required: false
  preferenceType: enumeration
  definition:
    options:
      driver: driver timer (recommended)
      native: native device timer (experimental)
    default: driver
- name: timedOpenScale
  title: Native timed-open scale
  description: Only used when Timed watering mode is set to native device timer. Keep
    seconds unless testing shows a 10x timer error.
  required: false
  preferenceType: enumeration
  definition:
    options:
      seconds: seconds / Sonoff-normalized
      tenths: tenths of a second / strict ZCL
    default: seconds
- name: manualDuration
  title: Manual watering duration
  description: Device-side manual watering limit in minutes for normal Valve open
    / Switch on. This controls the valve's built-in auto-close duration and writes
    SONOFF manual_default_settings in duration mode. Change this if the valve closes
    after about 10 minutes.
  required: false
  preferenceType: integer
  definition:
    minimum: 1
    maximum: 719
    default: 10
- name: readPrivateOnRefresh
  title: Read private status on refresh
  description: Read key SONOFF 0xFC11 attributes from both channels when Refresh
    is pressed. Disable only if the sleepy valve becomes sluggish.
  required: false
  preferenceType: boolean
  definition:
    default: true
- name: childLock
  title: Child lock
  description: Writes the shared SONOFF child lock setting. The current readback
    is logged during Refresh; SmartThings preferences show the requested configuration.
  required: false
  preferenceType: enumeration
  definition:
    options:
      unlocked: unlocked
      locked: locked
    default: unlocked
- name: shortageAlarm
  title: Water shortage alarm
  description: Enable or disable the valve's water-shortage alarm in the private 0x5020
    settings payload. Written only when this preference changes.
  required: false
  preferenceType: enumeration
  definition:
    options:
      disabled: disabled
      enabled: enabled
    default: disabled
- name: leakAlarm
  title: Water leak alarm
  description: Enable or disable the valve's water-leak alarm in the private 0x5020
    settings payload. Written only when this preference changes.
  required: false
  preferenceType: enumeration
  definition:
    options:
      disabled: disabled
      enabled: enabled
    default: disabled
- name: shortageAutoClose
  title: Shortage auto-close
  description: Enable or disable automatic valve close on water shortage. Written
    only when this preference changes.
  required: false
  preferenceType: enumeration
  definition:
    options:
      disabled: disabled
      enabled: enabled
    default: disabled
- name: shortageDuration
  title: Shortage alarm duration
  description: 'Water-shortage alarm duration in minutes. Valid device range: 1-10.
    Written only when this preference changes.'
  required: false
  preferenceType: integer
  definition:
    minimum: 1
    maximum: 10
    default: 1
- name: leakDuration
  title: Leak alarm duration
  description: 'Water-leak alarm duration in minutes. Valid device range: 1-3. Written
    only when this preference changes.'
  required: false
  preferenceType: integer
  definition:
    minimum: 1
    maximum: 3
    default: 1

The Hydro DUO is represented as one SmartThings device with two controllable components.

Component mapping

SmartThings component Hydro DUO channel Zigbee endpoint
main Channel 1 Endpoint 1
channel2 Channel 2 Endpoint 2

Exposed capabilities

Channel 1 / main

Channel 1 exposes the primary device functions and shared device state:

  • valve
  • switch
  • battery
  • waterSensor
  • refresh
  • healthCheck
  • Hydro timed watering
  • Hydro irrigation status
  • Hydro valve alerts

Channel 2 / channel2

Channel 2 exposes the second valve channel:

  • valve
  • switch
  • Hydro timed watering
  • Hydro irrigation status

Battery, alerts, refresh, and shared settings are exposed on the main component.

Important safety behavior

SONOFF states that the two Hydro DUO channels cannot run at the same time. The driver therefore handles the device conservatively.

When Channel 1 is opened:

Cancel driver timers → send Off to Channel 2 → open Channel 1

When Channel 2 is opened:

Cancel driver timers → send Off to Channel 1 → open Channel 2

This should prevent SmartThings from showing two active watering channels when the hardware itself does not support simultaneous operation.

Private-cluster support in this beta

The beta build includes initial support for the SONOFF private cluster data used by the Hydro DUO.

Implemented for the DUO path:

  • per-channel real-time irrigation duration
  • per-channel hourly irrigation duration
  • shared / device-wide real-time irrigation volume
  • shared / device-wide hourly irrigation volume
  • shared child lock
  • shared manual watering duration via 0x501D
  • shared abnormal-state parsing
  • conservative subset of the 0x5020 alarm settings

Deliberately not exposed yet

The following DUO settings are intentionally not exposed in this beta build:

  • frost threshold
  • frost alarm
  • leak auto-close

Zigbee2MQTT’s current SWV-ZF2 support exposes only a safer subset of the alarm settings. For that reason, the driver does not blindly reuse all of the full Hydro ONE 0x5020 settings for the dual-channel model.

Writing unknown or only partially confirmed valve-safety settings would be too risky without real-device validation.

Hi @Andreas_Roedl ,

Looks like the timed watering will stop at 10 minutes again, but only if the value requested is more than 10 minutes. Anything below 10 minutes is OK. See below where I requested 12 minutes but it closed after 10.

The log at 4:37pm requested 12 minutes, and the valve closed 10 minutes later (4:47pm):

I ran some tests in the garden today and I’m still having issues with the 10-minute limit.

  1. I removed the device from the Hub.
  2. I performed onboarding again. The device added itself without any issues using the “SONOFF Hydro Water Valves” driver, version 2026-07-02T12:38:45.327345169.
  3. The only setting I changed was manualDuration to 60 minutes.

The device reported the following status at startup:

Test 1: I just opened the valve in the ST app. Unfortunately, it closed on its own after 10 minutes.

Test 2: I opened the valve using the physical button. As before, the valve closed on its own after 10 minutes.

Test 3: I set the timed watering to 15 minutes. Same result. Valve was closed after 10 minutes

Is there something I missed in the configuration?

Has anyone else experienced similar issues? I

'm wondering if my unit is working properly. It keeps showing “waterSensor = dry.”