diff --git a/platformio.ini b/platformio.ini index c390c318f..dc14811b5 100644 --- a/platformio.ini +++ b/platformio.ini @@ -126,6 +126,7 @@ build_flags = -D ENV_INCLUDE_BME280=1 -D ENV_INCLUDE_BMP280=1 -D ENV_INCLUDE_SHTC3=1 + -D ENV_INCLUDE_SHT3X=1 -D ENV_INCLUDE_SHT4X=1 -D ENV_INCLUDE_LPS22HB=1 -D ENV_INCLUDE_INA3221=1 @@ -145,6 +146,7 @@ lib_deps = adafruit/Adafruit BME280 Library @ ^2.3.0 adafruit/Adafruit BMP280 Library @ ^2.6.8 adafruit/Adafruit SHTC3 Library @ ^1.0.1 + adafruit/Adafruit SHT31 Library @ ^2.2.2 sensirion/Sensirion I2C SHT4x @ ^1.1.2 arduino-libraries/Arduino_LPS22HB @ ^1.0.2 adafruit/Adafruit MLX90614 Library @ ^2.1.5 diff --git a/src/helpers/sensors/EnvironmentSensorManager.cpp b/src/helpers/sensors/EnvironmentSensorManager.cpp index ea9234c09..b17fcf6ec 100644 --- a/src/helpers/sensors/EnvironmentSensorManager.cpp +++ b/src/helpers/sensors/EnvironmentSensorManager.cpp @@ -56,6 +56,12 @@ static Adafruit_BMP280 BMP280(TELEM_WIRE); static Adafruit_SHTC3 SHTC3; #endif +#if ENV_INCLUDE_SHT3X +#define TELEM_SHT3X_ADDRESS 0x44 +#include +static Adafruit_SHTC3 SHTC3; +#endif + #if ENV_INCLUDE_SHT4X #define TELEM_SHT4X_ADDRESS 0x44 #include @@ -269,6 +275,17 @@ static void query_shtc3(uint8_t ch, uint8_t, CayenneLPP& lpp) { lpp.addRelativeHumidity(ch, humidity.relative_humidity); } #endif +#if ENV_INCLUDE_SHT3X +static uint8_t init_sht3x(TwoWire* wire, uint8_t) { + return SHT3X.begin(wire) ? 1 : 0; +} +static void query_sht3x(uint8_t ch, uint8_t, CayenneLPP& lpp) { + sensors_event_t humidity, temp; + SHT3X.getEvent(&humidity, &temp); + lpp.addTemperature(ch, temp.temperature); + lpp.addRelativeHumidity(ch, humidity.relative_humidity); +} +#endif #if ENV_INCLUDE_SHT4X static uint8_t init_sht4x(TwoWire* wire, uint8_t addr) { @@ -467,6 +484,9 @@ static const SensorDef SENSOR_TABLE[] = { #if ENV_INCLUDE_SHTC3 { 0x70, "SHTC3", init_shtc3, query_shtc3 }, #endif +#if ENV_INCLUDE_SHT3X + { TELEM_SHT3X_ADDRESS, "SHT3X", init_sht3x, query_sht3x }, +#endif #if ENV_INCLUDE_SHT4X { TELEM_SHT4X_ADDRESS, "SHT4X", init_sht4x, query_sht4x }, #endif