The Uint ENV-IV sensor platform allows you to use BMP280 temperature & pressure sensors, with SHT40 temperature & humidity sensor.
These two sub sensors are supported by ESPHome.
Also you can reference in ESPHome for the latest configurations:
I²C component is required for device setup:
# Example configuration entry for ESP32
i2c:
sda: GPIOXX
scl: GPIOXX
scan: true
These GPIO pins may varies depend on the device you are using. For an example, Atom Lite:
# I2C Bus on Grove Port (HY2.0-4P)
i2c:
sda: GPIO26
scl: GPIO32
Example configuration for Unit ENV-IV:
sensor:
- platform: sht4x
temperature:
id: sht40_temp
name: "Temperature"
humidity:
id: sht40_humi
name: "Relative Humidity"
address: 0x44
- platform: bmp280_i2c
temperature:
name: "BME280 Temperature"
id: bmp280_temp
oversampling: 16x
pressure:
name: "BME280 Pressure"
id: bmp_pressure
address: 0x76
Alternatively, you can calculate the altitude
, absolute humidity
and dew points
use some empirical formulas (for reference only):
sensor:
...
# add the following under the previous sensor declarations
- platform: template
name: "Altitude"
lambda: |-
const float STANDARD_SEA_LEVEL_PRESSURE = 1013.25; //in hPa, see note
return ((id(bmp280_temp).state + 273.15) / 0.0065) *
(powf((STANDARD_SEA_LEVEL_PRESSURE / id(bmp_pressure).state), 0.190234) - 1); // in meter
update_interval: 15s
icon: 'mdi:signal'
unit_of_measurement: 'm'
- platform: absolute_humidity
name: "Absolute Humidity"
temperature: sht40_temp
humidity: sht40_humi
- platform: template
name: "Dew Point"
lambda: |-
return (243.5*(log(id(sht40_humi).state/100)+((17.67*id(sht40_humi).state)/
(243.5+id(sht40_temp).state)))/(17.67-log(id(sht40_humi).state/100)-
((17.67*id(sht40_temp).state)/(243.5+id(sht40_temp).state))));
unit_of_measurement: °C
icon: 'mdi:thermometer-alert'
STANDARD_SEA_LEVEL_PRESSURE
by for example pulling this value live from the internet or a stationary sensor via MQTT.After adding the device to the dashboard
Monitoring the temperature
Monitor changes in atmospheric pressure