Заставляем датчики теперь сохранять свои показания в структурной переменной для доступа к данным из сценариев в любое время

This commit is contained in:
2022-02-14 17:23:39 +03:00
parent fbec3827e2
commit da845b7ecb
5 changed files with 24 additions and 24 deletions

View File

@@ -24,8 +24,8 @@ class Bme280t : public IoTItem {
} }
void doByInterval() { void doByInterval() {
float value = _bme->readTemperature(); value.valD = _bme->readTemperature();
if (value < 145) regEvent(value, "Bme280t"); if (value.valD < 145) regEvent(value.valD, "Bme280t");
else SerialPrint("E", "Sensor Bme280t", "Error"); else SerialPrint("E", "Sensor Bme280t", "Error");
} }
@@ -43,8 +43,8 @@ class Bme280h : public IoTItem {
} }
void doByInterval() { void doByInterval() {
float value = _bme->readHumidity(); value.valD = _bme->readHumidity();
if (value < 100) regEvent(value, "Bme280h"); if (value.valD < 100) regEvent(value.valD, "Bme280h");
else SerialPrint("E", "Sensor Bme280h", "Error"); else SerialPrint("E", "Sensor Bme280h", "Error");
} }
@@ -62,10 +62,10 @@ class Bme280p : public IoTItem {
} }
void doByInterval() { void doByInterval() {
float value = _bme->readPressure(); value.valD = _bme->readPressure();
if (value > 0) { if (value.valD > 0) {
value = value / 1.333224 / 100; value.valD = value.valD / 1.333224 / 100;
regEvent(value, "Bme280p"); regEvent(value.valD, "Bme280p");
} else SerialPrint("E", "Sensor Bme280p", "Error"); } else SerialPrint("E", "Sensor Bme280p", "Error");
} }

View File

@@ -24,8 +24,8 @@ class Bmp280t : public IoTItem {
} }
void doByInterval() { void doByInterval() {
float value = _bmp->readTemperature(); value.valD = _bmp->readTemperature();
if (String(value) != "nan") regEvent(value, "Bmp280t"); if (String(value.valD) != "nan") regEvent(value.valD, "Bmp280t");
else SerialPrint("E", "Sensor DHTt", "Error"); else SerialPrint("E", "Sensor DHTt", "Error");
} }
@@ -43,10 +43,10 @@ class Bmp280p : public IoTItem {
} }
void doByInterval() { void doByInterval() {
float value = _bmp->readPressure(); value.valD = _bmp->readPressure();
if (String(value) != "nan") { if (String(value.valD) != "nan") {
value = value / 1.333224 / 100; value.valD = value.valD / 1.333224 / 100;
regEvent(value, "Bmp280p"); regEvent(value.valD, "Bmp280p");
} else SerialPrint("E", "Sensor DHTh", "Error"); } else SerialPrint("E", "Sensor DHTh", "Error");
} }

View File

@@ -24,8 +24,8 @@ class Dht1122t : public IoTItem {
} }
void doByInterval() { void doByInterval() {
float value = _dht->getTemperature(); value.valD = _dht->getTemperature();
if (String(value) != "nan") regEvent(value, "Dht1122t"); if (String(value.valD) != "nan") regEvent(value.valD, "Dht1122t");
else SerialPrint("E", "Sensor DHTt", "Error"); else SerialPrint("E", "Sensor DHTt", "Error");
} }
@@ -43,8 +43,8 @@ class Dht1122h : public IoTItem {
} }
void doByInterval() { void doByInterval() {
float value = _dht->getHumidity(); value.valD = _dht->getHumidity();
if (String(value) != "nan") regEvent(value, "Dht1122h"); if (String(value.valD) != "nan") regEvent(value.valD, "Dht1122h");
else SerialPrint("E", "Sensor DHTh", "Error"); else SerialPrint("E", "Sensor DHTh", "Error");
} }

View File

@@ -13,8 +13,8 @@ class Sht20t : public IoTItem {
void doByInterval() { void doByInterval() {
sht->read(); sht->read();
float value = sht->getTemperature(); value.valD = sht->getTemperature();
if (value > -46.85F) regEvent(value, "Sht20t"); if (value.valD > -46.85F) regEvent(value.valD, "Sht20t");
else SerialPrint("E", "Sensor Sht20t", "Error"); else SerialPrint("E", "Sensor Sht20t", "Error");
} }
@@ -27,8 +27,8 @@ class Sht20h : public IoTItem {
void doByInterval() { void doByInterval() {
sht->read(); sht->read();
float value = sht->getHumidity(); value.valD = sht->getHumidity();
if (value != -6) regEvent(value, "Sht20h"); if (value.valD != -6) regEvent(value.valD, "Sht20h");
else SerialPrint("E", "Sensor Sht20h", "Error"); else SerialPrint("E", "Sensor Sht20h", "Error");
} }

View File

@@ -69,12 +69,12 @@ class Ds18b20 : public IoTItem {
string2hex(_addr.c_str(), deviceAddress); string2hex(_addr.c_str(), deviceAddress);
} }
//получаем температуру по адресу //получаем температуру по адресу
float value = sensors->getTempC(deviceAddress); value.valD = sensors->getTempC(deviceAddress);
char addrStr[20] = ""; char addrStr[20] = "";
hex2string(deviceAddress, 8, addrStr); hex2string(deviceAddress, 8, addrStr);
if (value != -127) regEvent(value, "addr: " + String(addrStr)); //обязательный вызов для отправки результата работы if (value.valD != -127) regEvent(value.valD, "addr: " + String(addrStr)); //обязательный вызов для отправки результата работы
else SerialPrint("E", "Sensor Ds18b20", "Error"); else SerialPrint("E", "Sensor Ds18b20", "Error");
} }
//======================================================================================================= //=======================================================================================================