DS18b20 завышает показания на 3 градуса

Собственно был куплен DS18b20 подключен к 1-Ware успешно подхватился без дополнительных действий.
Вопрос почему он может стабильно завышает показания на +3 градуса?
Можно ли как то это настроить?

А почему вы решили, что он завышает показания?

Сравниваю показания с 3 ртутными термометрами, которые нашел поблизости.

Попробуйте поменять датчик. Всякое бывает. У меня есть датчик BME280, который в том числе и температуру измеряет, его показание на 4 градуса выше, чем других. Можете откорректировать скриптом - создаете виртуальный девайс и пишете формулу пересчета, можно с округлением.

Спасибо. Про виртуальное устройство можно ссылочку.

В качестве примера

defineVirtualDevice("Temperatures", {
  title: "Temperatures", 
  
  cells: {
    'Thermostat temperature' : {
        type : "temperature",
        value : 0
    }
  }
});

defineRule("Correct_room_temperature", {
whenChanged: "bht1000_12/Room Temperature",
  then: function (newValue) {
       dev["Temperatures"]["Thermostat temperature"] = (newValue - 1).toFixed(1);
           }
});

У меня термостат имеет встроенную возможность корректировки датчика, но почему-то через модбас отдает всегда на градус больше, чем показывает на дисплее… одно слово - Китай… Вот этим скриптом я исправляю сей китайский косяк. Округлять тоже полезно, поскольку больше одного знака после запятой лишено какого-либо смысла.

1 лайк