Xiaomi temperate sensors show 0

Hello, I am using conbee III with hassion, where I have quite a few zigbee devices, I also have some xiaomi sensors and switches, all works fine, except new one. Bought these new temperature, air pressure and humidity sensors, which just shows 0…

Anyone knows what to do?

Hello what is your deconz version ?
Other devices are same model ?

Hello, it shows 2.28.1 version. Other devices are different models. This new one is not working (2 units I have)

There is a DDF for them deconz-rest-plugin/devices/xiaomi/xiaomi_th-s02d_t1_temp_hum_sensor.json at master · dresden-elektronik/deconz-rest-plugin · GitHub
But 4 months old, so you are using the last version for sure. and even “attr/swversion” is not working.
If you have the GUI, can you compare your device with the old one AQARA Temperature and Humidity Sensor T1 · Issue #7209 · dresden-elektronik/deconz-rest-plugin · GitHub

Perhaps they are using classic cluster on recent version, but for me the DDF is able to handle both.

If reading attribute (temperature for exemple) with the GUI update value on Phoscon, it mean the DDF miss bind/report.

Dont understand what you saying I should compare? Like old sensor with new one?
Here is old one info:

And this is new one:

dont see any differences.

Also just noticed that both new temp sensors lost connectivity during holidays (2-3 days) while old one stayed online.

When I reconnected new sensor and tried to read temperature, got error reading failed:

There is a problem, on the old post the device use the cluster 0xFCC0, and none of your devices have it ? (can take some time for the cluster appear).

If the device don’t use the Temperature cluster, I don’t see wich one it can use …

You have tried to awake the device in same time you read the attribute ?

The DDF use the manufacture code "mf": "0x115F" and your both device have different one, the first one use 0x1037 and the second one 0x115F (so the new one need to work better)

And if your device don’t have Lumi cluster the Temperature Cluster need to work.

If you can, try to read the battery level too.

I tried reding while sensor light was flashing, nothing. I also tried reading battery, same issue, everything shows as 0.

And still no 0xFCC0 cluster ?

nothing changes, same issue. Not sure where to check this cluster. Tried to reinstall deconz on hassio, same issue.

any other suggestions from someone? Can’t get aqara and now also 1 sonoff temperature sensor to work. Sonoff only shows battery. Aqara shows nothing

Did you figure out how to solve this? I have a similar issue with these temperature sensors. It is added fine, but seems it is “sleeping” and not reporting.
It is reporting values if I press the button on the sensor and then click “read” in deconz gui. But if i just press the button or hit read without pressing the device it does nothing.

So it seems to function fine, it just needs to be told to report the data.
How can that be done on the DDF? Anyone that can help on this subject?

I think it’s possible using 2 DDF
On the previous one need to add
"matchexpr": "R.hasCluster(0x01,0x0012)",
Because this cluster is present only on old version
And create a news DDF with
"matchexpr": "R.hasCluster(0x01,0x0012) == false",

With this trick, I think we can use 2 DDF for both devices.

And need to make a DDF that use the cluster 0x0405 0x0402 instead of the Xiaomi cluster.

What is your OS ? to know if it will be easy to edit file.
Do you have both devices versions ?

Edit:
No need the DDF already have the support for both version.
Probably just miss bind/report.

Try with adding to DDF

    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 300,
          "change": "0x00000064"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0405",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000064"
        }
      ]
    }

And re-cinclude the device (the device is a sleeper, easier for deconz to set bind/report at inclusion, the device is awake at this moment)

Full DDF

{
  "schema": "devcap1.schema.json",
  "uuid": "89456203-1e4a-49e4-860c-5b34fa54b4a7",
  "manufacturername": "$MF_LUMI",
  "modelid": "lumi.sensor_ht.agl02",
  "vendor": "Xiaomi Aqara",
  "product": "T1 Temperature and Humidity Sensor (TH-S02D)",
  "sleeper": true,
  "status": "Gold",
  "subdevices": [
    {
      "type": "$TYPE_TEMPERATURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0402"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0302",
        "endpoint": "0x01",
        "in": [
          "0x0000",
          "0x0402",
          "0xFCC0"
        ]
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid",
          "awake": true
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "awake": true,
          "parse": {
            "at": "0x00F7",
            "ep": 1,
            "eval": "Item.val = '0.0.0_' + ('0000' + (Attr.val & 0xFF).toString()).slice(-4)",
            "fn": "xiaomi:special",
            "idx": "0x08",
            "mf": "0x115F"
          },
          "read": {
            "fn": "none"
          }
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery",
          "awake": true,
          "parse": {
            "at": "0x00F7",
            "ep": 1,
            "fn": "xiaomi:special",
            "idx": "0x01",
            "mf": "0x115F",
            "script": "xiaomi_battery.js"
          }
        },
        {
          "name": "config/offset"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature"
        }
      ]
    },
    {
      "type": "$TYPE_HUMIDITY_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0405"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0302",
        "endpoint": "0x01",
        "in": [
          "0x0000",
          "0x0405",
          "0xFCC0"
        ]
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid",
          "awake": true
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "awake": true,
          "parse": {
            "at": "0x00F7",
            "ep": 1,
            "eval": "Item.val = '0.0.0_' + ('0000' + (Attr.val & 0xFF).toString()).slice(-4)",
            "fn": "xiaomi:special",
            "idx": "0x08",
            "mf": "0x115F"
          },
          "read": {
            "fn": "none"
          }
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery",
          "awake": true,
          "parse": {
            "at": "0x00F7",
            "ep": 1,
            "fn": "xiaomi:special",
            "idx": "0x01",
            "mf": "0x115F",
            "script": "xiaomi_battery.js"
          }
        },
        {
          "name": "config/offset"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/humidity"
        },
        {
          "name": "state/humidity_bis",
          "awake": true,
          "parse": {
            "at": "0x00F7",
            "ep": 1,
            "eval": "R.item('state/humidity').val = Attr.val + R.item('config/offset').val",
            "fn": "xiaomi:special",
            "idx": "0x65",
            "mf": "0x115F"
          }
        },
        {
          "name": "state/lastupdated"
        }
      ]
    },
    {
      "type": "$TYPE_PRESSURE_SENSOR",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0x0403"
      ],
      "fingerprint": {
        "profile": "0x0104",
        "device": "0x0302",
        "endpoint": "0x01",
        "in": [
          "0x0000",
          "0x0403",
          "0xFCC0"
        ]
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid",
          "awake": true
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion",
          "awake": true,
          "parse": {
            "at": "0x00F7",
            "ep": 1,
            "eval": "Item.val = '0.0.0_' + ('0000' + (Attr.val & 0xFF).toString()).slice(-4)",
            "fn": "xiaomi:special",
            "idx": "0x08",
            "mf": "0x115F"
          },
          "read": {
            "fn": "none"
          }
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "config/battery",
          "awake": true,
          "parse": {
            "at": "0x00F7",
            "ep": 1,
            "fn": "xiaomi:special",
            "idx": "0x01",
            "mf": "0x115F",
            "script": "xiaomi_battery.js"
          }
        },
        {
          "name": "config/offset"
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/pressure"
        },
        {
          "name": "state/pressure_bis",
          "awake": true,
          "parse": {
            "at": "0x00F7",
            "ep": 1,
            "eval": "R.item('state/pressure').val = Attr.val + R.item('config/offset').val",
            "fn": "xiaomi:special",
            "idx": "0x66",
            "mf": "0x115F"
          }
        }
      ]
    }
  ],
  "bindings": [
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0001",
      "report": [
        {
          "at": "0x0021",
          "dt": "0x20",
          "min": 60,
          "max": 3600,
          "change": "0x00000001"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0402",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x29",
          "min": 60,
          "max": 300,
          "change": "0x00000064"
        }
      ]
    },
    {
      "bind": "unicast",
      "src.ep": 1,
      "cl": "0x0405",
      "report": [
        {
          "at": "0x0000",
          "dt": "0x21",
          "min": 60,
          "max": 300,
          "change": "0x00000064"
        }
      ]
    }
  ]
}

If you are on docker and create a new one remove the “uuid”

Thank you for your help! I haven’t been able to test it yet as I’m unable to modify anything through the vnc. Using deconz through home assistant addon, so i can only access it through vnc. Need to check how i can login alternative and make the updates.

Can make a DBB file using Deconz Toolbox
And import it using Phoscon.

If you have the GUi you can configure yourself the bind, but it’s boring on sensor (need to awake the device)