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

I have been working on a dedicated SmartThings Edge driver for the SONOFF Hydro ONE, SONOFF Hydro ONE Lite and, experimentally, the SONOFF Hydro DUO Zigbee smart water valves. I don’t have these devices, so @Chris74 did the real-world tests for the full Hydro ONE models and provided a massive amount of logs. Hydro DUO support is new and still needs real-device validation.

The supported and test-supported models are:

Model Device Region / thread type
SWV-ZFE Hydro ONE, with flow meter EU / UK / many regions, G 3/4 / BSP thread
SWV-ZFU Hydro ONE, with flow meter North America, NH 3/4-11.5 thread
SWV-ZNE Hydro ONE Lite, without flow meter EU / UK / many regions, G 3/4 / BSP thread
SWV-ZNU Hydro ONE Lite, without flow meter North America, NH 3/4-11.5 thread
SWV-ZF2 Hydro DUO, dual-channel, with flow meter base model string used by public Zigbee integrations
SWV-ZF2E Hydro DUO, dual-channel, with flow meter EU / UK / many regions, G 3/4 / BSP thread
SWV-ZF2U Hydro DUO, dual-channel, with flow meter North America, NH 3/4-11.5 thread

From the driver’s point of view, the full Hydro ONE models use the same Zigbee behaviour, while the Lite models use a separate profile with the flow-meter-related parts removed. The Hydro DUO models use another separate profile with two SmartThings components, one for each valve channel. The important buying difference is still the physical thread standard, so please do not buy the wrong one unless you enjoy adapter archaeology.

This driver is intended for the Hydro ONE models SWV-ZFE and SWV-ZFU, the Hydro ONE Lite models SWV-ZNE and SWV-ZNU, and experimental Hydro DUO support for SWV-ZF2, SWV-ZF2E and SWV-ZF2U.

It is not intended for the older SONOFF Zigbee Smart Water Valve model SWV / SWV-BSP / SWV-NH. That device is related, but not identical, and should be treated in a separate driver.


What are the SONOFF Hydro ONE, Hydro ONE Lite and Hydro DUO?

The SONOFF Hydro ONE is a battery-powered Zigbee 3.0 irrigation valve with an integrated flow meter. It is designed for garden watering, balcony irrigation, greenhouse setups, drip systems, raised beds, lawns and similar outdoor watering use cases.

The Hydro ONE Lite models SWV-ZNE and SWV-ZNU are the related Lite variants without the flow meter. They are still Zigbee smart water valves, but they do not measure irrigation volume. For SmartThings this means they should expose valve control, timed watering and duration-related status, but not litre-based values or flow-meter alerts.

The Hydro DUO models SWV-ZF2E and SWV-ZF2U are the dual-channel variants with a flow meter. They are designed for two watering zones and appear as one SmartThings device with two controllable valve channels. SONOFF states that the two channels cannot operate at the same time, so the driver handles them conservatively.

The full Hydro ONE can open and close the valve, run timed watering, measure irrigation duration and volume, detect abnormal valve states, and expose safety-related settings such as child lock, shortage alarms, leakage alarms and auto-close behaviour. SONOFF also documents the Hydro ONE models and their specifications in the official help center page for SWV-ZFU / SWV-ZFE.

SONOFF’s own ecosystem also supports more advanced irrigation features such as schedules, rain delay, seasonal adjustment and history records. Some of those features are implemented through manufacturer-specific Zigbee payloads, so they are not automatically available through a generic SmartThings Zigbee driver.

That is why this custom driver exists.

SmartThings can treat these valves as a basic switch or valve, but they are more than that. They are water-control devices, and water-control devices deserve slightly more respect than “turn mysterious switch on and hope the garden does not become a lake”.


Why a custom Edge driver?

The goal of this driver is to expose the SONOFF Hydro valves as proper SmartThings irrigation devices:

  • locally controlled through a SmartThings hub;
  • usable in SmartThings routines;
  • readable as a valve, switch and irrigation device;
  • able to expose SONOFF’s private irrigation/status data;
  • able to configure the important safety settings through device preferences where supported;
  • able to handle the Hydro DUO as one device with two valve channels;
  • conservative enough for sleepy battery-powered Zigbee end devices.

The driver does not try to recreate the full eWeLink irrigation planner inside SmartThings. That would be possible only after much more reverse engineering and testing, and it would also make the first public driver unnecessarily fragile. SmartThings’ daily routines are the way to go.

The current driver focuses on the useful and validated core.


Driver features

Basic valve control

The driver maps the standard Zigbee On/Off cluster to SmartThings valve and switch behaviour.

In practice:

Action Result
Switch on Valve opens
Switch off Valve closes
Valve open Valve opens
Valve close Valve closes

The normal SmartThings switch and valve capabilities are both exposed so the device remains easy to use in routines and in the app.

For the Hydro DUO, the driver creates one SmartThings device with two controllable components:

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

Each channel can be opened and closed separately in SmartThings.


Hydro DUO channel safety

SONOFF states that the two Hydro DUO channels cannot run simultaneously. The driver therefore handles the DUO conservatively:

Requested action Driver behaviour
Open Channel 1 cancel driver timers, send Off to Channel 2, then open Channel 1
Open Channel 2 cancel driver timers, send Off to Channel 1, then open Channel 2

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


Timed watering

The driver includes a custom Hydro timed watering capability.

This allows the valve to be opened for a selected number of minutes. In the current driver, timed watering uses a driver-managed timer by default: the driver opens the valve, schedules the close command locally on the hub, and then closes the valve after the requested time. The older native Zigbee OnWithTimedOff path remains available as an experimental option in preferences.

The UI exposes:

  • timed watering state;
  • last requested timed duration;
  • “Open valve for minutes” control.

This is probably the most useful everyday feature of the driver. A manual valve is fine until someone forgets it. A timed valve is much better. The plants get water; the garden does not apply for wetland status.


Manual watering duration

The driver also exposes Manual watering duration as a device preference.

This is the device-side manual watering limit used when the valve is opened normally through Valve open or Switch on. Some devices close themselves after about 10 minutes because of this internal setting.

The preference range is:

Setting Range
Manual watering duration 1–719 minutes

Technically, this writes SONOFF’s private manual_default_settings payload on cluster 0xFC11, attribute 0x501D. This was only figured out recently in public deCONZ integration work for the Hydro ONE Lite, and it is a useful missing piece for SmartThings as well.

If you want a normal routine like this:

Open valve → wait 30 minutes → close valve

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


Battery reporting

The Hydro ONE, Hydro ONE Lite and Hydro DUO are battery-powered and use the standard Zigbee Power Configuration cluster for battery reporting.

The driver exposes this through the normal SmartThings battery capability. For the Hydro DUO, battery is a shared device value and is exposed on the main component.


Child lock

Child lock is supported through SONOFF’s private Zigbee cluster.

In the current driver, child lock is configured through device preferences, not as a custom dashboard tile. This is intentional: child lock is a configuration setting, not something most users need on the main device screen every day.

For the Hydro DUO, child lock is treated as a shared device setting.


Irrigation status

For the full Hydro ONE models, the custom Hydro irrigation status capability exposes several useful runtime values:

  • valve work state;
  • current irrigation duration;
  • current irrigation volume;
  • hourly irrigation duration;
  • hourly irrigation volume.

For the Hydro ONE Lite models, the driver uses a separate Hydro lite irrigation status capability with only the values that make sense for a valve without a flow meter:

  • valve work state;
  • current irrigation duration;
  • hourly irrigation duration.

For the Hydro DUO alpha path, the driver uses the normal Hydro irrigation status capability on both channels. The goal is to expose per-channel duration values and available volume-related values from SONOFF’s private cluster. This part still needs real-device validation on SmartThings.

The driver handles a SONOFF-specific quirk where the same duration value can arrive in different byte order depending on whether it is received as a read response or as a report. The driver therefore uses adaptive decoding for the private uint32 values instead of assuming one fixed byte order.

This is one of those small details that makes Zigbee reverse engineering such a relaxing hobby.


Valve alerts

For the full Hydro ONE models, the custom Hydro valve alerts capability exposes abnormal valve states decoded from SONOFF’s private bitmask:

  • water shortage;
  • water leakage;
  • frost protection;
  • fail-safe.

Water leakage is also mapped to the standard SmartThings waterSensor capability where appropriate, so it can be used more naturally in routines.

The Hydro ONE Lite models do not expose this alert capability in the current driver. They do not have a flow meter, and the first Lite support path intentionally avoids showing unsupported or untested flow/alert fields.

For the Hydro DUO alpha path, the driver exposes shared alert state on the main component. Current public ZHA work maps the DUO abnormal-state bitmask as water shortage channel 1, water leakage, anti-frost/frost and water shortage channel 2. A dedicated DUO fail-safe bit is not confirmed, so the driver keeps fail-safe clear for DUO until real logs prove otherwise.

Example routine ideas for the full Hydro ONE models and, where supported, Hydro DUO:

  • If water shortage is detected, notify me.
  • If water leak is detected, close another upstream valve.
  • If frost protection is active, stop watering routines.
  • If fail-safe is active, send a high-priority notification.

Device settings in Preferences

The current driver deliberately keeps the valve configuration in the Settings menu instead of cluttering the main device screen.

Available settings for the full Hydro ONE models include:

  • child lock;
  • manual watering duration;
  • timed watering mode;
  • water shortage alarm;
  • water leak alarm;
  • frost protection alarm;
  • water shortage auto-close;
  • water leak auto-close;
  • shortage alarm duration;
  • leak alarm duration;
  • frost threshold;
  • timed-open scaling;
  • real-time duration unit;
  • debug logging;
  • private-status reads on refresh.

Available settings for the Hydro ONE Lite models are intentionally reduced:

  • child lock;
  • manual watering duration;
  • timed watering mode;
  • timed-open scaling;
  • real-time duration unit;
  • debug logging;
  • private-status reads on refresh.

Available settings for the Hydro DUO alpha path are also conservative:

  • child lock;
  • manual watering duration;
  • timed watering mode;
  • water shortage alarm;
  • water leak alarm;
  • water shortage auto-close;
  • shortage alarm duration;
  • leak alarm duration;
  • timed-open scaling;
  • real-time duration unit;
  • debug logging;
  • private-status reads on refresh.

The alarm and auto-close settings on the full Hydro ONE models are stored in SONOFF’s private 0x5020 payload. The driver reads the current payload first, modifies only the requested part, writes it back, and then reads it again.

For the Hydro DUO, the driver currently exposes only the safer subset of 0x5020 settings. Frost threshold, frost alarm and leak auto-close are deliberately not exposed for DUO until real-device logs confirm the exact layout.

That read-before-write behaviour is important. Blindly overwriting a water valve’s safety settings would technically be automation, but only in the same way that kicking a ladder is “height adjustment”.


0x5020 fallback parser

One of the more interesting parts of the driver is the fallback parser for SONOFF’s 0x5020 settings payload on the full Hydro ONE models.

On real hardware, SmartThings can receive the 0x5020 read response as a generic body because the returned ZCL Array shape is unusual enough that the normal parser may fail with a “buffer too short” error.

The driver therefore includes a defensive GenericBody fallback for the SONOFF 0xFC11 private cluster. It manually extracts the four settings bytes from the raw Zigbee frame and feeds them into the normal settings logic.

This was the key fix that made the alarm and auto-close preferences actually save correctly during testing.

The Hydro ONE Lite profile does not use these 0x5020 alarm/settings preferences in the current driver. The Hydro DUO alpha path uses only a conservative subset.


Clean SmartThings UI

The current release uses four custom capabilities across the visible profiles:

Capability Purpose
oceancircle09600.hydroTimedWatering timed watering state and timed-open command
oceancircle09600.hydroIrrigationStatus runtime irrigation status and measured values for full Hydro ONE models and Hydro DUO channels
oceancircle09600.hydroLiteIrrigationStatus duration-only irrigation status for Hydro ONE Lite models
oceancircle09600.hydroValveAlerts shortage, leak, frost and fail-safe states for full Hydro ONE models, and shared alert state for Hydro DUO

Earlier development builds exposed valve settings as a custom capability. That was useful for debugging, but it was not the right long-term UI design. These settings now live where they belong: in device preferences.

The main device screen is therefore focused on actual device state, while configuration lives in the settings menu.


Installation

  1. Open the driver channel invite link.
  2. Enroll your hub.
  3. Install the SONOFF Hydro ONE Water Valve driver.
  4. Remove and reset the Hydro valve if it was previously joined with another driver.
  5. Pair the device again.
  6. Confirm that it joins with the custom driver.

If the device already exists in SmartThings, switching the driver may work, but for a private-cluster device I recommend a clean pairing during the first test.


Supported devices

Currently supported or test-supported:

Manufacturer Model Profile
SONOFF SWV-ZFE Hydro ONE, with flow meter
SONOFF SWV-ZFU Hydro ONE, with flow meter
SONOFF SWV-ZNE Hydro ONE Lite, without flow meter
SONOFF SWV-ZNU Hydro ONE Lite, without flow meter
SONOFF SWV-ZF2 Hydro DUO, dual-channel, with flow meter, alpha support
SONOFF SWV-ZF2E Hydro DUO, dual-channel, with flow meter, alpha support
SONOFF SWV-ZF2U Hydro DUO, dual-channel, with flow meter, alpha support

Not currently supported:

Device Reason
Older SONOFF SWV / SWV-BSP / SWV-NH different device family and protocol details

The fingerprints are intentionally strict. It is better to support a few devices correctly than to accidentally claim a whole family of similar valves and discover the difference one flooded planter later.


Technical details

Zigbee endpoints

The Hydro ONE and Hydro ONE Lite expose their main functionality on endpoint 1.

Expected single-channel signature:

Item Value
Endpoint 0x01
Profile 0x0104 Home Automation
Device type 0x0002 On/Off Output
Manufacturer SONOFF
Full Hydro ONE models SWV-ZFE, SWV-ZFU
Hydro ONE Lite models SWV-ZNE, SWV-ZNU

The Hydro DUO uses two endpoints:

SmartThings component Hydro DUO channel Zigbee endpoint
main Channel 1 0x01
channel2 Channel 2 0x02

Hydro DUO fingerprints currently target:

Manufacturer Models
SONOFF SWV-ZF2, SWV-ZF2E, SWV-ZF2U

Standard clusters

Relevant standard clusters include:

Cluster Purpose
0x0000 Basic identity information
0x0001 Power Configuration battery
0x0003 Identify identify support
0x0006 On/Off valve open/close
0x0020 Poll Control sleepy-device behaviour
0x0019 OTA OTA output cluster

For the Hydro DUO, On/Off control is handled per endpoint.

Manufacturer-specific clusters

The important private cluster is:

Cluster Purpose
0xFC11 SONOFF / eWeLink private cluster
0xFC57 present in signature, currently unmapped

Manufacturer code used by the private cluster:

Value Meaning
0x1286 SONOFF manufacturer-specific code, decimal 4742

Important private attributes

For the full Hydro ONE models:

Attribute Meaning
0x0000 child lock
0x5006 real-time irrigation duration
0x5007 real-time irrigation volume
0x500C abnormal valve state bitmask
0x5010 valve work state
0x501B hourly irrigation volume
0x501C hourly irrigation duration
0x501D manual default watering duration
0x5020 valve alarm/settings payload

For the Hydro ONE Lite models, the current driver uses the duration-only subset:

Attribute Meaning
0x0000 child lock
0x5006 real-time irrigation duration
0x5010 valve work state
0x501C hourly irrigation duration
0x501D manual default watering duration

For the Hydro DUO alpha path, the current driver uses:

Attribute Meaning
0x0000 shared child lock
0x5006 per-channel real-time irrigation duration
0x5007 shared / device-wide real-time irrigation volume
0x500C shared abnormal-state bitmask
0x5010 valve work state
0x501B shared / device-wide hourly irrigation volume
0x501C per-channel hourly irrigation duration
0x501D shared manual default watering duration
0x5020 conservative shared alarm/settings subset

Abnormal-state bitmask

For the full Hydro ONE models, the driver decodes 0x500C into separate user-facing states:

Bit Meaning
Bit 0 water shortage
Bit 1 water leakage
Bit 2 frost protection
Bit 3 fail-safe

For the Hydro DUO alpha path, the currently safer public ZHA mapping is:

Bit Meaning
Bit 0 water shortage, channel 1
Bit 1 water leakage
Bit 2 anti-frost / frost
Bit 4 water shortage, channel 2

There is currently no confirmed dedicated DUO fail-safe bit in the public ZHA mapping, so the driver keeps fail-safe clear for DUO until real logs prove otherwise.

0x501D manual default settings

The driver can write SONOFF’s manual default watering duration through private attribute 0x501D.

This controls the device-side auto-close duration used for normal manual watering. It is separate from the custom Open valve for minutes control.

0x5020 settings payload

For the full Hydro ONE models, the driver handles the 0x5020 valve settings as a compact four-byte payload.

It currently uses this layout:

Byte Meaning
Byte 0 alarm / auto-close bit flags
Byte 1 water-shortage alarm duration
Byte 2 water-leak alarm duration
Byte 3 frost threshold

The driver reads the current payload first, updates only the relevant bits or values, then writes the modified payload back.

For the Hydro DUO alpha path, only the conservative subset is exposed for now.


What is currently not implemented

The following features are known from SONOFF / eWeLink / Zigbee2MQTT / ZHA research, but are intentionally not implemented in this release:

  • full irrigation plan creation;
  • cyclic timed irrigation plans;
  • cyclic quantitative irrigation plans;
  • rain delay;
  • seasonal watering adjustment;
  • 24-hour / 30-day / 180-day history record retrieval;
  • full weather-based scheduling;
  • older SONOFF SWV model support.

Those features require larger private payloads and more real-hardware validation. They are possible future targets, but they are not needed for the first clean SmartThings release. Most of it could be done in routines anyway.

The Hydro ONE Lite models also do not expose volume or flow-meter values in this driver, because they do not have a flow meter.

For the Hydro DUO, full support is still alpha. In particular, the two-channel component mapping, per-channel duration reporting, shared volume reporting, alert decoding and conservative 0x5020 subset still need real-device SmartThings logs before I would call it stable.


Current status

Confirmed during external testing on the full Hydro ONE path:

  • pairing;
  • on/off valve control;
  • battery reporting;
  • timed watering UI;
  • child lock setting;
  • shortage detection;
  • duration decoding;
  • volume reporting with normal water throughput;
  • valve work state;
  • alarm/settings preferences;
  • 0x5020 read/write path through the fallback parser;
  • manual watering duration through 0x501D;
  • cleaner SmartThings UI using preferences for configuration.

Added after the original Hydro ONE release:

  • Hydro ONE Lite support for SWV-ZNE and SWV-ZNU;
  • separate Lite profile without volume, water sensor, valve alerts or 0x5020 settings;
  • Lite-specific irrigation status capability with duration-only values;
  • driver-managed timed watering as the default mode;
  • restored switch capability alongside valve for routine compatibility;
  • manual watering duration preference for normal Valve open / Switch on sessions;
  • experimental Hydro DUO support for SWV-ZF2, SWV-ZF2E and SWV-ZF2U.

Still pending:

  • real-hardware validation of the Hydro ONE Lite path, depending on available testers;
  • real-hardware validation of the Hydro DUO alpha path;
  • Hydro DUO logs for channel mapping, per-channel duration, shared volume values and alert states.

During early testing with a Gardena Micro-Drip setup, the full Hydro ONE continued to report 0 L. A later normal-flow bucket test confirmed that volume reporting works correctly. If your device does not show volume readings, test with proper water throughput before assuming a driver problem.


Troubleshooting

The device joins as a generic switch

Remove the device from SmartThings, reset it, make sure the custom driver is installed on the hub, then pair again.

The valve settings do not appear on the main device screen

That is intentional. Valve settings are in the device settings menu.

Hydro ONE Lite models have fewer settings because flow-meter and alarm-setting features are not exposed in the Lite profile.

Hydro DUO currently exposes only a conservative subset of shared settings because the dual-channel private payloads still need more real-device validation.

The valve closes after about 10 minutes

Open the device settings and change Manual watering duration.

This setting controls the device-side manual watering limit for normal Valve open / Switch on control. Set it to at least as long as your intended manual routine, preferably a bit higher.

Volume stays at 0 L

This applies only to the full Hydro ONE and Hydro DUO models with flow meter.

Use a normal-flow bucket test before assuming a driver problem. Very low-flow drip irrigation may not be enough for reliable metering. If volume still stays at 0 L with proper water flow, check for a possible hardware issue with the internal flow wheel/impeller.

Hydro DUO channels do not run at the same time

That is expected. SONOFF states that the two Hydro DUO channels cannot operate simultaneously. The driver therefore closes the other channel before opening the requested one.

Debug logging

Debug logging can be enabled in device preferences. When enabled, the driver logs additional private-cluster read/write details, including the decoded SONOFF 0xFC11 payloads.

For Hydro DUO testing, debug logs are especially useful.


Sources and references

This driver was built by combining official device information, public Zigbee integration work, SmartThings Edge documentation, and real hardware feedback.

Main references:

  1. SONOFF Hydro ONE official product page
  2. SONOFF Hydro ONE Lite official product page
  3. SONOFF Hydro DUO official product page
  4. SONOFF Help Center: SWV-ZFU / SWV-ZFE
  5. Zigbee2MQTT device page for SWV-ZFE
  6. Zigbee2MQTT device page for SWV-ZFU
  7. Zigbee2MQTT device page for SWV-ZNE
  8. Zigbee2MQTT device page for SWV-ZF2
  9. ZHA / zigpy device-handler PR #4993
  10. ZHA / zigpy device-handler PR #4927
  11. deCONZ PR #8624 for Hydro ONE Lite duration support
  12. SmartThings Edge driver components and structure
  13. SmartThings capability presentations
  14. SmartThings device profiles

Final note

This driver exists because the Hydro ONE family is not just a switch.

It is a set of Zigbee irrigation valves with safety states, timed watering, private settings, duration reporting, optional flow-related attributes, dual-channel variants and a few very SONOFF-specific quirks. SmartThings can handle that nicely, but only if the driver does a little more work than simply mapping On/Off.

And with a water valve, “a little more work” is usually preferable to discovering that the tomatoes have entered their rice-paddy era.

Actually what I would do here is close an upstream valve and turn on irrigation to try and drain any remaining water in order to relive pressure in the system so that frost won’t burst a pipe or valve.

@Andreas_Roedl Kudos to you on what you have accomplished here - you made this driver function perfectly literally over night and do a full documentation, I’m stunned!

I was able to do a proper volume test now and I’m very happy to report that the driver also shows the volume numbers correctly, matching the volume settings for manual watering I made before in the eWeLink app. I first set 3 liters, started manual watering in eWeLink, then set it to 5 liters and turned the device on with your driver 2 times - after a little while your driver showed the correct 13 liters sum!

Speaking of the eWeLink app - previously, when I was using the generic switch driver, I didn’t manage to connect to the device via Bluetooth while it’s also connected to the SmartThings hub (unplugging my ST hub to “force” the Sonoff into BLE mode did the trick). All of a sudden I can now use the eWeLink app using the proximity BLE mode and Zigbee control at the same time - I’m not sure if this is a side effect of a “proper” valve driver, nevertheless, this is now perfect.

Hint to other Hydro One users - initially I didn’t get volume readings regardless of using the eWeLink app or the driver - I think this might have to do with the Gardena micro drip system I have it connected to - maybe the water flow was just too low for the device to recognise. An internet search also pointed me to a possible issue with the “turning wheel part” inside the Sonoff coming off and blocking. So if you don’t get volume readings be sure to do a test with proper water throughput and if that’s not working either check if it maybe is a hardware issue.

@Andreas_Roedl your driver is a godsend, so please make sure you leave an info on how one can donate you a coffee!

@Andreas_Roedl , this is great! I just helped @Pajacyk0v use my edge driver for the SWV-NH so it at least would look like a valve for that user. I’m so glad you published this, thank you.

@Pajacyk0v , please use this Edge driver, and not mine. I’ll remove the SWV-ZFE fingerprint from my driver very soon.

@Andreas_Roedl , I have the SWV-ZNE (I think basically the same valve minus flow information?) and would be happy to test your driver with it - if only to get access to battery data!

I’ll have a look at it.

@Andreas_Roedl Great job! Thanks for your contribution :heart_suit: I’ll be testing the driver on my valve over the next few weeks.

@Andreas_Roedl will the SWV-ZNE SONOFF Hydro Series Hydro ONE Lite Zigbee Smart Water Valve Without Flow Meter be included too?

Maybe later this week (if it’s not too different). But why won’t you get the one with the flow meter? I think that’s one of the most interesting features.

This might help:

{
  "deviceId": "88b7869f-6bfd-42e9-ae93-428a288f23db",
  "ownerId": "8e774751-18c5-864d-54de-e146ba0eb0d2",
  "name": "normal-multi-switch-v1",
  "label": "SONOFF Hydro ONE Lite",
  "deviceManufacturerCode": "SONOFF",
  "manufacturerName": "SmartThingsCommunity",
  "deviceModel": "SWV-ZNE",
  "presentationId": "6a366898-ce7f-336f-9440-9df46de526ba",
  "locationId": "59cb229b-1aab-46d9-afef-e93df24cbdac",
  "roomId": "3bcca5ef-23d1-4546-9bdb-8b49883caa06",
  "components": [
    {
      "id": "main",
      "label": "Switch",
      "capabilities": [
        {
          "id": "switch",
          "version": 1,
          "optional": false,
          "status": {
            "switch": {
              "value": "off",
              "timestamp": "2026-06-15T17:50:25.400Z"
            }
          }
        },
        {
          "id": "signalStrength",
          "version": 1,
          "optional": false,
          "status": {
            "rssi": {
              "value": -89,
              "unit": "dBm",
              "timestamp": "2026-06-15T16:57:08.335Z"
            },
            "lqi": {
              "value": 182,
              "timestamp": "2026-06-15T16:57:08.331Z"
            }
          }
        },
        {
          "id": "refresh",
          "version": 1,
          "optional": false,
          "status": {}
        },
        {
          "id": "valleyboard16460.info",
          "version": 1,
          "optional": false,
          "status": {
            "value": {
              "value": "<table style=\"font-size:0.6em;min-width:100%\"><tbody>\n        <tr><th align=\"left\" style=\"width:40%\">Manufacturer</th><td colspan=\"2\" style=\"width:60%\">SONOFF</td></tr>\n        <tr><th align=\"left\">Model</th><td colspan=\"2\">SWV-ZNE</td></tr>\n        <tr><th align=\"left\">Endpoint</th><td colspan=\"2\">0x01</td></tr>\n        <tr><th align=\"left\">Device ID</th><td colspan=\"2\">0x0002</td></tr>\n        <tr><th align=\"left\">Profile ID</th><td colspan=\"2\">0xE54F</td></tr>\n        <tr><th align=\"left\">Network ID</th><td colspan=\"2\">0x0104</td></tr>\n        <tr><th colspan=\"3\">Server Clusters</th></tr>\n        <tr><th align=\"left\">PowerConfiguration</th><td>0x0001</td><td>0x01</td></tr><tr><th align=\"left\">PollControl</th><td>0x0020</td><td>0x01</td></tr><tr><th align=\"left\">?</th><td>0xFC11</td><td>0x01</td></tr><tr><th align=\"left\">Identify</th><td>0x0003</td><td>0x01</td></tr><tr><th align=\"left\">Basic</th><td>0x0000</td><td>0x01</td></tr><tr><th align=\"left\">OnOff</th><td>0x0006</td><td>0x01</td></tr><tr><th align=\"left\">?</th><td>0xFC57</td><td>0x01</td></tr>\n        <tr><th colspan=\"3\">Client Clusters</th></tr>\n        <tr><th align=\"left\">OTAUpgrade</th><td>0x0019</td><td>0x01</td></tr><tr><th align=\"left\">Identify</th><td>0x0003</td><td>0x01</td></tr>\n        \n      </tbody></table>",
              "timestamp": "2026-06-15T16:57:07.728Z"
            }
          }
        },
        {
          "id": "valleyboard16460.debug",
          "version": 1,
          "optional": false,
          "status": {
            "value": {
              "value": "<table style=\"font-size:0.6em;min-width:100%\"><tbody>\n        <tr><th align=\"left\" style=\"width:35%\">Actual</th><td style=\"width:65%\">SONOFF</td></tr>\n        <tr><th align=\"left\">Expected</th><td>-</td></tr>\n        <tr><th align=\"left\">Profile</th><td>normal-multi-switch-v1</td></tr>\n        <tr><th align=\"left\">Mode</th><td>Similarity</td></tr>\n        <tr><th align=\"left\">Preferences</th><td>Default</td></tr>\n        <tr><th align=\"left\">Exposes EF00</th><td>No</td></tr>\n        <tr><th align=\"left\">Default DP</th><td>Yes</td></tr>\n        </tbody></table>",
              "timestamp": "2026-06-15T16:57:07.672Z"
            }
          }
        }
      ],
      "categories": [
        {
          "name": "SmartPlug",
          "categoryType": "manufacturer"
        },
        {
          "name": "SmartPlug",
          "categoryType": "user"
        }
      ],
      "optional": false,
      "icon": "oneui/x.com.st.d.dehumidifier"
    }
  ],
  "createTime": "2026-06-15T16:57:06.357Z",
  "healthState": {
    "state": "ONLINE",
    "lastUpdatedDate": "2026-06-15T17:46:48.583Z"
  },
  "parentDeviceId": "fc012dcd-a824-4dfa-8ad3-b29c25b09aa9",
  "childDevices": [],
  "profile": {
    "id": "1e25512f-e9f9-3ba3-ac20-024b97e35dba"
  },
  "zigbee": {
    "eui": "A4C13814141CFFFF",
    "networkId": "BC80",
    "driverId": "bc7fd1bc-eb00-4b7f-8977-172acf823508",
    "executingLocally": true,
    "hubId": "fc012dcd-a824-4dfa-8ad3-b29c25b09aa9",
    "provisioningState": "PROVISIONED",
    "fingerprintType": "ZIGBEE_GENERIC",
    "fingerprintId": "GenericSwitch"
  },
  "type": "ZIGBEE",
  "vid": "6a366898-ce7f-336f-9440-9df46de526ba",
  "mnmn": "SmartThingsCommunity",
  "ocfDeviceType": "oic.d.smartplug",
  "restrictionTier": 0,
  "allowed": [
    "w:devices",
    "w:devices:locationId",
    "w:devices:roomId",
    "d:devices",
    "x:devices",
    "r:devices:visible"
  ],
  "executionContext": "LOCAL",
  "relationships": []
}

Delete and reinstall the driver. Delete the device in the SmartThings app and add the device back again.

Hi Andreas,

It seems this driver provides much more information than the standard Zigbee Switch driver.

Thanks,

Michael Hadjicosta

Thanks @Andreas_Roedl and great work, now tested with both a single ZFE and two ZNE valves and seems to be working OK, in fact it seems to be behaving better than the stock zigbee switch.

One question, is there a specific reason you recommend deleting and re-adding? I was able to swap the driver over (in the app) and it seems to be fine, deleting and re-adding is a pain for me (ST simply acts as a Zigbee/ZWave gateway for Home Assistant in my config). But happy to do that if I understand the potential benefit.

Once again, thanks for your efforts, just seeing the battery level is a win for my setup.

Tried to explain it here. That being said…

now tested with both a single ZFE and two ZNE valves and seems to be working OK. […] I was able to swap the driver over (in the app) and it seems to be fine

… that’s the ultimate test. Good to know.

The valve is already working in my garden, but I see a few issues.

1. It keeps reporting that it’s dry, even though it has water and is even able to measure it.

2. In the procedure, the device has a standard “on” and “off” status, but underneath that, the “Valve—open/closed” option is also displayed. What’s the point of this setting if changing the main status effectively opens or closes the valve anyway?

3. With a simple procedure like “On > Delay by XX minutes > Off,” the valve turns itself off via the “timed watering” option, even if I don’t select it in the procedure.

In simple terms: the driver only handles what it receives from the device and in this case it’s a Bit that’s either 0 or 1.

Have you deleted and added the device in the SmartThings app after installing the driver?

In the procedure, the device has a standard “on” and “off” status, but underneath that, the “Valve—open/closed” option

This was a request from a user in a different community. Can’t remember what was the reason.

With a simple procedure like “On > Delay by XX minutes > Off,” the valve turns itself off via the “timed watering” option, even if I don’t select it in the procedure.

Of course. That’s an important feature of the device: if the connection is lost, it should still be able to turn the water off. The devices has an internal timer.

I just got my valve delivered and installed, and it picked up your driver perfectly. It’s working very well too, but I have a related question regarding the "With a simple procedure like “On > Delay by XX minutes > Off” process.

I haven’t fully tested the timed watering feature yet, but it seems like no matter what I put in for “minutes”, it always runs for 10 minutes regardless of what I set it to. Is there a minimum value for this setting? Is there a way to debug this?

EDIT : Oddly enough, I just set the timer for 5 minutes, but it shut off after 1 minute:

Also, perhaps a feature request? Since this is a valve and not a switch, could the “Valve” section of the presentation be moved up to the top of the details view instead of On/Off and have that be right below Valve? The tile uses the Valve status, so this aligns with that. Thoughts?

I’ll have a look at it later.

It’s been really hot here for the past few days, and honestly, I can’t think straight. I’m a bit worried I’ll break the driver if I touch it. It’s supposed to get even hotter this weekend (40 °C / 104 °F), but at least next week should cool down a little.

No problem. it’s extremely hot here too. We’ve been watching the news about the heat wave happening in your area and can’t believe how hot it is. We were in Italy, France and Spain not too long ago and it was quite warm back in early November and just a few weeks ago too.

@Andreas_Roedl another interesting log. Set it to time for 6 minutes, but it never turned off until I just now turned it off almost 90 minutes later:

Now I remember, why he wanted to have a ‘switch’ capability: he said that otherwise he can’t control it from Alexa. I don’t have Alexa and can’t test it, but maybe it’s because Alexa doesn’t support valves?

Removed it anyway… :smiling_face_with_horns:

New version: 2026-06-25T15:40

Fixed a bug that started the timer when the valve was opened manually.

New preferences:

- name: timedOpenMode
  title: Timed watering mode
  description: How the custom Open valve for minutes command closes the valve. 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

… because we can’t rely on the device’s timer. The code was already there in one of the first versions, but I couldn’t test it.