SuplaSatelIntegrator 2.1.0 - program do integracji Supla z SATEL

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

Duch__ wrote: Thu Sep 14, 2023 9:37 am

Code: Select all

writing 50 bytes into a region of size 49 overflows the destination [-Wstringop-overflow=]
  806 |     SATEL_DATA[A] = 0xFF;
      |     ~~~~~~~~~~~~~~^~~~~~
AD1. "Błędy" w czasie kompilacji nie stanowią problemu, nawet nie wiem kiedy się one pojawiły.
Ten warning mówi o tym, że zapisujesz do tablicy poza zaalokowanym rozmiarem. To jest raczej poważny problem i bym go nie ignorował, bo prędzej czy później zaczną dziać się dziwne rzeczy i nie będzie wiadomo skąd one się biorą.
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

Code: Select all

  for (byte A=1; A <= SATEL_buffor; A++){
    SATEL_DATA[A] = 0xFF;
    SATEL_D_RX[A] = 0xFF;                 //Zapisujemy wszystkie bufory 0xFF
    SATEL_D_TX[A] = 0xFF;
  }
Tu :D
SATEL_buffor ma wartość 50 , a jest <= zamiast < :geek:
djack2017
Posts: 784
Joined: Mon Nov 27, 2017 7:36 am
Been thanked: 1 time

Post

Gdzie można znaleźć opis protokółu komunikacji z SATEL INTEGRA 256?
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

Szukaj instrukcji "protokół integracji" dołączony do modułu ETHM1 Plus.
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

Duch__ wrote: Thu Sep 14, 2023 9:37 am
AD4. Tak. Przyjęcie przez czujnik wartości 240 oznacza że ponad 4h temu nastąpiło ostatnie naruszenie danego czujnika. Wartość ta została dobrana w związku z tym żeby były widoczne zmiany na wykresach. Każdy spadek wartości bliskiej 0 (serwer zaokrągla wyniki) odczytujemy jako naruszenie linii.
240 stopni to jest 2h i 40min
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

240.0 to jest 240 minut i 0 sekund = 4 godziny
Wszystko co przed przecinkiem to minuty, po przecinku sekundy (dziesiątki sekund tj. 0s, 10s, 20s, 30s, 40s, 50s)
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

Duch__ wrote: Thu Sep 14, 2023 5:22 pm 240.0 to jest 240 minut i 0 sekund = 4 godziny
Wszystko co przed przecinkiem to minuty, po przecinku sekundy (dziesiątki sekund tj. 0s, 10s, 20s, 30s, 40s, 50s)
Teoria nie spotkała się z praktyką. Zerknij na wykres. U mnie to było 2:40
You do not have the required permissions to view the files attached to this post.
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

U mnie 4h. Czas jest liczony na podstawie millis(). Można ewentualnie wykorzystać komendę 1A i odczytywać czas z centrali i na tej podstawie liczyć upływający czas.
You do not have the required permissions to view the files attached to this post.
Last edited by Duch__ on Thu Sep 14, 2023 6:08 pm, edited 1 time in total.
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

Duch__ wrote: Thu Sep 14, 2023 6:03 pmU mnie 4h
Czyli coś pomieszałem w kodzie? Nie grzebałem.
To się musi wiązać z tym przeskakiwaniem co 0,2
Może 256 tak się zachowuje?
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

YoMan wrote: Thu Sep 14, 2023 6:06 pm
Duch__ wrote: Thu Sep 14, 2023 6:03 pmU mnie 4h
Czyli coś pomieszałem w kodzie? Nie grzebałem.
To się musi wiązać z tym przeskakiwaniem co 0,2
Może 256 tak się zachowuje?
Centrala 256 nie liczy czasu kiedy nastąpiło ostatnie naruszenie. Ona podaje tylko stany 0 i 1. To ESP liczy ten czas.

Przeskakiwanie o 0.2 jest bardziej związane z biblioteką SuplaDevice i częstotliwością przesyłania danych na serwer.

W podprogramie:

Code: Select all

New_data(){

}
My tylko ustawiamy nowe dane do wysyłki, a to czy one zostaną wysłane za 1 sekundę, 5 sekund, czy 20 sekund to reguluje biblioteka SuplaDevice. Niestety to dyskwalifikuje przesyłanie danych 0 i 1 które zmieniają się np. co 1 sekundę bo na wykresie nie będzie szło rozróżnić czy akuratnie stan był 0 czy 1 - cloud nam to zaokrągli do 0.5. Stąd pomysł na 240minut by było wyraźnie widać kiedy nastąpiło to "tąpnięcie" wykresu = naruszenie czujnika. Równie dobrze można tam ustawić zamiast 240 np. 60 minut. Też będzie liczył, ale maksymalnie do 60. Kto co woli. Ja wykorzystałem prawie w pełni zmienną byte która mogła przyjąć zakres od 0 do 255. 255 minut ciężko się przelicza w głowie na godziny i minuty. 240 już prościej. 60 jeszcze prościej ;)

Wiem trochę to zawiłe, ale nie miałem pomysłu na ominięcie zaokrąglania wyników przez CLOUD.

Return to “Nowości”