### What happened?
I got a few of the Tuya TH03 sensors: https://fr.aliexpress.…com/item/1005007309529179.html
Z2M detects them as:
fingerprint: [{modelID: 'TS0201', manufacturerName: '_TZ3000_itnrsufe'}],
model: 'KCTW1Z',
vendor: 'Tuya',
description: 'Temperature & humidity sensor with LCD',
database entry: `{"id":56,"type":"EndDevice","ieeeAddr":"0xa4c138820a7143c8","nwkAddr":24293,"manufId":4742,"manufName":"_TZ3000_itnrsufe","powerSource":"Battery","modelId":"TS0201","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":770,"inClusterList":[0,3,1,32,1026,1029],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"TS0201","manufacturerName":"_TZ3000_itnrsufe","powerSource":3,"zclVersion":3,"appVersion":113,"stackVersion":2,"hwVersion":0,"swBuildId":"0122052017"}},"msRelativeHumidity":{"attributes":{"measuredValue":5486}},"genPollCtrl":{"attributes":{"checkinInterval":6960}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":50,"batteryVoltage":24}},"msTemperatureMeasurement":{"attributes":{"measuredValue":1987}}},"binds":[{"cluster":32,"type":"endpoint","deviceIeeeAddress":"0x00124b0024c7b32b","endpointID":1}],"configuredReportings":[],"meta":{}}},"appVersion":113,"stackVersion":2,"hwVersion":0,"swBuildId":"0122052017","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1726480698937,"checkinInterval":1740}
`
With the default converter no Humidity is reported. This is due to the value being 100x (e.g. 5486 as in the database entry above for actual value of 54.86%), while the default converter in tuya.ts uses fzLocal.humidity10.
For some reason it also completely blocks the Zigbee network after a while, and the Z2M UI stops working without obvious errors in the logs.
I created an external converter:
```
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
//const ota = require('zigbee-herdsman-converters/lib/ota');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const ea = exposes.access;
const definition = {
fingerprint: [{modelID: 'TS0201', manufacturerName: '_TZ3000_itnrsufe'}],
zigbeeModel: ['TS0201'],
model: 'ZTH05',
vendor: 'Tuya',
description: 'ZTH03 temperature & humidity sensor with display',
extend: [],
fromZigbee: [fz.temperature, fz.humidity, fz.battery],
toZigbee: [],
exposes: [e.temperature(), e.humidity(), e.battery(), e.battery_voltage()],
};
module.exports = definition;
```
Note that I put model ZTH05 because the ZTH03 is not in the device database but they look identical.
I guess there are multiple devices that identify themselves as _TZ3000_itnrsufe, while they behave differently, so the only solution with these devices may be to use an external converter permanently.
With my external converter the device works well and my networks stays stable.
One problem remains:
`zh:controller:device: Handling of poll check-in from 0xa4c13841ca386e49 failed (ZCL command 0xa4c13841ca386e49/1 genPollCtrl.checkinRsp({"startFastPolling":false,"fastPollTimeout":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false,"sendPolicy":"immediate"}) failed (Timeout - 61781 - 1 - 248 - 32 - 11 after 10000ms))`
This error happens about every 30 minutes. The error happens both with my external converter and with the build-in converter for KCTW1Z.
### What did you expect to happen?
No polling errors.
### How to reproduce it (minimal and precise)
_No response_
### Zigbee2MQTT version
1.40.1-1
### Adapter firmware version
20240710
### Adapter
Sonoff Zigbee 3.0 USB dongle Plus
### Setup
Add-on on Homeassistant OS on Pi4
### Debug log
[log - Copy.log](https://github.com/user-attachments/files/17011533/log.-.Copy.log)
The ZTH03 devices are: 0xa4c13841ca386e49, 0xa4c138820a7143c8, and 0xa4c138abc2445da0