dresden-elektronik / deconz-rest-plugin

deCONZ REST-API plugin to control ZigBee devices
BSD 3-Clause "New" or "Revised" License
1.9k stars 503 forks source link

OWON PIR313-E #5929

Closed sirinveen closed 2 years ago

sirinveen commented 2 years ago

Device

Screenshots

image image

Basic

image

Identify

image

Power Configuration

image

IAS Zone

image

Illuminance measurement

image

Temperature measurement

image

Relative Humidity measurement

image

Occupancy Sensor is missing!!

Smanar commented 2 years ago

Hello, so the DDF can't work it s not the same device Your device is a "PIR313" and on your DDF you are using "PIR313-E", you can use drag and drop to fill this field too. You don't need binding for the 0x0000 cluster. When the DDF will work the device name will change from 0xXXXX to a better name.

sirinveen commented 2 years ago

hi smanar,

I forget to precise it's a PIR313-E model (I just update my template) but deCONZ recognise like a PIR313.

Smanar commented 2 years ago

Hu, It's not work like that ^^, information you see in deconz are from the device firmware, it s the device itself that say it's a "PIR313", you can this value in the capture "Basic"

You need to use this one in the DDF.

sirinveen commented 2 years ago

Means he sell me the wrong model :/ when I set the name PIR313 I can see now the sensor in Phoscon but the value aren't updated...

image
Smanar commented 2 years ago

Ca you show your DDF ?

sirinveen commented 2 years ago

I made different change but without success. Here the preview:

{ "schema": "devcap1.schema.json", "manufacturername": "OWON", "modelid": "PIR313", "vendor": "OWON", "product": "PIR313", "sleeper": false, "status": "Gold", "path": "/devices/pir313.json", "subdevices": [ { "type": "$TYPE_PRESENCE_SENSOR", "restapi": "/sensors", "uuid": [ "$address.ext", "0x01", "0x0406" ], "items": [ { "name": "attr/id" }, { "name": "attr/lastannounced" }, { "name": "attr/lastseen" }, { "name": "attr/manufacturername" }, { "name": "attr/modelid" }, { "name": "attr/name" }, { "name": "attr/swversion", "awake": true, "refresh.interval": 84000, "parse": { "at": "0x0004", "cl": "0x0000", "ep": 255, "eval": "Item.val = Attr.val", "fn": "zcl", "mf": "0x113c" } }, { "name": "attr/type" }, { "name": "attr/uniqueid" }, { "name": "config/duration" }, { "name": "config/on" }, { "name": "config/reachable" }, { "name": "state/lastupdated" }, { "name": "state/presence", "awake": true, "parse": { "eval": "Item.val = Attr.val;", "fn": "zcl" } } ] }, { "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", "awake": true, "refresh.interval": 84000, "parse": { "at": "0x0004", "cl": "0x0000", "ep": 3, "eval": "Item.val = Attr.val", "fn": "zcl", "mf": "0x113c" } }, { "name": "attr/type" }, { "name": "attr/uniqueid" }, { "name": "config/offset", "default": 0 }, { "name": "config/on" }, { "name": "config/reachable" }, { "name": "state/lastupdated" }, { "name": "state/temperature", "awake": true, "parse": { "at": "0x0000", "cl": "0x0402", "ep": 3, "eval": "Item.val = Attr.val + R.item('config/offset').val", "fn": "zcl" }, "default": 0 } ] }, { "type": "$TYPE_HUMIDITY_SENSOR", "restapi": "/sensors", "uuid": [ "$address.ext", "0x01", "0x0405" ], "items": [ { "name": "attr/id" }, { "name": "attr/lastannounced" }, { "name": "attr/lastseen" }, { "name": "attr/manufacturername" }, { "name": "attr/modelid" }, { "name": "attr/name" }, { "name": "attr/swversion", "refresh.interval": 84000, "parse": { "at": "0x0004", "cl": "0x0000", "ep": 3, "eval": "Item.val = Attr.val", "fn": "zcl", "mf": "0x113c" } }, { "name": "attr/type" }, { "name": "attr/uniqueid" }, { "name": "config/offset", "description": "Relative offset to the main measured value.", "default": 0 }, { "name": "config/on" }, { "name": "config/reachable" }, { "name": "state/humidity", "awake": true, "parse": { "at": "0x0000", "cl": "0x0405", "ep": 3, "eval": "Item.val = Attr.val + R.item('config/offset').val", "fn": "zcl" }, "default": 0 }, { "name": "state/lastupdated" } ] }, { "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", "refresh.interval": 84000, "parse": { "at": "0x0004", "cl": "0x0000", "ep": 2, "eval": "Item.val = Attr.val", "fn": "zcl", "mf": "0x113c" } }, { "name": "attr/type" }, { "name": "attr/uniqueid" }, { "name": "config/on" }, { "name": "config/reachable" }, { "name": "config/tholddark", "description": "Specifies at which <code class=\"api-attribute\">lightlevel the <code class=\"api-attribute\">dark attribute turns false.", "default": 12000 }, { "name": "config/tholdoffset", "description": "Relative offset to <code class=\"api-attribute\">tholddark. Sets <code class=\"api-attribute\">daylight attribute to true when when lightlevel is at or above (tholddark + tholdoffset).", "default": 7000 }, { "name": "state/dark" }, { "name": "state/daylight", "description": "True when <code class=\"api-attribute\">lightlevel suits daylight according <code class=\"api-attribute\">tholddark and <code class=\"api-attribute\">tholdoffset configuration." }, { "name": "state/lastupdated" }, { "name": "state/lightlevel", "awake": true, "parse": { "at": "0x0000", "cl": "0x0400", "ep": 2, "fn": "zcl", "script": "../generic/illuminance_cluster/sml_light_level.js" } }, { "name": "state/lux" } ] }, { "type": "$TYPE_BATTERY_SENSOR", "restapi": "/sensors", "uuid": [ "$address.ext", "0x01", "0x0001" ], "items": [ { "name": "attr/id" }, { "name": "attr/lastannounced" }, { "name": "attr/lastseen" }, { "name": "attr/manufacturername" }, { "name": "attr/modelid" }, { "name": "attr/name" }, { "name": "attr/swversion", "refresh.interval": 84000, "parse": { "at": "0x0004", "cl": "0x0000", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl", "mf": "0x113c" } }, { "name": "attr/type" }, { "name": "attr/uniqueid" }, { "name": "config/on" }, { "name": "config/reachable" }, { "name": "state/battery", "awake": true, "refresh.interval": 3600, "parse": { "at": "0x0021", "cl": "0x0001", "ep": 1, "eval": "Item.val = Attr.val / 2", "fn": "zcl" } }, { "name": "state/lastupdated" } ] } ], "bindings": [ { "bind": "unicast", "src.ep": 2, "cl": "0x0400", "report": [ { "at": "0x0000", "dt": "0x21", "min": 0, "max": 600, "change": "0x0000FFFF" } ] }, { "bind": "unicast", "src.ep": 1, "cl": "0x0001", "report": [ { "at": "0x0021", "dt": "0x20", "min": 0, "max": 0 } ] }, { "bind": "unicast", "src.ep": 3, "cl": "0x0402", "report": [ { "at": "0x0000", "dt": "0x29", "min": 60, "max": 0, "change": "0x0000000A" } ] }, { "bind": "unicast", "src.ep": 3, "cl": "0x0405", "report": [ { "at": "0x0000", "dt": "0x21", "min": 1, "max": 0 } ] }, { "bind": "unicast", "src.ep": 1, "cl": "0x0500", "report": [ { "at": "0x0001", "dt": "0x31", "min": 0, "max": 0 } ] } ] }

sirinveen commented 2 years ago

I change endpoint and now I receive value for temperature and humidity but not light level and motion don't run because I don't have the cluster for that :/

image
Smanar commented 2 years ago

Can you try with this DDF

{
  "schema": "devcap1.schema.json",
  "manufacturername": "OWON",
  "modelid": "PIR313",
  "vendor": "OWON",
  "product": "PIR313",
  "sleeper": false,
  "status": "Gold",
  "path": "/devices/pir313.json",
  "subdevices": [
    {
      "type": "$TYPE_PRESENCE_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/swversion",
          "awake": true,
          "refresh.interval": 84000,
          "parse": {
            "at": "0x0004",
            "cl": "0x0000",
            "ep": 255,
            "eval": "Item.val = Attr.val",
            "fn": "zcl",
            "mf": "0x113c"
          }
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/duration"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/enrolled",
          "public": false
        },
        {
          "name": "config/pending"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/lowbattery"
        },
        {
          "name": "state/tampered"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/presence"
        }
      ]
    },
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0402"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "awake": true,
          "refresh.interval": 84000,
          "parse": {
            "at": "0x0004",
            "cl": "0x0000",
            "ep": 3,
            "eval": "Item.val = Attr.val",
            "fn": "zcl",
            "mf": "0x113c"
          }
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature",
          "awake": true,
          "parse": {
            "at": "0x0000",
            "cl": "0x0402",
            "ep": 3,
            "eval": "Item.val = Attr.val + R.item('config/offset').val",
            "fn": "zcl"
          },
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_HUMIDITY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0405"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "parse": {
            "at": "0x0004",
            "cl": "0x0000",
            "ep": 3,
            "eval": "Item.val = Attr.val",
            "fn": "zcl",
            "mf": "0x113c"
          }
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/offset",
          "description": "Relative offset to the main measured value.",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/humidity",
          "awake": true,
          "parse": {
            "at": "0x0000",
            "cl": "0x0405",
            "ep": 3,
            "eval": "Item.val = Attr.val + R.item('config/offset').val",
            "fn": "zcl"
          },
          "default": 0
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "0x0400"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/tholddark",
          "description": "Specifies at which lightlevel the dark attribute turns false.",
          "default": 12000
        },
        {
          "name": "config/tholdoffset",
          "description": "Relative offset to tholddark. Sets daylight attribute to true when when lightlevel is at or above (tholddark + tholdoffset).",
          "default": 7000
        },
        {
          "name": "state/dark"
        },
        {
          "name": "state/daylight",
          "description": "True when lightlevel suits daylight according tholddark and tholdoffset configuration."
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lightlevel",
          "awake": true
        },
        {
          "name": "state/lux"
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 2,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600,
          "change": "0x0000FFFF"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 60,
          "max": 3600
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 600,
          "change": "0x0000000A"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0405",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600
        }
      ]
    }
  ]
}

For the presence you use the Cluster 0x0500. I have let the code by defaut, for the state/presence I have removed the ZHAbattery sensor, as you have config/battery for others sensors I have removed too the binding for cluster 0x0500 because not all device need it, so if the presence don't work, add the binding (and only it, so only the left panel), and if it's still not working add the report on right panel, attribute 0x0002

sirinveen commented 2 years ago

I find solution for Light/Level I delete the bindings and let by default (Parse to none) and now I receive the result in Phoscon.

image

Only thing don't work is motion. I try different solution with 0x0500 for motion but no success the sensor stay detected and have not effect. With and without bindings...

We are near of a global solution ... I continue to try different possibility about sensor ...

Smanar commented 2 years ago

Can you show the device json for the motion sensor ? you can find it in phosocn/ help / api information. Can set the

        {
          "name": "config/enrolled",
          "public": false
        },

To public = true, so we will be able to see if the enrollement have succed. Have you tried with bindig + reporting ? (But I don't know a device than need that)

      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0500",
      "report": [
        {
          "at": "0x002",
          "dt": "0x19",
          "min": 300,
          "max": 3600
        }

Can try too, force some value in state/presence

          "awake": true,
          "parse": {
            "at": "0x0002",
            "cl": "0x0500",
            "ep": 1,
            "eval": "Item.val = (Attr.val & 0x3) != 0"
          }

and look for notification, some ias device stay at 1, so display always presence = true, but send a new notification at every detection.

sirinveen commented 2 years ago

good news I do a new bindings with reporting and set the new eval (Item.val = (Attr.val & 0x3) != 0) and now it's running. Sensor Mention go back to none after 1 minute!

For your info here below the json of the motion sensor. What do you mean with config/enrolled? Where I find it?

{
    "config": {
        "battery": 100,
        "duration": 0,
        "on": false,
        "reachable": true
    },
    "etag": "9dee52d0bcb0bb118b274aea3f81adb7",
    "lastannounced": "2022-04-03T15:58:02Z",
    "lastseen": "2022-04-03T18:27Z",
    "manufacturername": "OWON",
    "modelid": "PIR313",
    "name": "Presence 289",
    "state": {
        "lastupdated": "2022-04-03T18:27:28.021",
        "presence": false
    },
    "type": "ZHAPresence",
    "uniqueid": "3c:6a:2c:ff:fe:d1:b1:73-01-0406"
}
Smanar commented 2 years ago

What do you mean with config/enrolled? Where I find it?

No need, if the sensor is working it mean the enrollement is done. If all is working can you make a PR with the DDF fo other ? (there is already a folder for owon)

sirinveen commented 2 years ago

For my knowledge want would be the process if the enrolment wasn't done. Where you do that?

When you said: Can set the to public = true { "name": "config/enrolled", "public": false },

I delete the sensor and I have big difficulties again he recognise every sensor. Now it's look like everything is working. I just wait to be sure and I will edit the DDF.

Smanar commented 2 years ago

IAS device are special, they need 2 "inclusions", 1 you make yourself when including the device in the zigbee network, and after that the gateway make the enrollement (you have nothing to do, deconz do the job, when it work ...) So the device can be included in the zigbee network but not enrolled, so it can don't work (some device don't use the enrollement), this value is a counter, that increase at every enrollement step, so we can use it to check where we are. And as this kind of device are lazy, the requests can be delayed.

sirinveen commented 2 years ago

Thanks for the explanation.

After I reset and reconnect the sensor one sensor don't refresh anymore it's Light Level.

He refresh only if I manually push the button read on the cluster. Before he refresh also the cluster automatically but now not anymore :-/

image

Here the DDF about Light Level Sensor, here without bindings. What can I try?

`  {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "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/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/tholddark",
          "description": "Specifies at which <code class=\"api-attribute\">lightlevel</code> the <code class=\"api-attribute\">dark</code> attribute turns false.",
          "default": 12000
        },
        {
          "name": "config/tholdoffset",
          "description": "Relative offset to <code class=\"api-attribute\">tholddark</code>. Sets <code class=\"api-attribute\">daylight</code> attribute to true when when lightlevel is at or above (tholddark + tholdoffset).",
          "default": 7000
        },
        {
          "name": "state/dark"
        },
        {
          "name": "state/daylight"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lightlevel",
          "awake": true,
          "parse": {
            "at": "0x0000",
            "cl": "0x0400",
            "ep": 2,
            "eval": "Item.val = Attr.val;",
            "fn": "zcl",
            "mf": "0x113c"
          },
          "default": 0
        },
        {
          "name": "state/lux"
        }
      ]
    },`
Smanar commented 2 years ago

He refresh only if I manually push the button read on the cluster. Before he refresh also the cluster automatically but now not anymore :-/

It's typically a bind issue. The DDF is good because it update the value when you read the attribute on deconz. You just miss the periodic report, take a look on bind and on the attribute 0x0000, defaut value used by deconz are min 5, max 300, change 2000.

"mf": "0x113c"

Are you sur you need it ? few device use a manufacture code.

sirinveen commented 2 years ago

When I use DDF bindings for illuminance no chance that the lux is updated in deCONZ and also in Phoscon. When I do a bind dropbox (old method) it's now ok :-/ Not easy to switch with new and old method ...

Smanar commented 2 years ago

They need to work same, and don't forget there is 2 phase, the binding and the report.

"bind": "unicast",
"src.ep": 2,
"cl": "0x0400",
"report": [
{
"at": "0x0000",
"dt": "0x21",
"min": 0,
"max": 600,
"change": "0x0000FFFF"
}

Try with value min 5, max 300, change 2000

github-actions[bot] commented 2 years ago

As there has not been any response in 21 days, this issue has been automatically marked as stale. At OP: Please either close this issue or keep it active It will be closed in 7 days if no further activity occurs.

github-actions[bot] commented 2 years ago

As there has not been any response in 28 days, this issue will be closed. @ OP: If this issue is solved post what fixed it for you. If it is not solved, request to get this opened again.

Idaho947 commented 2 years ago

Hello, i've just buy this sensor. The ddf will be include in a stable version ?

Smanar commented 2 years ago

I don't find it, can you try this new DDF (based on the issue)

{
  "schema": "devcap1.schema.json",
  "manufacturername": "OWON",
  "modelid": "PIR313",
  "vendor": "OWON",
  "product": "PIR313",
  "sleeper": false,
  "status": "Gold",
  "subdevices": [
    {
      "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/duration"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/enrolled",
          "public": false
        },
        {
          "name": "config/pending"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/lowbattery"
        },
        {
          "name": "state/tampered"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/presence"
        }
      ]
    },
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "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/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature"
        }
      ]
    },
    {
      "type": "$TYPE_HUMIDITY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0405"
      ],
      "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/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/humidity"
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "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/on"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/tholddark",
          "default": 12000
        },
        {
          "name": "config/tholdoffset",
          "default": 7000
        },
        {
          "name": "state/dark"
        },
        {
          "name": "state/daylight"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lightlevel"
        },
        {
          "name": "state/lux"
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 2,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600,
          "change": "0x0000FFFF"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 60,
          "max": 3600
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 600,
          "change": "0x0000000A"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0405",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600
        }
      ]
    }
  ]
}
Idaho947 commented 2 years ago

Thanks, everything works fine except the lux and batterie

Smanar commented 2 years ago

So "state/lightlevel" is working but not "state/lux" ?

For battery can wait somes hours, if it's still not working try to change a

{
  "name": "config/battery"
}

by

{
  "name": "config/battery",
  "awake": true,
  "refresh.interval": 3600,
  "parse": {
    "at": "0x0021",
    "cl": "0x0001",
    "ep": 1,
    "eval": "Item.val = Attr.val / 2",
    "fn": "zcl"
  }
}

For a sensor, and look it somes hours after (need to read direclty in the API because it will update it only on the sensor you have made the change)

No need to re-include, just make a hot-reload.

Idaho947 commented 2 years ago

Sorry no state lightlevel, daylight, lux and dark don't work. Capture from jeedom but it's the same in deconz. Capture

Ok for batterie state I'll check

Smanar commented 2 years ago

Ok, so like the other issue, can you try to read :

It need to update all missing field in the DDF, else I m using perhaps a bad endpoint, or the DDF is broken.

Idaho947 commented 2 years ago

For the 0x02 : 0x02

For the 0x000 : 0x04

Smanar commented 2 years ago

The endpoint 0x02 is

161397666-653557cf-b406-4894-82cc-b0e2fa42f469

It's just to be sure it's the 0x02 and not the 0x03.

When you have read the value in deconz, it have updated values in jeedom ?

Can be the binding


        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600,
          "change": "0x0000FFFF"
        }

0xffff is to disable generaly, defaut values are

        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 5,
          "max": 300,
          "change": "0x000007d0"
        }

And after changing binding configuration, the re-inclusion is faster, because the "hot reload" need to compare old values with new one and wait the device be awake to make the stuff.

Idaho947 commented 2 years ago

I'll try this evening I'll tell you. It s the 02 sure.

Smanar commented 2 years ago

Ok so new DDF with all bnattery and new binding for illuminance

{
  "schema": "devcap1.schema.json",
  "manufacturername": "OWON",
  "modelid": "PIR313",
  "vendor": "OWON",
  "product": "PIR313",
  "sleeper": false,
  "status": "Gold",
  "subdevices": [
    {
      "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/duration"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/enrolled",
          "public": false
        },
        {
          "name": "config/pending"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/lowbattery"
        },
        {
          "name": "state/tampered"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/presence"
        }
      ]
    },
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "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/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature"
        }
      ]
    },
    {
      "type": "$TYPE_HUMIDITY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0405"
      ],
      "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/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "state/humidity"
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "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/on"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/tholddark",
          "default": 12000
        },
        {
          "name": "config/tholdoffset",
          "default": 7000
        },
        {
          "name": "state/dark"
        },
        {
          "name": "state/daylight"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lightlevel"
        },
        {
          "name": "state/lux"
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 2,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600,
          "change": "0x000007d0"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 60,
          "max": 3600
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 600,
          "change": "0x0000000A"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0405",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600
        }
      ]
    }
  ]
}
Idaho947 commented 2 years ago

I try you addition but nothing change. And all the values for luminance and batterie don't change in jeedom when I read the cluster in deconz

Smanar commented 2 years ago

And with a fingerprint for the illuminance cluster ?

{
  "schema": "devcap1.schema.json",
  "manufacturername": "OWON",
  "modelid": "PIR313",
  "vendor": "OWON",
  "product": "PIR313",
  "sleeper": false,
  "status": "Gold",
  "subdevices": [
    {
      "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/duration"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/enrolled",
          "public": false
        },
        {
          "name": "config/pending"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/lowbattery"
        },
        {
          "name": "state/tampered"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/presence"
        }
      ]
    },
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "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/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature"
        }
      ]
    },
    {
      "type": "$TYPE_HUMIDITY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0405"
      ],
      "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/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "state/humidity"
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "0x0400"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0106",
        "endpoint": "0x02",
        "in": [
          "0x0000",
          "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/on"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/tholddark",
          "default": 12000
        },
        {
          "name": "config/tholdoffset",
          "default": 7000
        },
        {
          "name": "state/dark"
        },
        {
          "name": "state/daylight"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/lightlevel"
        },
        {
          "name": "state/lux"
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 2,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600,
          "change": "0x000007d0"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 60,
          "max": 3600
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 600,
          "change": "0x0000000A"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0405",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600
        }
      ]
    }
  ]
}
Idaho947 commented 2 years ago

Batterie is good I test for luminance and wait a little time but now it's still 0 after a hot reload

Smanar commented 2 years ago

Batterie is good

Ha it finally work after some time ?

For illuminance, you have same endpoint than him ?

image

If it still not working, nothing in logs ? (in deconz/help/Debug view with flag "info" 'DDF" and "info_l2")

Idaho947 commented 2 years ago

yes batterie is good after four hours. It's seem to be the same : Capture

sirinveen commented 2 years ago

Hi,

Here my DDF see below and work without issue.

 {
  "schema": "devcap1.schema.json",
  "manufacturername": "OWON",
  "modelid": "PIR313",
  "vendor": "OWON",
  "product": "PIR313",
  "sleeper": true,
  "status": "Gold",
  "path": "/devices/pir313.json",
  "subdevices": [
    {
      "type": "$TYPE_PRESENCE_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/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/duration",
          "awake": true,
          "refresh.interval": 10,
          "read": {
            "at": "0x0002",
            "cl": "0x0500",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0002",
            "cl": "0x0500",
            "ep": 1,
            "eval": "Item.val = 0;",
            "fn": "zcl"
          },
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/presence",
          "awake": true,
          "parse": {
            "fn": "ias:zonestatus",
            "mask": "alarm1"
          },
          "default": false
        }
      ]
    },
    {
      "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/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature",
          "awake": true,
          "refresh.interval": 30,
          "read": {
            "fn": "None"
          },
          "parse": {
            "at": "0x0000",
            "cl": "0x0402",
            "ep": 3,
            "eval": "Item.val = Attr.val + R.item('config/offset').val",
            "fn": "zcl"
          },
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_HUMIDITY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0405"
      ],
      "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/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/humidity",
          "awake": true,
          "parse": {
            "at": "0x0000",
            "cl": "0x0405",
            "ep": 3,
            "eval": "Item.val = Attr.val + R.item('config/offset').val",
            "fn": "zcl"
          },
          "default": 0
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "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/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",
          "awake": true,
          "refresh.interval": 30,
          "read": {
            "at": "0x0000",
            "cl": "0x0400",
            "ep": 2,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0000",
            "cl": "0x0400",
            "ep": 2,
            "eval": "Item.val = Attr.val;",
            "fn": "zcl"
          },
          "default": 0
        },
        {
          "name": "state/lux",
          "default": 0
        }
      ]
    },
    {
      "type": "$TYPE_BATTERY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0001"
      ],
      "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/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/battery",
          "awake": true,
          "refresh.interval": 3600,
          "read": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "fn": "zcl"
          },
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = (Attr.val / 2);",
            "fn": "zcl"
          }
        },
        {
          "name": "state/lastupdated"
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 300,
          "change": "0x00000014"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 300,
          "max": 3000,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0405"
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0500"
    }
  ]
}

And here some picture of the Bindings if that can help you. And yes must be patient to have all attribute refresh. A hot reload can help or a reset.

image image

Idaho947 commented 2 years ago

I put it three hours ago and restart my Deconz server. Nothing change. Lux stay at 0

Smanar commented 2 years ago

Ha, strange @sirinveen , you are not using reporting for illuminance cluster. You haven't

    {
      "bind": "unicast",
      "src.ep": 2,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600,
          "change": "0x000007d0"
        }
      ]
    },

And the cluster is not visible on your capture on binding tab.

But instead, you are making an agresssive poll

       {
         "name": "state/lightlevel",
         "awake": true,
         "refresh.interval": 30,

Every 30s .....

Idaho947 commented 2 years ago

Yep for me non lux with this ddf

Smanar commented 2 years ago

You have your sensor in a dark room ^^ ?

Idaho947 commented 2 years ago

:-p No, no in my living room near an other luxmeter to be sure 0 is wrong.

Smanar commented 2 years ago

Yeah and you have the value in the GUI https://github.com/dresden-elektronik/deconz-rest-plugin/issues/5929#issuecomment-1311552738

And when you read the value in deconz It don't update the value in the API, so it's not a binding/report issue.

On the @sirinveen he is using a more agressive method but 100% with DDF

       {
         "name": "state/lightlevel",
         "awake": true,
         "refresh.interval": 30,
         "read": {
           "at": "0x0000",
           "cl": "0x0400",
           "ep": 2,
           "fn": "zcl"
         },
         "parse": {
           "at": "0x0000",
           "cl": "0x0400",
           "ep": 2,
           "eval": "Item.val = Attr.val;",
           "fn": "zcl"
         },
         "default": 0
       },

And his DDF haven't worked neither.

Except looking for problem in logs I haven't more ideas

Idaho947 commented 2 years ago

Yep the value is présent and change : Capture

What logs do you need ?

Smanar commented 2 years ago

Can try in deconz / help / debug view with flag "info" and "info_l2" and "ddf"', trying to find something about cluster 0x0400 or state/lightlevel.

Can try to make the device react using a light. If logs are too much talkative, can remove "info_L2"

Idaho947 commented 2 years ago

In info when I change the lux : Inof

Edit : OK it seems to be for temperature and humidity.

In the api after each time I read the value for the illuminance, this appears in event :

 "16:14:59:39": {
        "attr": {
            "id": "457",
            "lastannounced": "2022-11-12T13:32:24Z",
            "lastseen": "2022-11-12T15:15Z",
            "manufacturername": "OWON",
            "modelid": "PIR313",
            "name": "LightLevel 457",
            "swversion": null,
            "type": "ZHALightLevel",
            "uniqueid": "3c:6a:2c:ff:fe:d1:b1:9f-02-0400"
        },
        "e": "changed",
        "id": "457",
        "r": "sensors",
        "t": "event",
        "uniqueid": "3c:6a:2c:ff:fe:d1:b1:9f-02-0400"
    }
}
Smanar commented 2 years ago

Edit : OK it seems to be for temperature and humidity.

No, you are right, the first one is the cluster 0x0400 so it s the good one, so the device is making report

In the api after each time I read the value for the illuminance, this appears in event :

Ha yes, right good idea to simulate a report. And deconz is sending a notification for change, but its just a "attr" one, not a "state", I think it update the "lastseen".

There is nothing in same time if you use the flag "DDF" ? (you had thoses logs with the flag "ZCL" ?)

BTW I don't rememeber what is your deconz version ? Some version have issue on the JS core.

Idaho947 commented 2 years ago

I'm in the laste stable 2.19.1.

no nothing move in the ddf log for luminance but I see temperature and humidity : Inof

on the ZCL : zcl

Smanar commented 2 years ago

On the ZCL part i'ts on the cluster 0x0000, on the attribute 0x4000. Its the SW Build ID, it s because it's still null on the DDF, can be solved by this DDF (have take some part from the @sirinveen DDF

        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },

will not be immediate, there is a real big interval, but the code will use the date as value.

{
  "schema": "devcap1.schema.json",
  "manufacturername": "OWON",
  "modelid": "PIR313",
  "vendor": "OWON",
  "product": "PIR313",
  "sleeper": false,
  "status": "Gold",
  "subdevices": [
    {
      "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",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/duration"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/enrolled",
          "public": false
        },
        {
          "name": "config/pending"
        },
        {
          "name": "config/battery"
        },
        {
          "name": "state/lowbattery"
        },
        {
          "name": "state/tampered"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/presence"
        }
      ]
    },
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0402"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature"
        }
      ]
    },
    {
      "type": "$TYPE_HUMIDITY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x03",
        "0x0405"
      ],
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/offset",
          "default": 0
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "name": "state/humidity"
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_LIGHT_LEVEL_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x02",
        "0x0400"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0106",
        "endpoint": "0x02",
        "in": [
          "0x0000",
          "0x0400"
        ]
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "refresh.interval": 84000,
          "read": {"cl": "0x0000", "at": "0x0006", "ep": 1, "fn": "zcl"},
          "parse": {"cl": "0x0000", "at": "0x0006", "ep": 1, "eval": "Item.val = Attr.val", "fn": "zcl"}
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/battery",
          "awake": true,
          "refresh.interval": 3600,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          }
        },
        {
          "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",
         "awake": true,
         "read": {
           "at": "0x0000",
           "cl": "0x0400",
           "ep": 2,
           "fn": "zcl"
         },
         "parse": {
           "at": "0x0000",
           "cl": "0x0400",
           "ep": 2,
           "eval": "Item.val = Attr.val;",
           "fn": "zcl"
         },
         "default": 0
       },
       {
         "name": "state/lux",
         "default": 0
       }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 2,
      "cl": "0x0400",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600,
          "change": "0x000007d0"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 60,
          "max": 3600
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 600,
          "change": "0x0000000A"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 3,
      "cl": "0x0405",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 600
        }
      ]
    }
  ]
}

But it's exactly the issue. You need to see a "atribute report for cluster 0x400" or "read attribute cl:0x0400" and just after the same log than that 201484201-bdb11b12-feb6-403b-9aa7-a2248a9fb0a7

But for state/lightlevel for the sensor 3c:6a:2c:ff:fe:d1:b1:9f-02-0400

Perhaps if you enable "error" and "error_l2" those flag are not talkative.

Smanar commented 2 years ago

BTW on the capture, we can see on top "Item.val = measuredValue; --> 4772"

This part is from the illuminance JS script https://github.com/dresden-elektronik/deconz-rest-plugin/blob/master/devices/generic/illuminance_cluster/sml_light_level.js

You haven't the same log but with the complete line ?

Idaho947 commented 2 years ago

I'll try your new ddf and see the result tonight. I'll try to find the line