Sonoff Smart Water Valve not pairing

Hi Community,
I want to paire a Sonoff smart water valve with conbee 2, but it’s not detected.
Any suggestions?
Cheers Hartmut

Any updates of success?

Hello, probably not suported, there is something about it on the github ?

Is there a way to create the ddf file by its own? ChatGPT claims, he can help me to do this, anyone tried this? How to get the information for ddf file, can I read out the data of an unsupportet device in deconz UI?

I cannot found any information on github for this device.

I recommend opening a device request with screenshots on the forums

Dear Mimiix,

shall I open this here? Or in Github? I can switch the Water Valve without pairing it, by using the deconz-gui. It works like magic :-). Now it would be cool to have this in the device list of conbee II in my case, so that i can handle it with iobroker. There is also a kind of flow information and battery status, what screenshots do we need, and where I shall upload these?




Unfortunately I do not know the scaling factors for flow and battery level (could be tested by using new batteries and assuming this is 100%, in case of flow I have no reference)

{
  "device": {
    "model": "SWV-BSP",
    "manufacturername": "Sonoff",
    "product": "Water Valve",
    "type": "On/Off Output",
    "nodes": [
      {
        "address": "0x00158d0002f1eae9",
        "endpoints": {
          "0x01": {
            "device": "On/Off Output",
            "inClusters": [
              "0x0006",  // On/Off
              "0x0001",  // Power Configuration (Batterielevel)
              "0x0404"   // Flow Measurement
            ],
            "outClusters": []
          }
        }
      }
    ]
  },
  "subdevices": [
    {
      "type": "On/Off Light",
      "restapi": "/lights",
      "uuid": "Water Valve On/Off",
      "read": [
        {
          "endpoint": 1,
          "cluster": "0x0006",
          "attribute": "0x0000",  // On/Off State
          "name": "on"
        }
      ],
      "write": [
        {
          "endpoint": 1,
          "cluster": "0x0006",
          "command": "on",  // On Command
          "name": "on"
        },
        {
          "endpoint": 1,
          "cluster": "0x0006",
          "command": "off",  // Off Command
          "name": "off"
        }
      ]
    },
    {
      "type": "Flow Measurement",
      "restapi": "/sensors",
      "uuid": "Water Valve Flow",
      "read": [
        {
          "endpoint": 1,
          "cluster": "0x0404",
          "attribute": "0x0000",  // Measured Value
          "name": "flow"
        }
      ]
    },
    {
      "type": "Battery",
      "restapi": "/sensors",
      "uuid": "Water Valve Battery",
      "read": [
        {
          "endpoint": 1,
          "cluster": "0x0001",
          "attribute": "0x0021",  // Battery Percentage
          "name": "battery"
        }
      ]
    }
  ]
}

Kann das funktionieren?

Without the required screenshoot, not possible to make something reliable, miss important informations like the model ID and the Manufacture name, but you can improve this DDF

{
  "schema": "devcap1.schema.json",
  "manufacturername": "Sonoff",
  "modelid": "SWV-BSP",
  "vendor": "Sonoff",
  "product": "Smart water valve",
  "sleeper": true,
  "status": "Gold",
  "subdevices": [
    {
      "type": "$TYPE_ON_OFF_OUTPUT",
      "restapi": "/lights",
      "uuid": [
        "$address.ext",
        "0x01"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "config/battery",
          "parse": {"at": "0x0021", "cl": "0x0001", "ep": 1, "eval": "Item.val = Attr.val"},
          "read": {"fn": "zcl:attr", "ep": 1, "cl": "0x0001", "at": "0x0021"},
          "refresh.interval": 4000,
          "awake": true
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "state/on"
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 60,
          "max": 3600,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "dst.ep": 1,
      "cl": "0x0006",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x10",
          "min": 10,
          "max": 300
        }
      ]
    }
  ]
}

Probably need to set better timer for bind/report too.
And you can forget ChatGPT, it can help, but creation from void is not it’s specilality, and more for specific stuff, the DDF is not something “standard”, it’s specific to deconz.

Faster to take an existing DDF for a similar device and edit it.

Thanks for your response. I tried to import the DDF file (I just copy the code to editor and save with name sonoff**.ddf) with your code, unfortunately “failed import” via the phoscon APP in the web browser. Do you know, what could be the issue?

Are there specific information about Model ID and Manaufactory name, which I can extract from the decon-gui and provide you to improve the ddf.

Does this screenshot help:


Please open an request on GitHub.

done, hopefully with all needed information

1 Like