SHT31XD trying to reconnect

Hi,
I have a strange issue with my SHT31XD sensor. I’m constantly has a “trying to reconnect” error. or sometimes depending on the frequency of “communication error”. other times it is just working fine ( it looks independent from the config). I have another BH1750 sensor wired to the same pins which are working fine all the time.

I tried:

  • standalone ( everything else disconnected)
  • different pins
  • different configs
  • different frequencies
  • Set the sensor type to SHT4X I am getting data although not correct ( which is expected)

My config is:

i2c:
  - id: bus_a
    sda: D2
    scl: D1
    scan: true
sensor:   
  - platform: sht3xd
    i2c_id: bus_a
    temperature:
      name: "Temperature LR"
    humidity:
      name: "Relative Humidity LR"
    #address: 0x44
    update_interval: 60s
  - platform: bh1750
    i2c_id: bus_a
    name: "BH1750 Illuminance"
    #address: 0x23
    measurement_duration: 69
    update_interval: 60s

I have the following line in the log:

[11:08:34][C][i2c.arduino:037]: I2C Bus:
[11:08:34][C][i2c.arduino:038]:   SDA Pin: GPIO4
[11:08:34][C][i2c.arduino:039]:   SCL Pin: GPIO5
[11:08:34][C][i2c.arduino:040]:   Frequency: 50000 Hz
[11:08:34][C][i2c.arduino:043]:   Recovery: bus successfully recovered
[11:08:34][I][i2c.arduino:053]: Results from i2c bus scan:
[11:08:34][I][i2c.arduino:059]: Found i2c device at address 0x23
[11:08:34][I][i2c.arduino:059]: Found i2c device at address 0x44
[11:08:34][C][sht3xd:034]: SHT3xD:
[11:08:34][C][sht3xd:035]:   Address: 0x44
[11:08:34][C][sht3xd:039]:   Update Interval: 60.0s
[11:08:34][C][sht3xd:041]:   Temperature 'Temperature LR'
[11:08:34][C][sht3xd:041]:     Device Class: 'temperature'
[11:08:34][C][sht3xd:041]:     State Class: 'measurement'
[11:08:34][C][sht3xd:041]:     Unit of Measurement: '°C'
[11:08:34][C][sht3xd:041]:     Accuracy Decimals: 1
[11:08:34][C][sht3xd:042]:   Humidity 'Relative Humidity LR'
[11:08:34][C][sht3xd:042]:     Device Class: 'humidity'
[11:08:34][C][sht3xd:042]:     State Class: 'measurement'
[11:08:34][C][sht3xd:042]:     Unit of Measurement: '%'
[11:08:34][C][sht3xd:042]:     Accuracy Decimals: 1
[11:08:34][C][bh1750.sensor:027]: BH1750 'BH1750 Illuminance'
[11:08:34][C][bh1750.sensor:027]:   Device Class: 'illuminance'
[11:08:34][C][bh1750.sensor:027]:   State Class: 'measurement'
[11:08:34][C][bh1750.sensor:027]:   Unit of Measurement: 'lx'
[11:08:34][C][bh1750.sensor:027]:   Accuracy Decimals: 1
[11:08:34][C][bh1750.sensor:028]:   Address: 0x23
[11:08:34][C][bh1750.sensor:048]:   Resolution: 0.5
[11:08:34][C][bh1750.sensor:049]:   Update Interval: 60.0s
[11:08:51][D][bh1750.sensor:085]: 'BH1750 Illuminance': Got illuminance=321.2lx
[11:08:51][D][sensor:125]: 'BH1750 Illuminance': Sending state 321.25000 lx with 1 decimals of accuracy
[11:09:04][D][sht3xd:047]: Retrying to reconnect the sensor.

Well the basics first: schema of your wiring as it looks like a classical I2C poor wiring :wink:

Hi,
I tried both ways, same result
I cant upload picture I uploaded to:

Looks ok, how do you power the whole thing ? May you please also update your esphome code to include I2c address for each sensor (commented out in your code for now !).

Yep needs more messages in forum before you are allowed to :wink:

I added the address but no change. I measured it gets 3.3V

I had the same on ESP-12F and it helped to decrease i2c frequency from 400kHz to 50kHz.
Other esp devices have not had the same issue although freq set to 400kHz… but the problematic device was esp-12 board with SHT30 + 2 Dallas temp sensors.