KLOP i wartość null

KaDet
Posts: 52
Joined: Fri Nov 27, 2020 5:06 pm
Location: Dąbrowa Górnicza

Post

Mam urządzenie zliczające opad deszczu (jako impulsy). Generalnie to działa, ale... po awarii zasilania nagle okazuje się, że wartość licznika jest null, pomimo tego, ze jest historia pomiarów.
Mam pytanie - jak przywrócić właściwa wartość licznika? Może coś źle robię?
Kod inicjujący licznik:

Code: Select all

  auto rainFallMeter = new Supla::Sensor::GeneralPurposeMeter();
  rainFallMeter->setValueStep(RAINFALL_PER_IMP);
  rainFallMeter->setDefaultUnitAfterValue("mm/m2"); 
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

KaDet wrote: Mon Aug 04, 2025 12:36 pm Mam urządzenie zliczające opad deszczu (jako impulsy). Generalnie to działa, ale... po awarii zasilania nagle okazuje się, że wartość licznika jest null, pomimo tego, ze jest historia pomiarów.
Mam pytanie - jak przywrócić właściwa wartość licznika? Może coś źle robię?
Kod inicjujący licznik:

Code: Select all

  auto rainFallMeter = new Supla::Sensor::GeneralPurposeMeter();
  rainFallMeter->setValueStep(RAINFALL_PER_IMP);
  rainFallMeter->setDefaultUnitAfterValue("mm/m2"); 
Stan licznika powinieneś zapisywać na urządzeniu i przywracać to po resecie.

Ogólnie jest to zaimplementowane, tylko dodaj:

Code: Select all

  rainFallMeter->setKeepStateInStorage(true);
Najlepsze suple dla Twojego domu :mrgreen:
KaDet
Posts: 52
Joined: Fri Nov 27, 2020 5:06 pm
Location: Dąbrowa Górnicza

Post

Dzięki bardzo. To na przyszłość, ale jak obecnie przywrócić prawidłową wartość?
Czy używając Supla ustawić wartość dodana? Czy lepiej jednorazowo ustawić na urządzeniu?
Powinienem użyć setResetToValue? Czy po prostu setCounter?
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

KaDet wrote: Mon Aug 04, 2025 8:14 pm Dzięki bardzo. To na przyszłość, ale jak obecnie przywrócić prawidłową wartość?
Czy używając Supla ustawić wartość dodana? Czy lepiej jednorazowo ustawić na urządzeniu?
Powinienem użyć setResetToValue? Czy po prostu setCounter?
setReset... Jest do czegoś innego. Set counter lub set value - nie pamiętam jak się ta metoda dokładnie nazywała.
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Pomoc”