Licznik impulsów wykresy

Adamo28
Posts: 223
Joined: Sun Nov 08, 2020 2:54 pm

Post

Licznika w normalnych warunkach działa prawidłowo, liczy, zapisuje, działa dobrze. Jednak po zaniku internetu dzieje się coś dziwnego. Na wykresie widać dwa okresy równych zliczeń w godzinach gdy wemos nie miał internetu tylko zasilanie i licznik w zasadzie mógł zliczyć może z kilka impulsów. Dodam że to własna implementacja, wejście wyzwalam 3.3V z RCWL 0516, przy dostępie do internetu nic niepokojącego sie nie dziej, nie ma fałszywych wyzwoleń, problem występuje gdy nie ma internetu i wartości nie są na bieżąco przesyłane do chmury.

Code: Select all

#define STORAGE_OFFSET 100
Supla::Eeprom eeprom(STORAGE_OFFSET);
....
 new Supla::Sensor::ImpulseCounter(14, true, false, 10); 
Gdzie zacząć szukać ?
You do not have the required permissions to view the files attached to this post.
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

Nie widziałem lepszego tematu, żeby zapytać o wykresy.

W aplikacji mogę zagregować dane w opcji:
Agregacja: "Dni", Zakres czasu: "Ostatnie 7 dni" i to robi co powinno, a co stoi na przeszkodzie, żeby w Cloud zrobić to samo? Jak bym nie klikał to nie mogę wybrać Agregacja": "Dni", wybór jest tylko "Minuty","Godziny"
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

[email protected] wrote: Sat Aug 05, 2023 4:15 pm Nie widziałem lepszego tematu, żeby zapytać o wykresy.

W aplikacji mogę zagregować dane w opcji:
Agregacja: "Dni", Zakres czasu: "Ostatnie 7 dni" i to robi co powinno, a co stoi na przeszkodzie, żeby w Cloud zrobić to samo? Jak bym nie klikał to nie mogę wybrać Agregacja": "Dni", wybór jest tylko "Minuty","Godziny"
W Cloud "agregacja" dopasowuje się do okresu. Aby dało się agregować po "dniach", to musi tam być danych przynajmniej na 2 dni (o ile dobrze pamiętam)
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

chyba 4 dni ;) wczoraj nie pokazywało a dziś pokazuje, a dane są od 2.08. Co nie zmienia faktu, że cloud jakieś głupoty pokazuje w stosunku do aplikacji , załączam screeny. Id licznika: 12615 ,na svr85.

Zakresy czasu: Ostatnie 7 dni, Agregacja: dni ( swoja drogą w cloud ten selektor Zakresy czasu mógłby pokazywać aktualnie wybrany tak jak Agregacja pokazuje)

Wg mnie oczekiwane zachowanie w cloud, to że mogę zobaczyć sobie zużycie dzienne i będzie to widok podobny do aplikacji.
You do not have the required permissions to view the files attached to this post.
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

@klew

To co widać w cloud na screenie to w takim razie jest błąd czy ja czegoś nie wiem :D ?
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

[email protected] wrote: Wed Aug 09, 2023 7:51 am @klew

To co widać w cloud na screenie to w takim razie jest błąd czy ja czegoś nie wiem :D ?
To bug-o-feature ;)

Cloud ma dodaną nową funkcję, która ma też być dodana do apek na telefonach, ale Cloud jest zbyt rygorystyczny i jego podejście musi zmięknąć :)

Ogólnie jest założenie, że liczniki impulsów nie mogą maleć. Czyli są "zawsze rosnące". Spadek wartości jest w Cloud traktowany jako reset licznika. Czyli jeśli miałeś wartośći:
2,4 m3
2,5
2,6
2,59
2,7

To dla Clouda ten "2,59" oznacza, że tutaj licznik się zresetował, zaczął liczyć od 0 i naliczył aż 2,59 od resetu do tego momentu.
Natomiast apka na razie to zlewa i zobaczyłaby w tym miejscu spadek o 0,01 m3 (i to pewnie widać na wykresach minutowych w apce).

Będzie to w Cloud poprawiane tak, że spadek musi być o jakiś % większy, aby było potraktowane jako reset.

A obecnie jest jak jest.
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

W porządku ;) Dzięki za potwierdzenie.

Generalnie zachowanie jest "ciekawe".
Licznik co prawda podaje zawsze wartość większą lub równą poprzedniej, ale ESP dopiero przy odczycie wartości z licznika wysyła faktyczną wartość. Interesujące jest to, że to ESP się wcale nie restartuje, a przynajmniej na tyle na ile go obserwowałem bo jest podłączony pod komputer. Wygląda to tak, że jak licznik nie pod wartości przez jakiś czas to cloud interpretuje to jako reset?

Draft klasy dla potomności jak by się ktoś jeszcze zastanawiał czemu tak.

Code: Select all

namespace Supla
{
  namespace Sensor
  { 
    class WaterMeter : public ChannelElement
    {
    private:
      float readValue = 0.0;
  
    public:
      WaterMeter()
      {
        channel.setType(SUPLA_CHANNELTYPE_IMPULSE_COUNTER);
        channel.setDefault(SUPLA_CHANNELFNC_IC_WATER_METER);
      };

      void iterateAlways()
      {
        if (   ... Odczyt z licznika... )
        {  
          if (...odczytano poprawnie wartosc... )
          {
            readValue = ODCZYTANA_WARTOSC;
            channel.setNewValue((int)(readValue*1000000));
          }
        }
      }
  };
};
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

[email protected] wrote: Wed Aug 09, 2023 8:59 am W porządku ;) Dzięki za potwierdzenie.

Generalnie zachowanie jest "ciekawe".
Licznik co prawda podaje zawsze wartość większą lub równą poprzedniej, ale ESP dopiero przy odczycie wartości z licznika wysyła faktyczną wartość. Interesujące jest to, że to ESP się wcale nie restartuje, a przynajmniej na tyle na ile go obserwowałem bo jest podłączony pod komputer. Wygląda to tak, że jak licznik nie pod wartości przez jakiś czas to cloud interpretuje to jako reset?
Ten reset w cloud to nie reset urządzenia. Tylko reset samego licznika impulsów.
Przez "reset licznika impulsów" rozumiemy tutaj sytuację, gdy wartość licznika jest mniejsza niż poprzednia.

Pobierz sobie historię licznika z clouda (w wariancie "tak jak na liczniku") i tam będziesz widział, że czasem pomiar jest mniejszy niż poprzedni.
Najlepsze suple dla Twojego domu :mrgreen:
Adamo28
Posts: 223
Joined: Sun Nov 08, 2020 2:54 pm

Post

Dodam od siebie że problem póki co się nie powtórzył, i nie wiem czym był spowodowany. Domyślnie RCWL nie można zamykać w jednej obudowie z ESP bo wifi wyzwala czujnik mikrofalowy, ale zrobiłem deflektor z płytki aluminiowej i nie mam żadnych fałszywych wyzwoleń :lol:
Jako czujnik wejścia go pomieszczenia z pushem sprawdza się znakomicie.

Return to “Pomoc”