BME280 Humidity Variance

I am having trouble with humidity readings from a BME280. For whatever reason, I am consistently getting a lot of variance in the readings in the evening and morning, then it seems to stabilize in the afternoons. This same general pattern happens every day.

It is connected via a rather long 60ft of cat 6 cable, but I also have a LTC4311 I2C Extender wired in at the ESP 32.

Here is the YAML:

esphome:
  name: weather-esp32
  friendly_name: Weather ESP32       

esp32:
  board: esp32dev
  framework:
    type: arduino 


# Enable logging
logger:

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16 

i2c:
  sda: 33
  scl: 32
  scan: true 
  
sensor:
  - platform: bme280_i2c
    temperature:
      name: "BME280 Temperature"  
    humidity:
      name: "BME280 Humidity"        
    address: 0x76
    update_interval: 60s

Where is that sensor located?
Is cable running next to other wires?

How are the cables connected?
Check out I2C outdoor lux sensor

This is how I am using the cat6:

  • Orange: 3.3V
  • Orange-white: 3.3V
  • Brown: GND
  • Brown-white: GND
  • Blue: SDA
  • Blue-white: GND
  • Green: SCL
  • Green-white: GND

You paired data lines correctly with gnd, I think it would be better for 3V3 lines as well.
Did you connect shielding to gnd at esp/ltc end?

Anyway, think what can give interferences during those times…

The sensor is in a small electrical box located under the eave of my house. It is south-facing. Something I did notice by accident was that if I removed the lid from the electrical box and let the sensor hang freely, the readings improved quite a bit. I added a couple additional vent holes on the bottom to see if it improves. Any thoughts on why this is happening? This is the readings with the lid removed.

What do your temperature values look like when it’s giving wonky humidity values? My money is on temperature spikes from the sun, causing your relative humidity values (which are dependent on temperature) to also go wonky. Even if it’s not DIRECTLY in the sun, it could be picking up radiation from other surfaces that ARE in the sun. Then when you get even a gentle breeze, it could be enough to also drop the temperature back down to a more accurate value.

I have overlaid humidity and temp. The left side of the chart is the area of interest with high humidity variance. I don’t see any immediate correlation.

Flimsy connections, vibration from some motor?
I can make a looong list of possibilities, but I would concentrate on time related pattern. What’s different in ambient when interferences show up?

Try one of the SHT sensors. I’ve found them more reliable outside.
You could try reducing I2C frequency to 10kHZ

I don’t think that will help. If it was I2C communication issues you would see gaps in the history, not noise.

My only thought was temperature fluctuations but I see that has already been discounted.

I have no idea what would cause this.

With the 60feet of cable could it be amateur radio intefetence in the 20m band?

If that cable is not shielded/grounded, whatever can interference at that length.
But OP described certain time pattern, so I would look for some time based electrical loads in the house/garden.

Seems to be at night. Perhaps street lighting or someone has a porch light.


I remember this story in the news