GyverLibs / microDS18B20

Легкая и удобная в обращении библиотека для работы с 1-Wire термометрами DS18B20
MIT License
45 stars 11 forks source link

Датчик вернул ошибочную температуру -2045.93 #24

Open ronindev opened 10 months ago

ronindev commented 10 months ago

Всем привет!

Я только собрал устройство (WEMOS D1 mini), оно работало первую ночь и возможно я рано паникую. Но всё же, вдруг появятся какие-то мысли. Есть два датчика, подключены к одному пину (D1), опрос делается примерно так:

    inflowSensor.requestTemp();
    outflowSensor.requestTemp();

    while (millis() - lastReading < 2000) {  //Задержка для получения данных с датчиков температуры 2сек
      portalLoop();
      mqtt.loop();
    }

    if (inflowSensor.readTemp()) {
      float temp = inflowSensor.getTemp();
      if (abs(prevInflowSensorValue - temp) > memory.minChangeToReport || (millis() - lastReportInflow > memory.maxReportInterval)) {
        inflowTemperature->setValue(temp);
        prevInflowSensorValue = temp;
        lastReportInflow = millis();
      }
    } else {
      Serial.println("Error reading inflow temp sensor");
    }

    if (outflowSensor.readTemp()) {
      float temp = outflowSensor.getTemp();
      if (abs(prevOutflowSensorValue - temp) > memory.minChangeToReport || (millis() - lastReportOutflow > memory.maxReportInterval)) {
        outflowTemperature->setValue(temp);
        prevOutflowSensorValue = temp;
        lastReportOutflow = millis();
      }
    } else {
      Serial.println("Error reading outflow temp sensor");
    }

Использую библиотеку ArduinoHA и отправляю эти данные в HomeAssistant через MQTT. И вот, сегодня ночью один из датчиков прислал такое значение: -2045.93

image

Вот тут видны предыдущие и последующие значения, температура была стабильна и не менялась

image

Я пока продолжаю наблюдение, но возмонжо у кого то появится мысль что это может быть, может переполнение какое-то? При этом второй датчик никаких проблем в показаниях не показывал