Open lhoracek opened 3 years ago
I have somewhat similar problem. sht31 + sgp30 + barometric pressure + luminance sensor all attached on the single I2C bus don't work with the same symptoms. My suspect is SGP30, although error is reported by sht3x like in your case.
I was able to solve this by moving sgp30 to a separate I2C bus, see example below. I'm curious if this would solve problems on your side.
sgp30 does not work for me even if attached to a dedicated I2C bus (reports very inaccurate numbers). But that's a different story which I'll try to solve once time allows.
i2c:
- id: bus_a
sda: 13
scl: 15
scan: true
- id: bus_b
sda: 21
scl: 22
scan: true
sensor:
- platform: sht3xd
temperature:
name: Temperature
id: temperature
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
accuracy_decimals: 1
humidity:
name: Humidity
id: humidity
device_class: humidity
state_class: measurement
unit_of_measurement: "%"
accuracy_decimals: 1
address: 0x44
update_interval: 1s
i2c_id: bus_a
- platform: max44009
name: Luminance
id: luminance
update_interval: 1s
i2c_id: bus_a
- platform: ms5611
temperature:
name: Temperature
id: ms5611_temperature
unit_of_measurement: "°C"
device_class: "temperature"
state_class: "measurement"
accuracy_decimals: 1
pressure:
name: Pressure
id: pressure
filters:
- multiply: 0.75006157584566
device_class: pressure
state_class: measurement
accuracy_decimals: 1
unit_of_measurement: "mmHg"
address: 0x77
update_interval: 1s
i2c_id: bus_a
- platform: sgp30
eco2:
name: eCO2
accuracy_decimals: 1
id: office_eco2
tvoc:
name: TVOC
accuracy_decimals: 1
id: office_tvoc
store_baseline: yes
address: 0x58
update_interval: 1s
i2c_id: bus_b
baseline:
eco2_baseline: 0x90E8
tvoc_baseline: 0x942C
compensation:
temperature_source: temperature
humidity_source: humidity
Even just having the ENVII sensor with BMP280 and SHT30 alone connected, I get the error:
22:06:34][C][bmp280.sensor:056]: Setting up BMP280...
[22:06:34][C][sht3xd:019]: Setting up SHT3xD...
[22:06:34][E][component:112]: Component sht3xd.sensor was marked as failed.
And BMP280 continues to report values correctly. Not able to split the sensors in the m5stack module :-/
no issues with ENVIII (SHT30 + QMP6988, which is not supported) and BME280:
[22:39:17][D][sensor:125]: 'DEV 1 BME280 Temperature': Sending state 24.58000 °C with 1 decimals of accuracy
[22:39:17][D][sensor:125]: 'DEV 1 BME280 Pressure': Sending state 1018.23511 hPa with 1 decimals of accuracy
[22:39:17][D][sensor:125]: 'DEV 1 BME280 Humidity': Sending state 30.15820 % with 1 decimals of accuracy
[22:39:17][D][sht3xd:065]: Got temperature=24.91°C humidity=29.57%
[22:39:17][D][sensor:125]: 'DEV 1 SHT30 Temperature': Sending state 24.90654 °C with 1 decimals of accuracy
[22:39:17][D][sensor:125]: 'DEV 1 SHT30 Humidity': Sending state 29.57199 % with 1 decimals of accuracy
I'm getting similar issues with their RFID2 module, that shoudl be compatible with rc522_i2c
. Starting to suspect my unit. Will get another one and retest. Thank @randybb
The problem
Trying to get values from m5stack EnvII sensor that contains bmp280 and sht30 sensors. Having i2c set up with scan enabled. It can see device with address 0x44. But when sht3xd tries to initialize, it marks itself as failed.
Tested it with this Arduino snippet and then the sensor provides values fine:
Which version of ESPHome has the issue?
2021.10.0-dev
What type of installation are you using?
pip
Which version of Home Assistant has the issue?
No response
What platform are you using?
ESP32
Board
m5stack core
Component causing the issue
sensor.sht3xd
Example YAML snippet
Anything in the logs that might be useful for us?
Additional information
Tried stable, beta and dev releases