diff --git a/src/modules/ds18b20.cpp b/src/modules/ds18b20.cpp index 628ec0bb..ca142ffe 100644 --- a/src/modules/ds18b20.cpp +++ b/src/modules/ds18b20.cpp @@ -17,8 +17,8 @@ class Ds18b20 : public IoTSensor { //описание параметров передаваемых из настроек датчика из веба String _addr; - unsigned int _pin; - unsigned int _index; + int _pin; + int _index; public: //======================================================================================================= @@ -28,10 +28,9 @@ class Ds18b20 : public IoTSensor { //Все параметры хранятся в перемененной parameters, вы можете прочитать любой параметр используя jsonRead функции: // jsonReadStr, jsonReadBool, jsonReadInt Ds18b20(String parameters): IoTSensor(parameters) { - - _pin = jsonReadInt(parameters, "pin"); - _index = jsonReadInt(parameters, "index"); - _addr = jsonReadStr(parameters, "addr"); + jsonRead(parameters, "pin", _pin); + jsonRead(parameters, "index", _index); + jsonRead(parameters, "addr", _addr); //учитываем, что библиотека может работать с несколькими линиями на разных пинах, поэтому инициируем библиотеку, если линия ранее не использовалась if (oneWireTemperatureArray.find(_pin) == oneWireTemperatureArray.end()) { @@ -75,7 +74,8 @@ class Ds18b20 : public IoTSensor { char addrStr[20] = ""; 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"); } //=======================================================================================================