DDF for Ikea Device: BADRING Water Leakage Senor
This is a working DDF for the recently released BRADING Water Leakage Sensor from IKEA:
- The Device checks for water leakage in an interval of 1 minute. (it updates its status if it detects wet = true or dry = false once every minute).
- I used the same settings for the battery status like other IKEA devices use, and it seems to be okay.
- Basic testing was performed and the BRADING sensor changes it’s state accordingly and it is visible in the deCON Rest-API.
It would be great if someone performs some additional testing and I would be delighted to get some feedback and/or recommendations for improvements.
{
  "schema": "devcap1.schema.json",
  "manufacturername": "$MF_IKEA",
  "modelid": "BADRING Water Leakage Sensor",
  "vendor": "IKEA",
  "product": "BADRING Water Leakage Sensor",
  "sleeper": true,
  "status": "Silver",
  "path": "/devices/badring_water_leakage_sensor.json",
  "subdevices": [
    {
      "type": "$TYPE_WATER_LEAK_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0500"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/productid",
          "refresh.interval": 86400
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/alert",
          "default": "none"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 86400,
          "read": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "fn": "zcl:attr"
          },
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Math.round(Attr.val / 2)",
            "fn": "zcl:attr"
          },
          "default": 0
        },
        {
          "name": "config/group"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/water",
          "awake": true,
          "refresh.interval": 30,
          "read": {
            "at": "0x0002",
            "cl": "0x0500",
            "fn": "zcl:attr"
          },
          "parse": {
            "fn": "ias:zonestatus",
            "mask": "alarm1,alarm2"
          },
          "default": false
        }
      ]
    }
  ]
}















