KPOP w supla-device

User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SOYER wrote: Thu Nov 28, 2024 3:08 pm Zastanawiam się nad jeszcze jedną rzeczą @klew, jak zrobić by można było łatwo sprawdzić np. łączną sumę opadów za poprzedni miesiąc, czy inny wybrany okres. Tylko zliczanie w urządzeniu, bez sensu. Przecież wszystko siedzi na serwerze. Jak to wyciągnąć?
Ustaw sobie na wykresie "miesiące"
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

@klew, co dokładnie robi klop1->setKeepStateInStorage(true);
Myślałem, że zapisuje w ostatni stan kanału i w razie resetu robi odzysk, ale nie działa...
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SOYER wrote: Fri Nov 29, 2024 4:31 pm @klew, co dokładnie robi klop1->setKeepStateInStorage(true);
Myślałem, że zapisuje w ostatni stan kanału i w razie resetu robi odzysk, ale nie działa...
Sprawdzałem to i u mnie działa ;)
A nie nadpisujesz gdzieś tego przy starcie, jakąś własną zmienną trzymającą opad i ustawioną na 0?
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Supla::Eeprom eeprom(100);
Offset też mam.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Daj link do kodu
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Jednak mam też problem z wgraniem na esp szkicu:
https://forbot.pl/forum/topic/24748-ser ... ent-209964
Więc przy jednej(nieudanej) próbie wgrania szkicu ustawiłem erase alll flash w arduIDE, czy to mogło wykasować nasze dane pomimo nieudanej próby wgrania szkicu? O dziwo program chodzi dalej, więc chyba nic nie skasowało, ale nie znam się...
?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

klew wrote: Fri Nov 29, 2024 5:04 pmDaj link do kodu
viewtopic.php?t=16232
ostatni tam wklejony
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SOYER wrote: Fri Nov 29, 2024 5:07 pm
klew wrote: Fri Nov 29, 2024 5:04 pmDaj link do kodu
viewtopic.php?t=16232
ostatni tam wklejony
Masz tam linijkę:
rain24h->setValue(mm24h)

Ona nadpisuje to co ma klop.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

klew wrote: Fri Nov 29, 2024 5:31 pm
SOYER wrote: Fri Nov 29, 2024 5:07 pm
klew wrote: Fri Nov 29, 2024 5:04 pmDaj link do kodu
viewtopic.php?t=16232
ostatni tam wklejony
Masz tam linijkę:
rain24h->setValue(mm24h)

Ona nadpisuje to co ma klop.
Tyle to ja wiem, ale spójrz:
w przerwaniach mam:

Code: Select all

void ICACHE_RAM_ATTR rn(){// wektor przerwania deszczomierza
  unsigned long static last_event1 = 0;
  if (millis() - last_event1 < 50) {   //debouncing
    return;
  }
  rai1h++;
  EEPROM.write(1, rai1h);
  rai24h++;
  EEPROM.write(2, rai24h);
  last_event1 = millis();
}
potem w razie resetu w SETUP():

Code: Select all

  rai1h=EEPROM.read(1);
  rai24h=EEPROM.read(2);
a potem tylko co 1min:

Code: Select all

mm1h=rai1h*0.15; // dwa przerwnia na jedną kolebkę, więc 0.15
      mm24h=rai24h*0.15;
      rain1h->setValue(mm1h);
      rain24h->setValue(mm24h);
      minuta.restart();
Więc przy resecie czytam zpisaną ilość przerwań i przeliczam na opad, a potem wysyłam na kanał.
Jak inaczej miałbym to zrobić.
W takim razie, rozumiem, że zbędna ta linijka(rain24h->setKeepStateInStorage(true);), lub moje eeprom write i read zbędne.
Na razie nie mogę wgrać szkicu. Nawet instalacja starszej wersji ch340 nie pomogła.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Jeśli trzymasz stan samemu w Eeprom, to klop nie musi tego dublować.

W logach masz odczyt z eepromu?
Najlepsze suple dla Twojego domu :mrgreen:

Return to “supla-dev”