21 explicit SHT3x(int8_t address = 0x44) : address(address) {
24 double getTemp()
override {
25 readValuesFromDevice();
29 double getHumi()
override {
35 channel.setNewValue(getTemp(), getHumi());
39 void readValuesFromDevice() {
40 SHT31D result = sht.readTempAndHumidity(
41 SHT3XD_REPEATABILITY_LOW, SHT3XD_MODE_CLOCK_STRETCH, 50);
43 if (result.error != SHT3XD_NO_ERROR) {
44 SUPLA_LOG_ERROR(
"SHT [ERROR] Code #%d", result.error);
48 temperature = TEMPERATURE_NOT_AVAILABLE;
49 humidity = HUMIDITY_NOT_AVAILABLE;
53 temperature = result.t;
60 double temperature = TEMPERATURE_NOT_AVAILABLE;
61 double humidity = HUMIDITY_NOT_AVAILABLE;
62 int8_t retryCount = 0;
63 ::ClosedCube_SHT31D sht;