Pairing not enabling RFDL-ZB-MS motion sensing, did before just fine

I changed to the DDF you put higher in this thread and the motion icon is back (no longer the alarm icon)… and I think I know why.

Deconz built-in definition looks like it uses…
“type”: “$TYPE_ALARM_SENSOR”,
and not (like your supplied DDF)…
“type”: “$TYPE_PRESENCE_SENSOR”,

Your DDF is missing Temp and Lux, not sure how to integrate into you DDF.
I attached my exported’ DDF from the built-in definition. Would you be able to integrate them?

Ha yes, but why ?
Do you want a TYPE_ALARM_SENSOR or a TYPE_PRESENCE_SENSOR ?

Can try this DDF (it use TYPE_ALARM_SENSOR )

{
  "schema": "devcap1.schema.json",
  "manufacturername": "BOSCH",
  "modelid": "RFDL-ZB-MS",
  "product": "Motion sensor",
  "vendor": "Bosch",
  "status": "Gold",
  "sleeper": true,
  "subdevices": [
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0400"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/tholddark",
          "default": 12000
        },
        {
          "name": "config/tholdoffset",
          "default": 7000
        },
        {
          "name": "state/dark",
          "default": false
        },
        {
          "name": "state/daylight",
          "default": false
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lightlevel",
          "default": 0
        },
        {
          "name": "state/lux",
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0402"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "config/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature",
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_ALARM_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0500"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0402",
        "endpoint": "0x01",
        "in": [
          "0x0000",
          "0x0001",
          "0x0500"
        ]
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "config/enrolled"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/pending"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/alarm"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lowbattery"
        },
        {
          "name": "state/tampered"
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 600,
          "max": 43200,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 5,
          "max": 300,
          "change": "0x0000000A"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 5,
          "max": 300,
          "change": "0x07d0"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0500"
    }
  ]
}

Lot of field are using defaut value, wait a little and tell me wich one are not working.

It looks like its working but please note, the icons show 2 different ones (alarm icon, temp icon), even though they are the exact same device. Also, would like to have it use the Presence Sensor, which would match all other motion devices that Deconz detects.

ok so new DDF working with ZHAPresence

{
  "schema": "devcap1.schema.json",
  "manufacturername": "BOSCH",
  "modelid": "RFDL-ZB-MS",
  "product": "Motion sensor",
  "vendor": "Bosch",
  "status": "Gold",
  "sleeper": true,
  "subdevices": [
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0400"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/tholddark",
          "default": 12000
        },
        {
          "name": "config/tholdoffset",
          "default": 7000
        },
        {
          "name": "state/dark",
          "default": false
        },
        {
          "name": "state/daylight",
          "default": false
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lightlevel",
          "default": 0
        },
        {
          "name": "state/lux",
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0402"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "config/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature",
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_PRESENCE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0500"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0402",
        "endpoint": "0x01",
        "in": [
          "0x0000",
          "0x0001",
          "0x0500"
        ]
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "config/enrolled"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/pending"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/presence"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lowbattery"
        },
        {
          "name": "state/tampered"
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 600,
          "max": 43200,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 5,
          "max": 300,
          "change": "0x0000000A"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 5,
          "max": 300,
          "change": "0x07d0"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0500"
    }
  ]
}

I think it will be better to delete the device, update the DDF, and re-include the device, I m not sure this DDF can’t create conflict with previous entry.

I think it’s because Phoscon display icons according to sensor type, not device type.

this latest DDF seems to be working. I didnt remove/re-add any devices, just restarted Deconz. I will try to add a ‘new’ Bosch device to see if the DDF loads properly for it… will report back later today to make sure this bug is not occurring with the DDF…

More testing, its not working
I removed and re-added the device.

Motion : working
Temperature : working

Battery : not reading (see screenshot of Deconz device node)
Light : no parameter shows at all even though it shows in Deconz device node, its not exposing it to the API like it does with the ‘native’ device driver (see screenshot with same device from prior pairing)

Also, note in the screenshot…
upper Bosch device shows parameters Deconz exposes (device before removing and re-pairing)
VS
lower (same model) Bosch shows parameters Z2M exposes

would be nice to have all those same parameters through Deconz… can we?

Device after re-pairing…



You mean battery low and tamper ? From the DDF you need to have them on the ZHAPresence sensor.
Same for the light sensor, all seem fine on the DDF.

Can you take a lok direclty on the API ? Using Phoscon/help/API Information/sensor to see if you haven’t the field you want and the ZHALightLevel sensor ?

for the battery, yes, I m using the attribute 0x0021 and this device don’t support it, I will correct that on next DDF.

Why is this sooooo hard!?

Years ago I added 8 of these Bosch RFDL-ZB-MS, 4 are still on Deconz and they work 100% fine. They dont have all the parameters but at least they work.

I took 4 off Deconz to test Z2M, they add fine to Z2M and have WAY more parameters BUT Z2M’s network is not stable, it drops devices all teh time so… I want to put them back on Deconz - BUT adding them to Deconz is a nightmare, they dont pair properly with Deconz and they are missing many parameters :frowning:

Deconz must have broke something when moving to DDF that 100% worked prior to DDF.

I also dont get why this is so hard to get fixed… if Z2M gets it 100% paired with all the parameters, why cant Deconz? Cant we get the info needed from Z2M and replicate it in Deconz?

Yes we can, not a problem, but I haven’t the device to make integration, even we can look how it work on other project (and not realy usefull for this device as it respect zigbee rules), it’s possible to make typo on the DDF for exemple. It’s for that we need someone test it.

I have see the battery problem, but I don’t see why the light sensor is not working, the problem can come from the DDF or from IObroker (if it’s your third app), it’s for that I m asking you to check direclty in the API, if the device is in the API, the problem is from your third app, else it’s from the DDF.

After reflexion, deconz can’t create new entry in tha API only if it is in “pairing mode”, it’s perhaps for that the “light” entry is not created ? Have you try to re-include it ?

I’ve literally tried 20 times with 4 separate units. Started this months ago. An API is an interface between two things (not a typically a user interface) so are you asking me to look in the Deconz app or Phoscon web app, or something else?
screenshots below are here’s what I see in both. There is no good/easy way to show you all the node details from Deconz (would be nice to have a single-screen all-node view) but the older ones, like in the screenshot. You’ll see the battery node is fully populated in the older one (using the same DDF) vs the post a few above this when it did not populate on the newly paired device – which is now working 100% in Z2M (with many more parameters exposed)

image

The reason when anybody is asking for the API representation of a device is that it contains the bare and unfiltered truth of how a device looks like and is exposed by deconz. It is absolutely an interface to be used by users as well as other programs/software and generally used to set up and configure devices, among other things, by any 3rd part software out there. Phoscon by the way is also getting its data from the REST API and you can also check what’s going on there by going to Help → API Information. In case anything is not exposed via the home automation software somebody is using, there’s typically 2 main reasons: either deconz does not expose it or the 3rd party software does not expose it.

That being said, it’s deconz for the device at hand as the used DDFs are far from being complete. I’ve create a pull request which completes the device support. Please note that you must place the 2 used JS files in the very same directory as the DDF for everything to work. The bosch_battery.js file is part of the PR and must be named like that unless you change the name in the DDF. The 2nd JS file can be found here, same conditions for the name apply as well.