From b2e20f6760e94c158a81244be6d22e12c81569f9 Mon Sep 17 00:00:00 2001 From: biver Date: Wed, 2 Feb 2022 11:05:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7?= =?UTF-8?q?=D0=B8=D1=80=D1=83=D0=B5=D0=BC=20Dht1122?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/Dht1122.cpp | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/modules/Dht1122.cpp b/src/modules/Dht1122.cpp index 788e7da4..1dfbe964 100644 --- a/src/modules/Dht1122.cpp +++ b/src/modules/Dht1122.cpp @@ -16,15 +16,15 @@ std::map dhts; class Dht1122t : public IoTSensor { private: - int _pin; + DHTesp* _dht; public: - Dht1122t(String parameters): IoTSensor(parameters) { - jsonRead(parameters, "pin", _pin); + Dht1122t(DHTesp* dht, String parameters): IoTSensor(parameters) { + _dht = dht; } void doByInterval() { - float value = dhts[_pin]->getTemperature(); + float value = _dht->getTemperature(); if (String(value) != "nan") regEvent(value, "Dht1122t"); else SerialPrint("E", "Sensor DHTt", "Error"); } @@ -35,15 +35,15 @@ class Dht1122t : public IoTSensor { class Dht1122h : public IoTSensor { private: - int _pin; + DHTesp* _dht; public: - Dht1122h(String parameters): IoTSensor(parameters) { - jsonRead(parameters, "pin", _pin); + Dht1122h(DHTesp* dht, String parameters): IoTSensor(parameters) { + _dht = dht; } void doByInterval() { - float value = dhts[_pin]->getHumidity(); + float value = _dht->getHumidity(); if (String(value) != "nan") regEvent(value, "Dht1122h"); else SerialPrint("E", "Sensor DHTh", "Error"); } @@ -59,21 +59,19 @@ void* getAPI_Dht1122(String subtype, String param) { jsonRead(param, "senstype", senstype); if (dhts.find(pin) == dhts.end()) { - DHTesp* dht = new DHTesp(); + dhts[pin] = new DHTesp(); if (senstype == "dht11") { - dht->setup(pin, DHTesp::DHT11); + dhts[pin]->setup(pin, DHTesp::DHT11); } else if (senstype == "dht22") { - dht->setup(pin, DHTesp::DHT22); + dhts[pin]->setup(pin, DHTesp::DHT22); } - - dhts[pin] = dht; } if (subtype == F("Dht1122t")) { - return new Dht1122t(param); + return new Dht1122t(dhts[pin], param); } else if (subtype == F("Dht1122h")) { - return new Dht1122h(param); + return new Dht1122h(dhts[pin], param); } else { return nullptr; }