Czujniki temp/wilg odczytują aktualnie korekty z Configa i robią to w onLoadConfig (wywoływane w begin).
Także ustawiając korektę po begin, nadpisujesz tą, która była ustawiona z Configa.
Potem ona pewnie się odtwarza z serwera, bo serwer wysyła config po połączeniu.
W klasie bazowej termometrów/wilg jest dodana taka metoda:
Code: Select all
void applyCorrectionsAndStoreIt(int32_t temperatureCorrection,
int32_t humidityCorrection,
bool local = false);
Ona zaaplikuje korekty na kanał, zapisze w Config i poinformuje o tym serwer (zmienną local trzeba ustawić na true przy wywołaniu). Tylko aktualnie ta metoda jest w protected. Mogę ją wyciągnąć do public, jeśli chcesz jej użyć. Na wejściu podaje się korekty w jednostce 0.1 (czyli np. -45 to korekta o -4,5 stopnia).
Są też metody do odczytu korekty:
Code: Select all
int16_t getConfiguredTemperatureCorrection();
int16_t getConfiguredHumidityCorrection();
Tylko też są w protected. Też zwracają wartość w jednostkach 0.1.
Tylko te metody wymagają instancji klasy termometru. Nie wiem czy zawsze masz to dostępne.