I am attempting to connect a Sensair co2 sensor, a Sen55, and a Mics 4514 to a wesp32, the later revision. I have multiples of all components here and have swapped all out, one at a time to no change. I have tried one sensor at a time. The I2C devices are “not found” on either bus or on multiple different suggested frequencies, and the uart sensair routinely throws the error about it “taking a long time” and none of the sensors report back any information. The components are powered off the 12v power supplied by the board through a step down voltage converter set at 4.9v to 5v under load.
The code I am using:
esphome:
name: wesp32-1-test
friendly_name: wesp32-1 test
esp32:
board: wesp32
framework:
type: arduino
# Enable logging
logger:
level: VERY_VERBOSE
# Enable Home Assistant API
api:
encryption:
key: (key)
ota:
password: (pw)
# Example configuration entry
i2c:
- id: bus_a
sda:
number: GPIO17
allow_other_uses: true
scl:
number: GPIO15
scan: true
#frequency: 10kHz
- id: bus_b
sda:
number: GPIO10
allow_other_uses: true
scl:
number: GPIO12
scan: true
#frequency: 10kHz
# for board rev.7 and up
ethernet:
type: RTL8201
mdc_pin:
number: GPIO16
#allow_other_uses: true
mdio_pin:
number: GPIO17
allow_other_uses: true
clk_mode: GPIO0_IN
phy_addr: 0
# Optional manual IP
manual_ip:
static_ip: (ip)
gateway: (ip)
subnet: 255.255.255.0
web_server:
port: 80
# Example configuration entry
uart:
#id: uart_bus_a
#rx_pin: GPIO13
#tx_pin: GPIO16
#baud_rate: 9600
id: uart_bus_b
tx_pin: GPIO5
rx_pin:
number: GPIO10
allow_other_uses: true
baud_rate: 9600
# Example configuration entry
sensor:
- platform: mics_4514
i2c_id: bus_a
address: 0x75
nitrogen_dioxide:
name: Nitrogen Dioxide
carbon_monoxide:
name: Carbon Monoxide
hydrogen:
name: Hydrogen
ethanol:
name: Ethanol
methane:
name: Methane
ammonia:
name: Ammonia
update_interval: 60s
- platform: senseair
uart_id: uart_bus_b
co2:
name: "SenseAir CO2 Value"
update_interval: 60s
- platform: sen5x
i2c_id: bus_b
id: sen54
pm_1_0:
name: " PM <1µm Weight concentration"
id: pm_1_0
accuracy_decimals: 1
pm_2_5:
name: " PM <2.5µm Weight concentration"
id: pm_2_5
accuracy_decimals: 1
pm_4_0:
name: " PM <4µm Weight concentration"
id: pm_4_0
accuracy_decimals: 1
pm_10_0:
name: " PM <10µm Weight concentration"
id: pm_10_0
accuracy_decimals: 1
temperature:
name: "Temperature"
accuracy_decimals: 1
humidity:
name: "Humidity"
accuracy_decimals: 0
voc:
name: "VOC"
algorithm_tuning:
index_offset: 100
learning_time_offset_hours: 12
learning_time_gain_hours: 12
gating_max_duration_minutes: 180
std_initial: 50
gain_factor: 230
temperature_compensation:
offset: 0
normalized_offset_slope: 0
time_constant: 0
acceleration_mode: low
store_baseline: true
address: 0x69
update_interval: 10s
Please format your code properly as it cant be read like this.
I was in the middle of editing it. It should be fixed now
The Logs:
INFO ESPHome 2024.3.0
INFO Reading configuration /config/esphome/wesp32-2.yaml...
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome . io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING Pin 10 (9-10) might already be used by the flash interface in QUAD IO flash mode.
WARNING GPIO12 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome . io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome . io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING Pin 10 (9-10) might already be used by the flash interface in QUAD IO flash mode.
INFO Starting log output from (ip) using esphome API
INFO Successfully connected to wesp32-2 @ (ip) in 0.003s
INFO Successful handshake with wesp32-2 @ (ip) in 0.151s
[01:31:26][I][app:102]: ESPHome version 2024.3.0 compiled on Mar 25 2024, 23:35:43
[01:31:26][C][logger:166]: Logger:
[01:31:26][C][logger:167]: Level: VERY_VERBOSE
[01:31:26][C][logger:169]: Log Baud Rate: 115200
[01:31:26][C][logger:170]: Hardware UART: UART0
[01:31:26][C][i2c.arduino:059]: I2C Bus:
[01:31:26][C][i2c.arduino:060]: SDA Pin: GPIO17
[01:31:26][C][i2c.arduino:061]: SCL Pin: GPIO15
[01:31:26][C][i2c.arduino:062]: Frequency: 50000 Hz
[01:31:26][C][i2c.arduino:065]: Recovery: bus successfully recovered
[01:31:26][I][i2c.arduino:075]: Results from i2c bus scan:
[01:31:26][I][i2c.arduino:077]: Found no i2c devices!
[01:31:26][C][i2c.arduino:059]: I2C Bus:
[01:31:26][C][i2c.arduino:060]: SDA Pin: GPIO10
[01:31:26][C][i2c.arduino:061]: SCL Pin: GPIO12
[01:31:26][C][i2c.arduino:062]: Frequency: 50000 Hz
[01:31:26][C][i2c.arduino:065]: Recovery: bus successfully recovered
[01:31:26][I][i2c.arduino:075]: Results from i2c bus scan:
[01:31:26][I][i2c.arduino:077]: Found no i2c devices!
[01:31:26][C][uart.arduino_esp32:137]: UART Bus 1:
[01:31:26][C][uart.arduino_esp32:138]: TX Pin: GPIO5
[01:31:26][C][uart.arduino_esp32:139]: RX Pin: GPIO10
[01:31:26][C][uart.arduino_esp32:141]: RX Buffer Size: 256
[01:31:26][C][uart.arduino_esp32:143]: Baud Rate: 9600 baud
[01:31:26][C][uart.arduino_esp32:144]: Data Bits: 8
[01:31:26][C][uart.arduino_esp32:145]: Parity: NONE
[01:31:26][C][uart.arduino_esp32:146]: Stop bits: 1
[01:31:26][C][mics_4514:035]: MICS 4514:
[01:31:26][C][mics_4514:036]: Address: 0x75
[01:31:26][C][mics_4514:037]: Update Interval: 60.0s
[01:31:26][C][mics_4514:038]: Nitrogen Dioxide 'Nitrogen Dioxide'
[01:31:26][C][mics_4514:038]: State Class: 'measurement'
[01:31:26][C][mics_4514:038]: Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:038]: Accuracy Decimals: 2
[01:31:26][C][mics_4514:039]: Carbon Monoxide 'Carbon Monoxide'
[01:31:26][C][mics_4514:039]: State Class: 'measurement'
[01:31:26][C][mics_4514:039]: Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:039]: Accuracy Decimals: 2
[01:31:26][C][mics_4514:040]: Methane 'Methane'
[01:31:26][C][mics_4514:040]: State Class: 'measurement'
[01:31:26][C][mics_4514:040]: Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:040]: Accuracy Decimals: 2
[01:31:26][C][mics_4514:041]: Ethanol 'Ethanol'
[01:31:26][C][mics_4514:041]: State Class: 'measurement'
[01:31:26][C][mics_4514:041]: Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:041]: Accuracy Decimals: 2
[01:31:26][C][mics_4514:042]: Hydrogen 'Hydrogen'
[01:31:26][C][mics_4514:042]: State Class: 'measurement'
[01:31:26][C][mics_4514:042]: Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:042]: Accuracy Decimals: 2
[01:31:26][C][mics_4514:043]: Ammonia 'Ammonia'
[01:31:26][C][mics_4514:043]: State Class: 'measurement'
[01:31:26][C][mics_4514:043]: Unit of Measurement: 'ppm'
[01:31:26][C][mics_4514:043]: Accuracy Decimals: 2
[01:31:26][C][senseair:144]: SenseAir:
[01:31:26][C][senseair:145]: CO2 'SenseAir CO2 Value'
[01:31:26][C][senseair:145]: Device Class: 'carbon_dioxide'
[01:31:26][C][senseair:145]: State Class: 'measurement'
[01:31:26][C][senseair:145]: Unit of Measurement: 'ppm'
[01:31:26][C][senseair:145]: Accuracy Decimals: 0
[01:31:26][C][senseair:145]: Icon: 'mdi:molecule-co2'
[01:31:26][C][sen5x:238]: sen5x:
[01:31:26][C][sen5x:239]: Address: 0x69
[01:31:26][W][sen5x:243]: Communication failed! Is the sensor connected?
[01:31:26][C][sen5x:262]: Productname:
[01:31:26][C][sen5x:263]: Firmware version: 0
[01:31:26][C][sen5x:264]: Serial number 00.00.00
[01:31:26][C][sen5x:271]: Low RH/T acceleration mode
[01:31:26][C][sen5x:281]: Update Interval: 10.0s
[01:31:26][C][sen5x:282]: PM 1.0 ' PM <1µm Weight concentration'
[01:31:26][C][sen5x:282]: Device Class: 'pm1'
[01:31:26][C][sen5x:282]: State Class: 'measurement'
[01:31:26][C][sen5x:282]: Unit of Measurement: 'µg/m³'
[01:31:26][C][sen5x:282]: Accuracy Decimals: 1
[01:31:26][C][sen5x:282]: Icon: 'mdi:chemical-weapon'
[01:31:26][C][sen5x:283]: PM 2.5 ' PM <2.5µm Weight concentration'
[01:31:26][C][sen5x:283]: Device Class: 'pm25'
[01:31:26][C][sen5x:283]: State Class: 'measurement'
[01:31:26][C][sen5x:283]: Unit of Measurement: 'µg/m³'
[01:31:26][C][sen5x:283]: Accuracy Decimals: 1
[01:31:26][C][sen5x:283]: Icon: 'mdi:chemical-weapon'
[01:31:26][C][sen5x:284]: PM 4.0 ' PM <4µm Weight concentration'
[01:31:26][C][sen5x:284]: State Class: 'measurement'
[01:31:26][C][sen5x:284]: Unit of Measurement: 'µg/m³'
[01:31:26][C][sen5x:284]: Accuracy Decimals: 1
[01:31:26][C][sen5x:284]: Icon: 'mdi:chemical-weapon'
[01:31:26][C][sen5x:285]: PM 10.0 ' PM <10µm Weight concentration'
[01:31:26][C][sen5x:285]: Device Class: 'pm10'
[01:31:26][C][sen5x:285]: State Class: 'measurement'
[01:31:26][C][sen5x:285]: Unit of Measurement: 'µg/m³'
[01:31:26][C][sen5x:285]: Accuracy Decimals: 1
[01:31:26][C][sen5x:285]: Icon: 'mdi:chemical-weapon'
[01:31:26][C][sen5x:286]: Temperature 'Temperature'
[01:31:26][C][sen5x:286]: Device Class: 'temperature'
[01:31:26][C][sen5x:286]: State Class: 'measurement'
[01:31:26][C][sen5x:286]: Unit of Measurement: '°C'
[01:31:26][C][sen5x:286]: Accuracy Decimals: 1
[01:31:26][C][sen5x:286]: Icon: 'mdi:thermometer'
[01:31:26][C][sen5x:287]: Humidity 'Humidity'
[01:31:26][C][sen5x:287]: Device Class: 'humidity'
[01:31:26][C][sen5x:287]: State Class: 'measurement'
[01:31:26][C][sen5x:287]: Unit of Measurement: '%'
[01:31:26][C][sen5x:287]: Accuracy Decimals: 0
[01:31:26][C][sen5x:287]: Icon: 'mdi:water-percent'
[01:31:26][C][sen5x:288]: VOC 'VOC'
[01:31:26][C][sen5x:288]: Device Class: 'aqi'
[01:31:26][C][sen5x:288]: State Class: 'measurement'
[01:31:26][C][sen5x:288]: Unit of Measurement: ''
[01:31:26][C][sen5x:288]: Accuracy Decimals: 0
[01:31:26][C][sen5x:288]: Icon: 'mdi:radiator'
[01:31:26][C][ethernet:294]: Ethernet:
[01:31:26][C][ethernet:467]: IP Address: (ip)
[01:31:26][C][ethernet:468]: Hostname: 'wesp32-2'
[01:31:26][C][ethernet:469]: Subnet: 255.255.255.0
[01:31:26][C][ethernet:470]: Gateway: (ip)
[01:31:26][C][ethernet:475]: DNS1: 0.0.0.0
[01:31:26][C][ethernet:476]: DNS2: 0.0.0.0
[01:31:26][C][ethernet:493]: MAC Address: (mac)
[01:31:26][C][ethernet:498]: Is Full Duplex: YES
[01:31:26][C][ethernet:503]: Link Speed: 100
[01:31:26][C][ethernet:308]: MDC Pin: 16
[01:31:26][C][ethernet:309]: MDIO Pin: 17
[01:31:26][C][ethernet:310]: PHY addr: 0
[01:31:26][C][ethernet:312]: Type: RTL8201
[01:31:27][C][web_server:169]: Web Server:
[01:31:27][C][web_server:170]: Address: (ip)
[01:31:27][C][mdns:115]: mDNS:
[01:31:27][C][mdns:116]: Hostname: wesp32-2
[01:31:27][V][mdns:117]: Services:
[01:31:27][V][mdns:119]: - _esphomelib, _tcp, 6053
[01:31:27][V][mdns:121]: TXT: friendly_name = wesp32-2
[01:31:27][V][mdns:121]: TXT: version = 2024.3.0
[01:31:27][V][mdns:121]: TXT: mac = 94b555a8a68c
[01:31:27][V][mdns:121]: TXT: platform = ESP32
[01:31:27][V][mdns:121]: TXT: board = wesp32
[01:31:27][V][mdns:121]: TXT: network = ethernet
[01:31:27][V][mdns:121]: TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[01:31:27][V][mdns:119]: - _http, _tcp, 80
[01:31:27][C][ota:096]: Over-The-Air Updates:
[01:31:27][C][ota:097]: Address: (ip)
[01:31:27][C][ota:100]: Using Password.
[01:31:27][C][ota:103]: OTA version: 2.
[01:31:27][C][api:139]: API Server:
[01:31:27][C][api:140]: Address: (ip)
[01:31:27][C][api:142]: Using noise encryption: YES
[01:31:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=253703 (now=263703)
[01:31:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=263703 (now=273703)
[01:31:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=219904 (now=279908)
[01:31:47][VV][uart.arduino_esp32:180]: Flushing...
[01:31:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:31:48][VV][uart.arduino_esp32:180]: Flushing...
[01:31:48][W][senseair:024]: Reading data from SenseAir failed!
[01:31:48][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[01:31:48][W][component:233]: Components should block for at most 30 ms.
[01:31:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:31:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=273703 (now=283703)
[01:31:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=228627 (now=288629)
[01:31:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:31:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:32:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=283703 (now=293703)
[01:32:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=237311 (now=297315)
[01:32:08][I][ota:117]: Boot seems successful, resetting boot loop counter.
[01:32:08][VV][esp32.preferences:040]: s_pending_save: key: 233825507, len: 4
[01:32:08][D][esp32.preferences:114]: Saving 1 preferences to flash...
[01:32:08][VV][esp32.preferences:123]: Checking if NVS data 233825507 has changed
[01:32:08][V][esp32.preferences:126]: sync: key: 233825507, len: 4
[01:32:08][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[01:32:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=293703 (now=303703)
[01:32:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=303703 (now=313703)
[01:32:26][VV][api.connection:132]: Sending keepalive PING...
[01:32:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:32:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:32:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=313703 (now=323703)
[01:32:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=323703 (now=333707)
[01:32:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=279904 (now=339909)
[01:32:47][VV][uart.arduino_esp32:180]: Flushing...
[01:32:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:32:48][VV][uart.arduino_esp32:180]: Flushing...
[01:32:48][W][senseair:024]: Reading data from SenseAir failed!
[01:32:48][W][component:232]: Component senseair.sensor took a long time for an operation (132 ms).
[01:32:48][W][component:233]: Components should block for at most 30 ms.
[01:32:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:32:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=333703 (now=343703)
[01:32:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=288627 (now=348628)
[01:32:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:32:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:33:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=343703 (now=353703)
[01:33:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=297311 (now=357313)
[01:33:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=353703 (now=363706)
[01:33:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=363703 (now=373703)
[01:33:26][VV][api.connection:132]: Sending keepalive PING...
[01:33:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:33:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:33:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=373703 (now=383703)
[01:33:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=383703 (now=393703)
[01:33:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=339904 (now=399908)
[01:33:47][VV][uart.arduino_esp32:180]: Flushing...
[01:33:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:33:48][VV][uart.arduino_esp32:180]: Flushing...
[01:33:48][W][senseair:024]: Reading data from SenseAir failed!
[01:33:48][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[01:33:48][W][component:233]: Components should block for at most 30 ms.
[01:33:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:33:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=393703 (now=403703)
[01:33:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=348627 (now=408629)
[01:33:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:33:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:34:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=403703 (now=413703)
[01:34:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=357311 (now=417317)
[01:34:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=413703 (now=423703)
[01:34:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=423703 (now=433703)
[01:34:26][VV][api.connection:132]: Sending keepalive PING...
[01:34:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:34:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:34:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=433703 (now=443708)
[01:34:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=443703 (now=453706)
[01:34:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=399904 (now=459904)
[01:34:47][VV][uart.arduino_esp32:180]: Flushing...
[01:34:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:34:48][VV][uart.arduino_esp32:180]: Flushing...
[01:34:48][W][senseair:024]: Reading data from SenseAir failed!
[01:34:48][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[01:34:48][W][component:233]: Components should block for at most 30 ms.
[01:34:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:34:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=453703 (now=463708)
[01:34:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=408627 (now=468635)
[01:34:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:34:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:35:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=463703 (now=473704)
[01:35:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=417311 (now=477311)
[01:35:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=473703 (now=483704)
[01:35:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=483703 (now=493704)
[01:35:26][VV][api.connection:132]: Sending keepalive PING...
[01:35:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:35:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:35:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=493703 (now=503703)
[01:35:41][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=503703 (now=513703)
[01:35:47][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=459904 (now=519904)
[01:35:47][VV][uart.arduino_esp32:180]: Flushing...
[01:35:48][E][uart:015]: Reading from UART timed out at byte 0!
[01:35:48][VV][uart.arduino_esp32:180]: Flushing...
[01:35:48][W][senseair:024]: Reading data from SenseAir failed!
[01:35:48][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[01:35:48][W][component:233]: Components should block for at most 30 ms.
[01:35:48][D][uart_debug:158]: >>> "\x00\xFE\x04\x00\x00\x00\x04\xE5\xC6"
[01:35:51][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=513703 (now=523707)
[01:35:56][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=468627 (now=528628)
[01:35:56][VV][i2c.arduino:155]: 0x75 TX 04
[01:35:56][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[01:36:01][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=523703 (now=533703)
[01:36:05][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=477311 (now=537318)
[01:36:11][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=533703 (now=543703)
[01:36:21][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=543703 (now=553703)
[01:36:26][VV][api.connection:132]: Sending keepalive PING...
[01:36:26][VV][api.service:037]: send_ping_request: PingRequest {}
[01:36:26][VV][api.service:585]: on_ping_response: PingResponse {}
[01:36:31][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=553703 (now=563703)
Any ideas on my problem?
Both the I2C scans doesn’t find any devices, so I would start checking the wiring. I don’t have a wESP32 myself, but if I look at the pinout scheme at Hardware - wESP32 — Wired ESP32 with PoE I get the feeling that you are mixing up pinnumbers and IO definitions. In that scheme pin15 is the SCL and pin17 the SCA. But pin15 is GPIO04 and pin17 GPIO15, so I would change that in your yaml.
Furthermore you are using GPIO17 twice, for I2C and ethernet, that can be correct.
Last remark: Why are you using 2 different I2C busses? The I2C bus is designed to connect 256 devices to one single bus as long as the I2C addresses from the connected devices are unique.
Changed code to, following the link you posted, which I hadn’t seen as all other things, and that page on the site, point to the product brief “for more details” which doesn’t include that table:
esphome:
name: wesp32-2
friendly_name: wesp32-2
esp32:
board: wesp32
framework:
type: arduino
# Enable logging
logger:
level: VERY_VERBOSE
# Enable Home Assistant API
api:
encryption:
key: (key)
ota:
password: (pw)
# for board rev.7 and up
ethernet:
type: RTL8201
mdc_pin:
number: GPIO16
#allow_other_uses: true
mdio_pin:
number: GPIO17
#allow_other_uses: true
clk_mode: GPIO0_IN
phy_addr: 0
# Optional manual IP
manual_ip:
static_ip: (IP)
gateway: (IP)
subnet: 255.255.255.0
web_server:
port: 80
# Example configuration entry
i2c:
- id: bus_a
sda:
number: GPIO15
#allow_other_uses: true
scl:
number: GPIO04
scan: true
#frequency: 10kHz
- id: bus_b
sda:
number: GPIO33
allow_other_uses: true
scl:
number: GPIO05
scan: true
#frequency: 10kHz
# Example configuration entry
uart:
#id: uart_bus_a
#rx_pin: GPIO13
#tx_pin: GPIO16
#baud_rate: 9600
#id: uart_bus_b
#debug:
#direction: BOTH
#dummy_receiver: false
#after:
#delimiter: "\n"
#sequence:
#- lambda: UARTDebug::log_string(direction, bytes);
tx_pin:
number: GPIO33
allow_other_uses: true
rx_pin:
number: GPIO39
#allow_other_uses: true
baud_rate: 9600
# Example configuration entry
sensor:
- platform: mics_4514
i2c_id: bus_a
address: 0x78
nitrogen_dioxide:
name: Nitrogen Dioxide
carbon_monoxide:
name: Carbon Monoxide
hydrogen:
name: Hydrogen
ethanol:
name: Ethanol
methane:
name: Methane
ammonia:
name: Ammonia
update_interval: 60s
- platform: senseair
#uart_id: uart_bus_b
co2:
name: "SenseAir CO2 Value"
update_interval: 60s
- platform: sen5x
i2c_id: bus_b
id: sen55
pm_1_0:
name: " PM <1µm Weight concentration"
id: pm_1_0
accuracy_decimals: 1
pm_2_5:
name: " PM <2.5µm Weight concentration"
id: pm_2_5
accuracy_decimals: 1
pm_4_0:
name: " PM <4µm Weight concentration"
id: pm_4_0
accuracy_decimals: 1
pm_10_0:
name: " PM <10µm Weight concentration"
id: pm_10_0
accuracy_decimals: 1
temperature:
name: "Temperature"
accuracy_decimals: 1
humidity:
name: "Humidity"
accuracy_decimals: 0
voc:
name: "VOC"
algorithm_tuning:
index_offset: 100
learning_time_offset_hours: 12
learning_time_gain_hours: 12
gating_max_duration_minutes: 180
std_initial: 50
gain_factor: 230
temperature_compensation:
offset: 0
normalized_offset_slope: 0
time_constant: 0
acceleration_mode: low
store_baseline: true
address: 0x69
update_interval: 10s
Otherwise the use of both busses was for assembly and troubleshooting ease as I was hoping to only use these 3 sensors in this use case. Solder/wire the three sets to their respective places and be done, but here we are.
The log of that:
INFO ESPHome 2024.3.0
INFO Reading configuration /config/esphome/wesp32-2.yaml...
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Starting log output from (ip) using esphome API
INFO Successfully connected to wesp32-2 @ (ip) in 0.003s
INFO Successful handshake with wesp32-2 @ (ip) in 0.162s
[04:10:26][I][app:102]: ESPHome version 2024.3.0 compiled on Apr 8 2024, 04:02:49
[04:10:26][C][logger:166]: Logger:
[04:10:26][C][logger:167]: Level: VERY_VERBOSE
[04:10:26][C][logger:169]: Log Baud Rate: 115200
[04:10:26][C][logger:170]: Hardware UART: UART0
[04:10:26][C][i2c.arduino:059]: I2C Bus:
[04:10:26][C][i2c.arduino:060]: SDA Pin: GPIO15
[04:10:26][C][i2c.arduino:061]: SCL Pin: GPIO4
[04:10:26][C][i2c.arduino:062]: Frequency: 50000 Hz
[04:10:26][C][i2c.arduino:065]: Recovery: bus successfully recovered
[04:10:26][I][i2c.arduino:075]: Results from i2c bus scan:
[04:10:26][I][i2c.arduino:081]: Found i2c device at address 0x75
[04:10:26][C][i2c.arduino:059]: I2C Bus:
[04:10:26][C][i2c.arduino:060]: SDA Pin: GPIO33
[04:10:26][C][i2c.arduino:061]: SCL Pin: GPIO5
[04:10:26][C][i2c.arduino:062]: Frequency: 50000 Hz
[04:10:26][C][i2c.arduino:065]: Recovery: bus successfully recovered
[04:10:26][I][i2c.arduino:075]: Results from i2c bus scan:
[04:10:26][I][i2c.arduino:077]: Found no i2c devices!
[04:10:26][C][uart.arduino_esp32:137]: UART Bus 1:
[04:10:26][C][uart.arduino_esp32:138]: TX Pin: GPIO33
[04:10:26][C][uart.arduino_esp32:139]: RX Pin: GPIO39
[04:10:26][C][uart.arduino_esp32:141]: RX Buffer Size: 256
[04:10:26][C][uart.arduino_esp32:143]: Baud Rate: 9600 baud
[04:10:26][C][uart.arduino_esp32:144]: Data Bits: 8
[04:10:26][C][uart.arduino_esp32:145]: Parity: NONE
[04:10:26][C][uart.arduino_esp32:146]: Stop bits: 1
[04:10:26][C][mics_4514:035]: MICS 4514:
[04:10:26][C][mics_4514:036]: Address: 0x78
[04:10:26][C][mics_4514:037]: Update Interval: 60.0s
[04:10:26][C][mics_4514:038]: Nitrogen Dioxide 'Nitrogen Dioxide'
[04:10:26][C][mics_4514:038]: State Class: 'measurement'
[04:10:26][C][mics_4514:038]: Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:038]: Accuracy Decimals: 2
[04:10:26][C][mics_4514:039]: Carbon Monoxide 'Carbon Monoxide'
[04:10:26][C][mics_4514:039]: State Class: 'measurement'
[04:10:26][C][mics_4514:039]: Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:039]: Accuracy Decimals: 2
[04:10:26][C][mics_4514:040]: Methane 'Methane'
[04:10:26][C][mics_4514:040]: State Class: 'measurement'
[04:10:26][C][mics_4514:040]: Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:040]: Accuracy Decimals: 2
[04:10:26][C][mics_4514:041]: Ethanol 'Ethanol'
[04:10:26][C][mics_4514:041]: State Class: 'measurement'
[04:10:26][C][mics_4514:041]: Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:041]: Accuracy Decimals: 2
[04:10:26][C][mics_4514:042]: Hydrogen 'Hydrogen'
[04:10:26][C][mics_4514:042]: State Class: 'measurement'
[04:10:26][C][mics_4514:042]: Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:042]: Accuracy Decimals: 2
[04:10:26][C][mics_4514:043]: Ammonia 'Ammonia'
[04:10:26][C][mics_4514:043]: State Class: 'measurement'
[04:10:26][C][mics_4514:043]: Unit of Measurement: 'ppm'
[04:10:26][C][mics_4514:043]: Accuracy Decimals: 2
[04:10:26][C][senseair:144]: SenseAir:
[04:10:26][C][senseair:145]: CO2 'SenseAir CO2 Value'
[04:10:26][C][senseair:145]: Device Class: 'carbon_dioxide'
[04:10:26][C][senseair:145]: State Class: 'measurement'
[04:10:26][C][senseair:145]: Unit of Measurement: 'ppm'
[04:10:26][C][senseair:145]: Accuracy Decimals: 0
[04:10:26][C][senseair:145]: Icon: 'mdi:molecule-co2'
[04:10:26][C][sen5x:238]: sen5x:
[04:10:26][C][sen5x:239]: Address: 0x69
[04:10:26][W][sen5x:243]: Communication failed! Is the sensor connected?
[04:10:26][C][sen5x:262]: Productname:
[04:10:26][C][sen5x:263]: Firmware version: 0
[04:10:26][C][sen5x:264]: Serial number 00.00.00
[04:10:26][C][sen5x:271]: Low RH/T acceleration mode
[04:10:26][C][sen5x:281]: Update Interval: 10.0s
[04:10:26][C][sen5x:282]: PM 1.0 ' PM <1µm Weight concentration'
[04:10:26][C][sen5x:282]: Device Class: 'pm1'
[04:10:26][C][sen5x:282]: State Class: 'measurement'
[04:10:26][C][sen5x:282]: Unit of Measurement: 'µg/m³'
[04:10:26][C][sen5x:282]: Accuracy Decimals: 1
[04:10:26][C][sen5x:282]: Icon: 'mdi:chemical-weapon'
[04:10:26][C][sen5x:283]: PM 2.5 ' PM <2.5µm Weight concentration'
[04:10:26][C][sen5x:283]: Device Class: 'pm25'
[04:10:26][C][sen5x:283]: State Class: 'measurement'
[04:10:26][C][sen5x:283]: Unit of Measurement: 'µg/m³'
[04:10:26][C][sen5x:283]: Accuracy Decimals: 1
[04:10:26][C][sen5x:283]: Icon: 'mdi:chemical-weapon'
[04:10:26][C][sen5x:284]: PM 4.0 ' PM <4µm Weight concentration'
[04:10:26][C][sen5x:284]: State Class: 'measurement'
[04:10:26][C][sen5x:284]: Unit of Measurement: 'µg/m³'
[04:10:26][C][sen5x:284]: Accuracy Decimals: 1
[04:10:26][C][sen5x:284]: Icon: 'mdi:chemical-weapon'
[04:10:26][C][sen5x:285]: PM 10.0 ' PM <10µm Weight concentration'
[04:10:26][C][sen5x:285]: Device Class: 'pm10'
[04:10:26][C][sen5x:285]: State Class: 'measurement'
[04:10:26][C][sen5x:285]: Unit of Measurement: 'µg/m³'
[04:10:26][C][sen5x:285]: Accuracy Decimals: 1
[04:10:26][C][sen5x:285]: Icon: 'mdi:chemical-weapon'
[04:10:26][C][sen5x:286]: Temperature 'Temperature'
[04:10:26][C][sen5x:286]: Device Class: 'temperature'
[04:10:26][C][sen5x:286]: State Class: 'measurement'
[04:10:26][C][sen5x:286]: Unit of Measurement: '°C'
[04:10:26][C][sen5x:286]: Accuracy Decimals: 1
[04:10:26][C][sen5x:286]: Icon: 'mdi:thermometer'
[04:10:26][C][sen5x:287]: Humidity 'Humidity'
[04:10:26][C][sen5x:287]: Device Class: 'humidity'
[04:10:26][C][sen5x:287]: State Class: 'measurement'
[04:10:26][C][sen5x:287]: Unit of Measurement: '%'
[04:10:26][C][sen5x:287]: Accuracy Decimals: 0
[04:10:26][C][sen5x:287]: Icon: 'mdi:water-percent'
[04:10:26][C][sen5x:288]: VOC 'VOC'
[04:10:26][C][sen5x:288]: Device Class: 'aqi'
[04:10:26][C][sen5x:288]: State Class: 'measurement'
[04:10:26][C][sen5x:288]: Unit of Measurement: ''
[04:10:26][C][sen5x:288]: Accuracy Decimals: 0
[04:10:26][C][sen5x:288]: Icon: 'mdi:radiator'
[04:10:26][C][ethernet:294]: Ethernet:
[04:10:26][C][ethernet:467]: IP Address: (ip)
[04:10:26][C][ethernet:468]: Hostname: 'wesp32-2'
[04:10:26][C][ethernet:469]: Subnet: 255.255.255.0
[04:10:26][C][ethernet:470]: Gateway: 192.168.1.1
[04:10:26][C][ethernet:475]: DNS1: 0.0.0.0
[04:10:26][C][ethernet:476]: DNS2: 0.0.0.0
[04:10:26][C][ethernet:493]: MAC Address: 94:B5:55:A8:A6:8F
[04:10:26][C][ethernet:498]: Is Full Duplex: YES
[04:10:26][C][ethernet:503]: Link Speed: 100
[04:10:26][C][ethernet:308]: MDC Pin: 16
[04:10:26][C][ethernet:309]: MDIO Pin: 17
[04:10:26][C][ethernet:310]: PHY addr: 0
[04:10:26][C][ethernet:312]: Type: RTL8201
[04:10:26][C][web_server:169]: Web Server:
[04:10:26][C][web_server:170]: Address: (ip)
[04:10:26][C][mdns:115]: mDNS:
[04:10:26][C][mdns:116]: Hostname: wesp32-2
[04:10:26][V][mdns:117]: Services:
[04:10:26][V][mdns:119]: - _esphomelib, _tcp, 6053
[04:10:26][V][mdns:121]: TXT: friendly_name = wesp32-2
[04:10:26][V][mdns:121]: TXT: version = 2024.3.0
[04:10:26][V][mdns:121]: TXT: mac = 94b555a8a68c
[04:10:26][V][mdns:121]: TXT: platform = ESP32
[04:10:26][V][mdns:121]: TXT: board = wesp32
[04:10:26][V][mdns:121]: TXT: network = ethernet
[04:10:26][V][mdns:121]: TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[04:10:26][V][mdns:119]: - _http, _tcp, 80
[04:10:26][C][ota:096]: Over-The-Air Updates:
[04:10:26][C][ota:097]: Address: (ip)
[04:10:26][C][ota:100]: Using Password.
[04:10:26][C][ota:103]: OTA version: 2.
[04:10:26][C][api:139]: API Server:
[04:10:26][C][api:140]: Address: (ip)
[04:10:26][C][api:142]: Using noise encryption: YES
[04:10:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=414952 (now=424958)
[04:10:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=424952 (now=434956)
[04:10:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=434952 (now=444952)
[04:10:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=444952 (now=454952)
[04:11:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=402179 (now=462179)
[04:11:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:11:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:11:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=454952 (now=464958)
[04:11:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=406312 (now=466316)
[04:11:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=411534 (now=471534)
[04:11:14][VV][uart.arduino_esp32:180]: Flushing...
[04:11:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:11:14][VV][uart.arduino_esp32:180]: Flushing...
[04:11:14][W][senseair:024]: Reading data from SenseAir failed!
[04:11:14][W][component:232]: Component senseair.sensor took a long time for an operation (132 ms).
[04:11:14][W][component:233]: Components should block for at most 30 ms.
[04:11:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=464952 (now=474956)
[04:11:26][VV][api.connection:132]: Sending keepalive PING...
[04:11:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:11:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:11:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=474952 (now=484952)
[04:11:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=484952 (now=494953)
[04:11:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=494952 (now=504952)
[04:11:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=504952 (now=514953)
[04:12:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=462179 (now=522179)
[04:12:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:12:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:12:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=514952 (now=524958)
[04:12:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=466312 (now=526316)
[04:12:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=471534 (now=531534)
[04:12:14][VV][uart.arduino_esp32:180]: Flushing...
[04:12:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:12:14][VV][uart.arduino_esp32:180]: Flushing...
[04:12:14][W][senseair:024]: Reading data from SenseAir failed!
[04:12:14][W][component:232]: Component senseair.sensor took a long time for an operation (132 ms).
[04:12:14][W][component:233]: Components should block for at most 30 ms.
[04:12:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=524952 (now=534956)
[04:12:26][VV][api.connection:132]: Sending keepalive PING...
[04:12:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:12:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:12:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=534952 (now=544954)
[04:12:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=544952 (now=554954)
[04:12:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=554952 (now=564952)
[04:12:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=564952 (now=574953)
[04:13:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=522179 (now=582179)
[04:13:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:13:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:13:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=574952 (now=584958)
[04:13:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=526312 (now=586316)
[04:13:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=531534 (now=591534)
[04:13:14][VV][uart.arduino_esp32:180]: Flushing...
[04:13:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:13:14][VV][uart.arduino_esp32:180]: Flushing...
[04:13:14][W][senseair:024]: Reading data from SenseAir failed!
[04:13:14][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[04:13:14][W][component:233]: Components should block for at most 30 ms.
[04:13:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=584952 (now=594958)
[04:13:26][VV][api.connection:132]: Sending keepalive PING...
[04:13:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:13:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:13:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=594952 (now=604957)
[04:13:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=604952 (now=614952)
[04:13:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=614952 (now=624957)
[04:13:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=624952 (now=634952)
[04:14:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=582179 (now=642179)
[04:14:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:14:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:14:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=634952 (now=644959)
[04:14:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=586312 (now=646319)
[04:14:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=591534 (now=651534)
[04:14:14][VV][uart.arduino_esp32:180]: Flushing...
[04:14:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:14:14][VV][uart.arduino_esp32:180]: Flushing...
[04:14:14][W][senseair:024]: Reading data from SenseAir failed!
[04:14:14][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[04:14:14][W][component:233]: Components should block for at most 30 ms.
[04:14:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=644952 (now=654956)
[04:14:26][VV][api.connection:132]: Sending keepalive PING...
[04:14:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:14:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:14:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=654952 (now=664952)
[04:14:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=664952 (now=674954)
[04:14:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=674952 (now=684952)
[04:14:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=684952 (now=694952)
[04:15:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=642179 (now=702182)
[04:15:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:15:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:15:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=694952 (now=704952)
[04:15:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=646312 (now=706312)
[04:15:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=651534 (now=711540)
[04:15:14][VV][uart.arduino_esp32:180]: Flushing...
[04:15:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:15:14][VV][uart.arduino_esp32:180]: Flushing...
[04:15:14][W][senseair:024]: Reading data from SenseAir failed!
[04:15:14][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[04:15:14][W][component:233]: Components should block for at most 30 ms.
[04:15:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=704952 (now=714952)
[04:15:26][VV][api.connection:132]: Sending keepalive PING...
[04:15:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:15:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:15:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=714952 (now=724957)
[04:15:38][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=724952 (now=734952)
[04:15:48][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=734952 (now=744952)
[04:15:58][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=744952 (now=754953)
[04:16:05][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=702179 (now=762179)
[04:16:05][VV][i2c.arduino:155]: 0x78 TX 04
[04:16:05][VV][i2c.arduino:181]: TX failed: not acknowledged: 2
[04:16:08][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=754952 (now=764958)
[04:16:09][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=706312 (now=766316)
[04:16:14][VV][scheduler:226]: Running interval 'update' with interval=60000 last_execution=711534 (now=771534)
[04:16:14][VV][uart.arduino_esp32:180]: Flushing...
[04:16:14][E][uart:015]: Reading from UART timed out at byte 0!
[04:16:14][VV][uart.arduino_esp32:180]: Flushing...
[04:16:14][W][senseair:024]: Reading data from SenseAir failed!
[04:16:14][W][component:232]: Component senseair.sensor took a long time for an operation (133 ms).
[04:16:14][W][component:233]: Components should block for at most 30 ms.
[04:16:18][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=764952 (now=774956)
[04:16:26][VV][api.connection:132]: Sending keepalive PING...
[04:16:26][VV][api.service:037]: send_ping_request: PingRequest {}
[04:16:26][VV][api.service:585]: on_ping_response: PingResponse {}
[04:16:28][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=774952 (now=784954)
The Mics is now functional and is reporting, but the sen55 and the sensair is still not
So one off the problems is solved, now the next one. If I look at your YAML, you are using GPI033 twice, (for I2C and UART) and you suppress the message that can help you to identify this problem by using by the “allow_other_uses: true” statement. You should only use that statement if you are really sure you need that same pin twice, and you can only do this if the pin has the same function in both cases. Personally I didn’t see a situation were this is really needed. Doing this for mixing I2C and UART won’t give you a working environment. The pinout scheme is referring to GPIO12 for UART TX and GPIO13 for UART-RX when you want to use the UART0 bus.
Where is the UART0 bus?