Запрещаем регистрировать событие если ошибка чтения данных в Ds18b20

This commit is contained in:
2022-02-01 22:49:18 +03:00
parent 3b743a768d
commit 5b8c579396

View File

@@ -17,8 +17,8 @@ class Ds18b20 : public IoTSensor {
//описание параметров передаваемых из настроек датчика из веба //описание параметров передаваемых из настроек датчика из веба
String _addr; String _addr;
unsigned int _pin; int _pin;
unsigned int _index; int _index;
public: public:
//======================================================================================================= //=======================================================================================================
@@ -28,10 +28,9 @@ class Ds18b20 : public IoTSensor {
//Все параметры хранятся в перемененной parameters, вы можете прочитать любой параметр используя jsonRead функции: //Все параметры хранятся в перемененной parameters, вы можете прочитать любой параметр используя jsonRead функции:
// jsonReadStr, jsonReadBool, jsonReadInt // jsonReadStr, jsonReadBool, jsonReadInt
Ds18b20(String parameters): IoTSensor(parameters) { Ds18b20(String parameters): IoTSensor(parameters) {
jsonRead(parameters, "pin", _pin);
_pin = jsonReadInt(parameters, "pin"); jsonRead(parameters, "index", _index);
_index = jsonReadInt(parameters, "index"); jsonRead(parameters, "addr", _addr);
_addr = jsonReadStr(parameters, "addr");
//учитываем, что библиотека может работать с несколькими линиями на разных пинах, поэтому инициируем библиотеку, если линия ранее не использовалась //учитываем, что библиотека может работать с несколькими линиями на разных пинах, поэтому инициируем библиотеку, если линия ранее не использовалась
if (oneWireTemperatureArray.find(_pin) == oneWireTemperatureArray.end()) { if (oneWireTemperatureArray.find(_pin) == oneWireTemperatureArray.end()) {
@@ -75,7 +74,8 @@ class Ds18b20 : public IoTSensor {
char addrStr[20] = ""; char addrStr[20] = "";
hex2string(deviceAddress, 8, addrStr); hex2string(deviceAddress, 8, addrStr);
regEvent((String)value, "addr: " + String(addrStr)); //обязательный вызов для отправки результата работы if (value != -127) regEvent((String)value, "addr: " + String(addrStr)); //обязательный вызов для отправки результата работы
else SerialPrint("E", "Sensor Ds18b20", "Error");
} }
//======================================================================================================= //=======================================================================================================