Hello everyone,
I’m struggling to get an AM2301 (v0.03) sensor working with a Sonoff TH10 running ESPHome. The sensor worked in the past with the original Sonoff TH10 firmware, so I assume the hardware is functional.
Based on the schematics (see below) and a physical boards inspection - I’ve confirmed the following:
- R19 and R21 are NOT installed (excludes GPIO4).
- R18 (10kΩ pull-up) and R20 (0Ω jumper) ARE installed.
- The sensor’s OUT pin connects to GPIO14 (MTMS/SCL) thus - via R20, with an external pull-up via R18.
My configuration:
sensor:
- platform: dht
model: DHT22
update_interval: 30s
pin:
number: GPIO14
mode: INPUT
humidity:
name: "Sonoff TH10 Humidity"
temperature:
name: "Sonoff TH10 Temperature"
Despite all that, I am getting consistent nan readings:
[14:29:23.661][C][dht:020]: Model: DHT22 or equivalent
[14:29:23.661][C][dht:020]: Internal pull-up: OFF
[14:29:23.670][C][dht:152]: Pin: GPIO14
[14:29:23.670][C][dht:453]: Update Interval: 30.0s
[14:29:23.670][C][dht:017]: Temperature 'Sonoff TH10 Temperature'
[14:29:23.670][C][dht:017]: State Class: 'measurement'
[14:29:23.670][C][dht:017]: Unit of Measurement: '°C'
[14:29:23.670][C][dht:017]: Accuracy Decimals: 1
[14:29:23.670][C][dht:237]: Device Class: 'temperature'
[14:29:23.682][C][dht:017]: Humidity 'Sonoff TH10 Humidity'
[14:29:23.682][C][dht:017]: State Class: 'measurement'
[14:29:23.682][C][dht:017]: Unit of Measurement: '%'
[14:29:23.682][C][dht:017]: Accuracy Decimals: 0
[14:29:23.693][C][dht:237]: Device Class: 'humidity'
...
[14:35:15.444][W][dht:163]: Communication failed
[14:35:15.447][W][dht:056]: Invalid readings! Check pin number and pull-up resistor.
[14:35:15.447][D][sensor:124]: 'Sonoff TH10 Temperature' >> nan °C
[14:35:15.447][D][sensor:124]: 'Sonoff TH10 Humidity' >> nan %
I have tried switching between AUTO_DETECT (did not work), DHT21, DHT22, DHT22_TYPE2, AM2302, and SI7021 (which it is not as far as I can tell) models, and toggling INPUT_PULLUP (which is not neccessary I believe), also tried GPIO4 (for completness
) but the result is the same.
Any help would be appreciated! Thanks


