Operating environment/Installation (Hass.io/Docker/pip/etc.): Pip + virtualenv. Python 3.8.5, esphome 1.15.3
ESP (ESP32/ESP8266, Board/Sonoff): ESP8266, Wemos D1 Mini
ESPHome version (latest production, beta, dev branch): Latest, 1.15.3
Affected component: AHT10 -> https://esphome.io/components/sensor/aht10.html
Description of problem:
When starting the ESP, it correctly measures and reports temperature and humidity. After this first scan the values never change regardless of the update interval. It does report the value every update_interval seconds, but the value is always the same.
After exactly one hour, the text ATH10 Unrealistic humidity (0x0), retrying... is logged, followed by AHT10 is busy, waiting.... After that a new value is measured and reported. Then it follows the same loop again where it always reports the same value until an unrealistic value comes in.
I'm starting to think the module requires an explicit command to re-measure the value and if that isn't sent, the buffer wil keep containing the old value.
Problem-relevant YAML-configuration entries:
sensor:
- platform: aht10
temperature:
name: "Werkkamer Jeffrey Temperatuur"
humidity:
name: "Werkkamer Jeffrey Luchtvochtigheid"
# update_interval: 60s
i2c:
sda: D2
scl: D1
scan: True
id: bus_a
Logs (if applicable):
< ESP boots >
[19:04:11][I][app:105]: ESPHome version 1.15.3 compiled on Nov 16 2020, 19:03:50
[19:04:11][C][wifi:443]: WiFi:
[19:04:11][C][wifi:303]: SSID: 'xxx'
[19:04:11][C][wifi:304]: IP Address: 172.24.139.19
[19:04:11][C][wifi:306]: BSSID: xxx
[19:04:11][C][wifi:307]: Hostname: 'sensor_climate_werkkamer_jeffrey'
[19:04:11][C][wifi:311]: Signal strength: -65 dB ▂▄▆█
[19:04:11][C][wifi:315]: Channel: 6
[19:04:11][C][wifi:316]: Subnet: 255.255.255.0
[19:04:11][C][wifi:317]: Gateway: 172.24.139.1
[19:04:11][C][wifi:318]: DNS1: 172.24.139.1
[19:04:11][C][wifi:319]: DNS2: (IP unset)
[19:04:11][C][i2c:028]: I2C Bus:
[19:04:11][C][i2c:029]: SDA Pin: GPIO4
[19:04:11][C][i2c:030]: SCL Pin: GPIO5
[19:04:11][C][i2c:031]: Frequency: 50000 Hz
[19:04:11][I][i2c:033]: Scanning i2c bus for active devices...
[19:04:11][I][i2c:040]: Found i2c device at address 0x38
[19:04:11][C][logger:185]: Logger:
[19:04:11][C][logger:186]: Level: DEBUG
[19:04:11][C][logger:187]: Log Baud Rate: 115200
[19:04:11][C][logger:188]: Hardware UART: UART0
[19:04:11][C][aht10:117]: AHT10:
[19:04:11][C][aht10:118]: Address: 0x38
[19:04:11][C][aht10:122]: Temperature 'Werkkamer Jeffrey Temperatuur'
[19:04:11][C][aht10:122]: Unit of Measurement: '°C'
[19:04:11][C][aht10:122]: Accuracy Decimals: 2
[19:04:11][C][aht10:122]: Icon: 'mdi:thermometer'
[19:04:11][C][aht10:123]: Humidity 'Werkkamer Jeffrey Luchtvochtigheid'
[19:04:11][C][aht10:123]: Unit of Measurement: '%'
[19:04:11][C][aht10:123]: Accuracy Decimals: 2
[19:04:11][C][aht10:123]: Icon: 'mdi:water-percent'
[19:04:11][C][captive_portal:169]: Captive Portal:
[19:04:11][C][ota:029]: Over-The-Air Updates:
[19:04:11][C][ota:030]: Address: xxxx:8266
[19:04:11][C][ota:032]: Using Password.
[19:04:11][C][api:095]: API Server:
[19:04:11][C][api:096]: Address: xxxx:6053
[19:04:42][D][aht10:066]: AHT10 is busy, waiting...
[19:04:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.57526 °C with 2 decimals of accuracy
[19:04:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 38.65442 % with 2 decimals of accuracy
[19:05:42][D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[19:05:42][D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[19:05:42][D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[19:05:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.57526 °C with 2 decimals of accuracy
[19:05:42][W][aht10:108]: Invalid humidity! Sensor reported 0% Hum
[19:05:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state nan % with 2 decimals of accuracy
[19:06:05][I][ota:046]: Boot seems successful, resetting boot loop counter.
[19:06:42][D][aht10:066]: AHT10 is busy, waiting...
[19:06:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.52376 °C with 2 decimals of accuracy
[19:06:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 38.69905 % with 2 decimals of accuracy
[19:07:42][D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[19:07:42][D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[19:07:42][D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[19:07:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.52376 °C with 2 decimals of accuracy
[19:07:42][W][aht10:108]: Invalid humidity! Sensor reported 0% Hum
[19:07:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state nan % with 2 decimals of accuracy
[19:08:42][D][aht10:066]: AHT10 is busy, waiting...
[19:08:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.87318 °C with 2 decimals of accuracy
[19:08:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 38.05161 % with 2 decimals of accuracy
[19:09:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.87318 °C with 2 decimals of accuracy
[19:09:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 38.05161 % with 2 decimals of accuracy
[19:10:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.87318 °C with 2 decimals of accuracy
[19:10:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 38.05161 % with 2 decimals of accuracy
< Repeat this exact value for an entire hour >
[20:04:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.87318 °C with 2 decimals of accuracy
[20:04:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 38.05161 % with 2 decimals of accuracy
[20:05:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 25.87318 °C with 2 decimals of accuracy
[20:05:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 38.05161 % with 2 decimals of accuracy
[20:06:42][D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[20:06:42][D][aht10:066]: AHT10 is busy, waiting...
[20:06:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 26.03531 °C with 2 decimals of accuracy
[20:06:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 37.77075 % with 2 decimals of accuracy
[20:07:42][D][sensor:092]: 'Werkkamer Jeffrey Temperatuur': Sending state 26.03531 °C with 2 decimals of accuracy
[20:07:42][D][sensor:092]: 'Werkkamer Jeffrey Luchtvochtigheid': Sending state 37.77075 % with 2 decimals of accuracy
< After an hour the same refresh happens >
Additional information and things you've tried:
I tried with multiple AHT10 modules and also with multiple D1 mini modules to rule a hardware problem out. It looks like an additional request is needed to the module. If any more information is needed i will provide it. I'm happy to help with any debugging
Operating environment/Installation (Hass.io/Docker/pip/etc.): Pip + virtualenv. Python 3.8.5, esphome 1.15.3
ESP (ESP32/ESP8266, Board/Sonoff): ESP8266, Wemos D1 Mini
ESPHome version (latest production, beta, dev branch): Latest, 1.15.3
Affected component: AHT10 -> https://esphome.io/components/sensor/aht10.html
Description of problem:
When starting the ESP, it correctly measures and reports temperature and humidity. After this first scan the values never change regardless of the update interval. It does report the value every
update_intervalseconds, but the value is always the same.After exactly one hour, the text
ATH10 Unrealistic humidity (0x0), retrying...is logged, followed byAHT10 is busy, waiting.... After that a new value is measured and reported. Then it follows the same loop again where it always reports the same value until an unrealistic value comes in.I'm starting to think the module requires an explicit command to re-measure the value and if that isn't sent, the buffer wil keep containing the old value.
Problem-relevant YAML-configuration entries:
Logs (if applicable):
Additional information and things you've tried:
I tried with multiple AHT10 modules and also with multiple D1 mini modules to rule a hardware problem out. It looks like an additional request is needed to the module. If any more information is needed i will provide it. I'm happy to help with any debugging