Closed acronce closed 1 year ago
Have same issue. I checked uart logs:
[02:11:40][V][bme280.sensor:203]: Sending conversion request...
[02:11:40][C][bme280.sensor:086]: Setting up BME280...
That message repeats twice per second until wifi is connected
UPD. Removed from config everything except i2c, bme280 and logged in VERY_VERBOSE mode. Logs:
INFO Starting log output from COM6 with baud rate 115200
[03:53:09][I][logger:243]: Log initialized
[03:53:09][I][app:029]: Running through setup()...
[03:53:09][V][app:030]: Sorting components by setup priority...
[03:53:09][I][i2c.arduino:161]: Performing I2C bus recovery
[03:53:09][V][esp32-hal-i2c.c:1492] i2cInit(): num=0 sda=21 scl=22 freq=0
[03:53:09][V][esp32-hal-i2c.c:1688] i2cSetFrequency(): freq=100000Hz
[03:53:09][V][esp32-hal-i2c.c:1704] i2cSetFrequency(): cpu Freq=240Mhz, i2c Freq=100000Hz
[03:53:09][V][esp32-hal-i2c.c:1712] i2cSetFrequency(): Fifo delta=1
[03:53:09][V][esp32-hal-i2c.c:1688] i2cSetFrequency(): freq=50000Hz
[03:53:09][V][esp32-hal-i2c.c:1704] i2cSetFrequency(): cpu Freq=240Mhz, i2c Freq=50000Hz
[03:53:09][V][esp32-hal-i2c.c:1712] i2cSetFrequency(): Fifo delta=1
[03:53:09][VV][scheduler:057]: set_interval(name='', interval=60000, offset=12790)
[03:53:09][C][bme280.sensor:086]: Setting up BME280...
[03:53:09][VV][i2c.arduino:126]: 0x76 TX D0
[03:53:09][VV][i2c.arduino:102]: 0x76 RX 60
[03:53:09][VV][i2c.arduino:126]: 0x76 TX E0B6
[03:53:09][VV][i2c.arduino:126]: 0x76 TX F3
[03:53:09][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:09][VV][i2c.arduino:126]: 0x76 TX 88
[03:53:09][VV][i2c.arduino:102]: 0x76 RX 566C
[03:53:09][VV][i2c.arduino:126]: 0x76 TX 8A
[03:53:09][VV][i2c.arduino:102]: 0x76 RX 0E68
[03:53:09][VV][i2c.arduino:126]: 0x76 TX 8C
[03:53:09][VV][i2c.arduino:102]: 0x76 RX 3200
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 8E
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 4F92
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 90
[03:53:10][VV][i2c.arduino:102]: 0x76 RX DAD6
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 92
[03:53:10][VV][i2c.arduino:102]: 0x76 RX D00B
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 94
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 511E
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 96
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 6CFF
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 98
[03:53:10][VV][i2c.arduino:102]: 0x76 RX F9FF
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 9A
[03:53:10][VV][i2c.arduino:102]: 0x76 RX AC26
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 9C
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 0AD8
[03:53:10][VV][i2c.arduino:126]: 0x76 TX 9E
[03:53:10][VV][i2c.arduino:102]: 0x76 RX BD10
[03:53:10][VV][i2c.arduino:126]: 0x76 TX A1
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 4B
[03:53:10][VV][i2c.arduino:126]: 0x76 TX E1
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 7901
[03:53:10][VV][i2c.arduino:126]: 0x76 TX E3
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:10][VV][i2c.arduino:126]: 0x76 TX E4
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 11
[03:53:10][VV][i2c.arduino:126]: 0x76 TX E5
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 2C
[03:53:10][VV][i2c.arduino:126]: 0x76 TX E6
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 03
[03:53:10][VV][i2c.arduino:126]: 0x76 TX E5
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 2C
[03:53:10][VV][i2c.arduino:126]: 0x76 TX E7
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 1E
[03:53:10][VV][i2c.arduino:126]: 0x76 TX F2
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:10][VV][i2c.arduino:126]: 0x76 TX F205
[03:53:10][VV][i2c.arduino:126]: 0x76 TX F5
[03:53:10][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:11][VV][i2c.arduino:126]: 0x76 TX F5A0
[03:53:11][VV][scheduler:057]: set_interval(name='update', interval=60000, offset=19870)
[03:53:11][C][wifi:037]: Setting up WiFi...
[03:53:11][V][esp32.preferences:058]: nvs_get_blob('994981601'): ESP_ERR_NVS_NOT_FOUND - the key might not be set yet
[03:53:11][V][wifi_esp32:039]: Enabling STA.
[03:53:11][VV][esp-idf:000]: I (363) wifi:
[03:53:11][VV][esp-idf:000]: wifi driver task: 3ffb5628, prio:23, stack:3584, core=0
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (932) wifi:
[03:53:11][VV][esp-idf:000]: wifi firmware version: dc30037
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (934) wifi:
[03:53:11][VV][esp-idf:000]: config NVS flash: enabled
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (946) wifi:
[03:53:11][VV][esp-idf:000]: config nano formating: disabled
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (958) wifi:
[03:53:11][VV][esp-idf:000]: Init data frame dynamic rx buffer num: 32
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (971) wifi:
[03:53:11][VV][esp-idf:000]: Init management frame dynamic rx buffer num: 32
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (985) wifi:
[03:53:11][VV][esp-idf:000]: Init management short buffer num: 32
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (997) wifi:
[03:53:11][VV][esp-idf:000]: Init dynamic tx buffer num: 32
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (1010) wifi:
[03:53:11][VV][esp-idf:000]: Init static rx buffer size: 1600
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (1022) wifi:
[03:53:11][VV][esp-idf:000]: Init static rx buffer num: 16
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:11][VV][esp-idf:000]: I (1034) wifi:
[03:53:11][VV][esp-idf:000]: Init dynamic rx buffer num: 32
[03:53:11][VV][esp-idf:000]:
[03:53:11]
[03:53:12][VV][esp-idf:000]: I (1142) wifi:
[03:53:12][VV][esp-idf:000]: mode : sta (cc:50:e3:96:08:c0)
[03:53:12][VV][esp-idf:000]:
[03:53:12]
[03:53:12][D][WiFiGeneric.cpp:374] _eventCallback(): Event: 0 - WIFI_READY
[03:53:12][D][WiFiGeneric.cpp:374] _eventCallback(): Event: 2 - STA_START
[03:53:12][V][wifi_esp32:460]: Event: WiFi STA start
[03:53:12][V][wifi_esp32:445]: Event: WiFi ready
[03:53:12][VV][esp-idf:000]: I (1174) wifi:
[03:53:12][VV][esp-idf:000]: Set ps type: 1
[03:53:12]
[03:53:12][VV][esp-idf:000]:
[03:53:12]
[03:53:12][I][wifi:255]: WiFi Connecting to 'AlexNET'...
[03:53:12][V][wifi:257]: Connection Params:
[03:53:12][V][wifi:258]: SSID: 'AlexNET'
[03:53:12][V][wifi:263]: BSSID: Not Set
[03:53:12][V][wifi:281]: Password: '12345678'
[03:53:12][V][wifi:288]: Channel: Not Set
[03:53:12][V][wifi:295]: Using DHCP IP
[03:53:12][V][wifi:297]: Hidden: NO
[03:53:12][VV][scheduler:196]: Running interval 'update' with interval=60000 last_execution=4294887762 (now=678)
[03:53:12][V][bme280.sensor:203]: Sending conversion request...
[03:53:12][VV][i2c.arduino:126]: 0x76 TX F4B5
[03:53:12][VV][scheduler:026]: set_timeout(name='data', timeout=114)
[03:53:12][VV][scheduler:196]: Running interval '' with interval=60000 last_execution=4294894622 (now=678)
[03:53:12][C][bme280.sensor:086]: Setting up BME280...
[03:53:12][VV][i2c.arduino:126]: 0x76 TX D0
[03:53:12][VV][i2c.arduino:102]: 0x76 RX 60
[03:53:12][VV][i2c.arduino:126]: 0x76 TX E0B6
[03:53:12][VV][i2c.arduino:126]: 0x76 TX F3
[03:53:12][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:12][VV][i2c.arduino:126]: 0x76 TX 88
[03:53:12][VV][i2c.arduino:102]: 0x76 RX 566C
[03:53:12][VV][i2c.arduino:126]: 0x76 TX 8A
[03:53:12][VV][i2c.arduino:102]: 0x76 RX 0E68
[03:53:12][VV][i2c.arduino:126]: 0x76 TX 8C
[03:53:12][VV][i2c.arduino:102]: 0x76 RX 3200
[03:53:12][VV][i2c.arduino:126]: 0x76 TX 8E
[03:53:12][VV][i2c.arduino:102]: 0x76 RX 4F92
[03:53:12][VV][i2c.arduino:126]: 0x76 TX 90
[03:53:12][VV][i2c.arduino:102]: 0x76 RX DAD6
[03:53:13][VV][i2c.arduino:126]: 0x76 TX 92
[03:53:13][VV][i2c.arduino:102]: 0x76 RX D00B
[03:53:13][VV][i2c.arduino:126]: 0x76 TX 94
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 511E
[03:53:13][VV][i2c.arduino:126]: 0x76 TX 96
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 6CFF
[03:53:13][VV][i2c.arduino:126]: 0x76 TX 98
[03:53:13][VV][i2c.arduino:102]: 0x76 RX F9FF
[03:53:13][VV][i2c.arduino:126]: 0x76 TX 9A
[03:53:13][VV][i2c.arduino:102]: 0x76 RX AC26
[03:53:13][VV][i2c.arduino:126]: 0x76 TX 9C
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 0AD8
[03:53:13][VV][i2c.arduino:126]: 0x76 TX 9E
[03:53:13][VV][i2c.arduino:102]: 0x76 RX BD10
[03:53:13][VV][i2c.arduino:126]: 0x76 TX A1
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 4B
[03:53:13][VV][i2c.arduino:126]: 0x76 TX E1
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 7901
[03:53:13][VV][i2c.arduino:126]: 0x76 TX E3
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:13][VV][i2c.arduino:126]: 0x76 TX E4
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 11
[03:53:13][VV][i2c.arduino:126]: 0x76 TX E5
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 2C
[03:53:13][VV][i2c.arduino:126]: 0x76 TX E6
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 03
[03:53:13][VV][i2c.arduino:126]: 0x76 TX E5
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 2C
[03:53:13][VV][i2c.arduino:126]: 0x76 TX E7
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 1E
[03:53:13][VV][i2c.arduino:126]: 0x76 TX F2
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:13][VV][i2c.arduino:126]: 0x76 TX F205
[03:53:13][VV][i2c.arduino:126]: 0x76 TX F5
[03:53:13][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:13][VV][i2c.arduino:126]: 0x76 TX F5A0
[03:53:13][VV][scheduler:057]: set_interval(name='update', interval=60000, offset=11561)
[03:53:13][VV][scheduler:196]: Running interval 'update' with interval=60000 last_execution=4294896657 (now=929)
[03:53:13][V][bme280.sensor:203]: Sending conversion request...
[03:53:13][VV][i2c.arduino:126]: 0x76 TX F4B5
[03:53:14][VV][scheduler:026]: set_timeout(name='data', timeout=114)
[03:53:14][C][bme280.sensor:086]: Setting up BME280...
[03:53:14][VV][i2c.arduino:126]: 0x76 TX D0
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 60
[03:53:14][VV][i2c.arduino:126]: 0x76 TX E0B6
[03:53:14][VV][i2c.arduino:126]: 0x76 TX F3
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 88
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 566C
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 8A
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 0E68
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 8C
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 3200
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 8E
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 4F92
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 90
[03:53:14][VV][i2c.arduino:102]: 0x76 RX DAD6
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 92
[03:53:14][VV][i2c.arduino:102]: 0x76 RX D00B
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 94
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 511E
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 96
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 6CFF
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 98
[03:53:14][VV][i2c.arduino:102]: 0x76 RX F9FF
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 9A
[03:53:14][VV][i2c.arduino:102]: 0x76 RX AC26
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 9C
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 0AD8
[03:53:14][VV][i2c.arduino:126]: 0x76 TX 9E
[03:53:14][VV][i2c.arduino:102]: 0x76 RX BD10
[03:53:14][VV][i2c.arduino:126]: 0x76 TX A1
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 4B
[03:53:14][VV][i2c.arduino:126]: 0x76 TX E1
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 7901
[03:53:14][VV][i2c.arduino:126]: 0x76 TX E3
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:14][VV][i2c.arduino:126]: 0x76 TX E4
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 11
[03:53:14][VV][i2c.arduino:126]: 0x76 TX E5
[03:53:14][VV][i2c.arduino:102]: 0x76 RX 2C
[03:53:15][VV][i2c.arduino:126]: 0x76 TX E6
[03:53:15][VV][i2c.arduino:102]: 0x76 RX 03
[03:53:15][VV][i2c.arduino:126]: 0x76 TX E5
[03:53:15][VV][i2c.arduino:102]: 0x76 RX 2C
[03:53:15][VV][i2c.arduino:126]: 0x76 TX E7
[03:53:15][VV][i2c.arduino:102]: 0x76 RX 1E
[03:53:15][VV][i2c.arduino:126]: 0x76 TX F2
[03:53:15][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:15][VV][i2c.arduino:126]: 0x76 TX F205
[03:53:15][VV][i2c.arduino:126]: 0x76 TX F5
[03:53:15][VV][i2c.arduino:102]: 0x76 RX 00
[03:53:15][VV][i2c.arduino:126]: 0x76 TX F5A0
[03:53:15][VV][scheduler:057]: set_interval(name='update', interval=60000, offset=20521)
[03:53:15][VV][scheduler:196]: Running interval 'update' with interval=60000 last_execution=4294887942 (now=1174)
[03:53:15][V][bme280.sensor:203]: Sending conversion request...
[03:53:15][VV][i2c.arduino:126]: 0x76 TX F4B5
[03:53:15][VV][scheduler:026]: set_timeout(name='data', timeout=114)
Thanks so much for fixing this @pxe-la!
I cloned your fork and verified that it works. When WiFi is inaccessible, the BME280 sensor initializes and works normally in my project.
Again, thanks for your help.
The problem
I'm preparing an ESP32 based sensor as a gift. To that end I've configured it with that person's WiFi credentials. But when I boot the device after changing the credentials the BME280 sensor doesn't initialize (i.e.
has_state()
reads as false).If I go into the device via captive portal and configure it for my network, the BME280 sensor starts working. It's as if lack of available WiFi or the presence of the device's AP is interfering with the I2C bus.
The other sensors (pmsa003 and senseair) work fine when WiFi is unavailable.
I've tried a few things, like increasing the frequency and changing the
setup_priority
of the I2C bus, but have not been able to work around this issue.I realize that it's unusual to have an ESP device that's not connected to WiFi, but in this case the unit has its own display and can function without a network. It would be nice if the temperature sensor works when WiFi is unavailable.
Which version of ESPHome has the issue?
Version: 2022.5.1
What type of installation are you using?
pip
Which version of Home Assistant has the issue?
N/A
What platform are you using?
ESP32
Board
LILYGO® TTGO T-Display 1.14 Inch LCD ESP32 (16MB CH9102F Chip)
Component causing the issue
i2c or WiFi
Example YAML snippet
Anything in the logs that might be useful for us?
Additional information
No response