SuplaSatelIntegrator 2.1.0 - program do integracji Supla z SATEL

User avatar
Duch__
Posts: 2072
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole

Post

Duch__ wrote: Tue Sep 19, 2023 6:38 pm To kiedy pojawi się zmiana w aplikacji nie zależy od nas tylko od biblioteki SUPLA w Arduino i samego serwera. Zobacz kiedy procesor w logach wyświetla:

1) Zmiana wejscia X na 1 -> to jest moment w którym mój program załapał że jest zmiana w centrali alarmowej i od razu przesłał je do biblioteki w podprogramie

Code: Select all

void New_data(){
czujnik_1->setValue(wartosc); 
}
2) Channel(...) value changed to .... -> to jest moment w którym biblioteka załapała że jest zmiana wartości liczbowej;
3) Send: [53 55 50 ....] -> to jest moment kiedy dane zostały wysłane na suplowy serwer.
4) Przesłanie danych z serwera na telefon.

na 2,3 i 4 nie mam wpływu.
Dodam tylko że ja też nie widzę natychmiastowych (np poniżej 1s) zmian w aplikacji, tylko dopiero po około 5 sekundach.
Jednak 2 i 3 można przyśpieszyć.

Wchodzimy do folderu:

Code: Select all

/Dokumenty/Arduino/libraries/SuplaDevice/src/supla/sensor
Odnajdujemy plik thermometer.cpp, otwieramy go za pomocą np. Notatnika

i w nim zmieniamy wartość 10000

Code: Select all

void Supla::Sensor::Thermometer::iterateAlways() {
  if (millis() - lastReadTime > 10000) {
    lastReadTime = millis();
    channel.setNewValue(getValue());
  }
}
na 1000

Code: Select all

void Supla::Sensor::Thermometer::iterateAlways() {
  if (millis() - lastReadTime > 1000) {
    lastReadTime = millis();
    channel.setNewValue(getValue());
  }
}
Zapisujemy plik thermometer.cpp i kompilujemy na plik Arduino.

Sugeruję po kompilacji przywrócić wartość ponownie na 10000 żeby mieć dalej oryginalną bibliotekę.
User avatar
YoMan
Posts: 3205
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa

Post

Duch__ wrote: Wed Sep 20, 2023 4:32 am i w nim zmieniamy wartość 10000

Code: Select all

void Supla::Sensor::Thermometer::iterateAlways() {
  if (millis() - lastReadTime > 10000) {
    lastReadTime = millis();
    channel.setNewValue(getValue());
  }
}
na 1000
Wieczorem na pewno spróbuję :)
(Od razu mnie korci czy da się i czy ma sens jeszcze zmniejszyć ten czas np. do 100?)
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
klew
Posts: 11078
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

W kolejnej wersji supla-device, wszystkie kanały termometrów będą miały możliwość przestawienia tego czasu odświeżania w kodzie, bez ingerencji w samą bibliotekę.

Code: Select all

 termometr->setRefreshIntervalMs(200);
Natomiast ogólnie do sensorów binarnych polecam kanał sensora binarnego :P
User avatar
Duch__
Posts: 2072
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole

Post

Ale dla sensorów binarnych tracę możliwość integracji z reakcjami po czasie od ostatniego naruszenia. Chyba że zdublować kanały i wyświetlać w apce jako binarny, a liczyć za pomocą termometrów i ich nie wyświetlać... hmm...
User avatar
klew
Posts: 11078
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Duch__ wrote: Wed Sep 20, 2023 10:20 am Ale dla sensorów binarnych tracę możliwość integracji z reakcjami po czasie od ostatniego naruszenia. Chyba że zdublować kanały i wyświetlać w apce jako binarny, a liczyć za pomocą termometrów i ich nie wyświetlać... hmm...
Można robić reakcje odpalające sceny z opóźnieniami. Tak jak to jest dla powiadomień o bramie otwrtej powyżej 5 min, etc.

Wiem, że naokoło, ale nie wiem czy "termometry" nie są jeszcze bardziej naokoło :P
djack2017
Posts: 708
Joined: Mon Nov 27, 2017 7:36 am

Post

Duch__ wrote: Mon Sep 18, 2023 4:21 pm Czy w wersji 2.1.1 jest coś co chcielibyście dodać / zmienić?
Czy odczytywałeś z integra 256 listę zdarzeń (kod 8C)?
__________________________________________________________
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
YoMan
Posts: 3205
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa

Post

Duch__ wrote: Wed Sep 20, 2023 10:20 am Ale dla sensorów binarnych tracę możliwość integracji z reakcjami po czasie od ostatniego naruszenia. Chyba że zdublować kanały i wyświetlać w apce jako binarny, a liczyć za pomocą termometrów i ich nie wyświetlać... hmm...
Bliżej mi do opcji by @klew ale podwójne kanały na pewno uczyniły by bardziej elastycznym. Dla każdego coś ....
Poza tym (jeszcze nie siedzę w kodowaniu) ale wydaje mi się, że skoro tyle kodu jest napisane to nie ma co go usuwać tylko dołożyć binarne. Wydaje mi się, że pewnie byłaby opcja wrzucić obsługi sensorów binarnych i termometrów w nawias (nie wiem jak to nazwać fachowo) i wybór opcji (termometry, binarne, termometry+binarne) mógłby polegać na zakomentowaniu jednej linijki. Coś jak include na początku z bibliotekami?

I jeszcze pytanie .... ta integracja polega na odczytywaniu sygnału z integry. Dałoby się w drugą stronę wysłać komunikat, żeby się uzbroiła?
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
Duch__
Posts: 2072
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole

Post

djack2017 wrote: Wed Sep 20, 2023 11:24 am
Duch__ wrote: Mon Sep 18, 2023 4:21 pm Czy w wersji 2.1.1 jest coś co chcielibyście dodać / zmienić?
Czy odczytywałeś z integra 256 listę zdarzeń (kod 8C)?
Dawno temu to robiłem. Jest to dosyć złożony proces. Do czego jest Ci potrzebny?

YoMan wrote: Wed Sep 20, 2023 11:45 am Dałoby się w drugą stronę wysłać komunikat, żeby się uzbroiła?
Tak, da się, ale nie napiszę jak to zrobić. Innymi słowy wiem... ale nie powiem.
djack2017
Posts: 708
Joined: Mon Nov 27, 2017 7:36 am

Post

Duch__ wrote: Wed Sep 20, 2023 12:10 pm
djack2017 wrote: Wed Sep 20, 2023 11:24 am
Duch__ wrote: Mon Sep 18, 2023 4:21 pm Czy w wersji 2.1.1 jest coś co chcielibyście dodać / zmienić?
Czy odczytywałeś z integra 256 listę zdarzeń (kod 8C)?
Dawno temu to robiłem. Jest to dosyć złożony proces. Do czego jest Ci potrzebny?
Moja centrala służy jako kontrola dostępu. Ma głównie czytniki otwierające drzwi.
Stąd interesuje mnie odczyt zdarzeń.
Zacząłem już modyfikować Twój kod pod tym kątem ale na razie efekty są mizerne.
__________________________________________________________
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
YoMan
Posts: 3205
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa

Post

Duch__ wrote: Wed Sep 20, 2023 12:10 pm
YoMan wrote: Wed Sep 20, 2023 11:45 am Dałoby się w drugą stronę wysłać komunikat, żeby się uzbroiła?
Tak, da się, ale nie napiszę jak to zrobić. Innymi słowy wiem... ale nie powiem.
hmmmm..... rozumiem, że z powodów bezpieczeństwa rozbrojenie nie powinno być jawne ale uzbrojenie? Naprawdę korzystam z tego poprzez "integrację mechaniczną". Codziennie wydaje polecenie "Zamknij dom" do GH i się zamyka brama, gasną światła, wyłącza klima i .... UZBRAJA ALARM :D :D :D
Chciałem to u brata zastosować, który nie ma zintegrowanego alarmu z suplą za pomocą mechanicznego pośrednika w postaci przekaźnika.
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024

Return to “Nowości”