Hi!
I ordered and have been using the Sensair DIY Pro Pre-soldered kit for about a year. I am using ESPHome (current config below) From the beginning, the humidity and temperature measurements, as well as the OLED have been freezing after 4-48h online. Humidity and temperature both report as “Unavailable”, while the screen would display white blocks and stop updating. In the logs, it displays something similar to this user’s post (I2C bus freezes ony the presoldered Pro Kit). Software resetting doesn’t help. (I can provide the exact error when it occurs again).
I recently got a multimeter and soldering iron, and have been investigating further. I measured the resistance on the SHT3x (I can’t find the post see where I saw this, but it was in these forums), and it measured what was expected. The voltages corresponded with what was marked on each board. I have tried several different power supplies.
Since my latest re-assembly, the sensair is consistently reporting the following error. Unlike the previous issues, this is reported immediately upon boot. I suspect that I may have incorrectly adjusted some configuration, but can’t seem to identify the culprit. The screen and temp/humidity is less urgent for me, but I’m already missing the CO2 measurements.
Senseair Error:
[19:34:58][E][uart:015]: Reading from UART timed out at byte 0!
[19:34:58][W][senseair:024]: Reading data from SenseAir failed!
Do you suspect this is related to the previous error? I have a multimeter and a soldering iron, but I’m not very confident with either so please let me know specifically what to measure (I understand this may be related to excess pull-ups, but I have no idea how to validate if that’s the issue here).
Thanks in advance!
ESPHome config:
substitutions:
devicename: "airgradient-pro"
upper_devicename: "Living Room Sensor"
esphome:
name: airmonitor
esp8266:
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
password: ""
ota:
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Airmonitor Fallback Hotspot"
password: (removed)
captive_portal:
switch:
- platform: restart
name: "Air Sensor Restart"
i2c:
sda: D2
scl: D1
frequency: 100kHz
uart:
- rx_pin: D5
tx_pin: D6
baud_rate: 9600
id: uart1_1
- rx_pin: D4
tx_pin: D3
baud_rate: 9600
id: uart2_2
sensor:
- platform: sht3xd
temperature:
id: temp
name: "Temperature"
filters:
- sliding_window_moving_average:
window_size: 6
send_every: 3
humidity:
id: humidity
name: "Humidity"
filters:
- sliding_window_moving_average:
window_size: 6
send_every: 3
address: 0x44
update_interval: 60s
- platform: pmsx003
type: PMSX003
uart_id: uart1_1
update_interval: 30s
pm_2_5:
id: pm25
name: "${upper_devicename} Particulate Matter <2.5µm Concentration"
accuracy_decimals: 1
filters:
- exponential_moving_average:
send_every: 4
send_first_at: 4
# pm_1_0:
# id: pm1_0
# name: "Particulate Matter <1µm Concentration"
# pm_10_0:
# id: pm10
# name: "Particulate Matter <10µm Concentration"
- platform: senseair
uart_id: uart2_2
update_interval: 30s
co2:
id: co2
name: "${upper_devicename} SenseAir CO2 Value"
filters:
- exponential_moving_average:
send_every: 3
send_first_at: 3
font:
- file: "gfonts://Saira Condensed"
id: opensans
size: 24
glyphs: |
!"%()+=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzµ³/
time:
- platform: homeassistant
id: homeassistant_time
display:
- platform: ssd1306_i2c
model: "SH1106 128x64"
update_interval: 2s
contrast: 40%
id: oled
rotation: 180
address: 0x3C
pages:
- id: page1
lambda: |-
it.printf(0, 0, id(opensans), "CO2: %.0fppm", id(co2).state);
it.printf(0, 24, id(opensans), "PM2.5: %.0f", id(pm25).state);
- id: page2
lambda: |-
it.printf(0, 0, id(opensans), "RH: %.0f%%", id(humidity).state);
it.printf(0, 24, id(opensans), "Temp: %.0f°C", id(temp).state);
interval:
- interval: 10s
then:
- display.page.show_next: oled
- component.update: oled