Warunki w SUPLA Scripts - pomysły

edm
Posts: 677
Joined: Mon Jan 15, 2018 6:18 pm
Been thanked: 2 times

Post

YoMan wrote: Wed Apr 16, 2025 6:11 pm A gdybyś spróbował zrobić wirtualne przekazniki (tyle ile dimmerow) -> ich stan ustawiać za pomocą reakcji w cloud na podstawie jasnosci dimmerow -> w skryptach już powinno zadziałać to co było powyzej na przekaźnikach wirtualnych
Nie wiem jak zrobić wirtualne przekaźniki. Mówisz chyba o GG?. Ja mam dedykowany soft.
Z poziomu cloud za pomocą reakcji zrobiłem to już i działa dobrze, patrz tutaj na screeny viewtopic.php?p=203330#p203330
Tylko że reakcji nie można zrobić dla grupy kanałów czy sceny. Lecz na każdy kanał oddzielnie. Robiąc na każdy kanał oddzielnie nie ma logiki pomiędzy kanałami. I to nie zadziała. Jak powinno. A potrzebuje uzyskać to co pisałem tutaj viewtopic.php?p=203330#p203330
Wziąłem udział w Supla Offline Party 2023 :D
User avatar
Arghatell
Posts: 127
Joined: Thu Jun 11, 2020 10:39 pm

Post

edm wrote: Wed Apr 16, 2025 11:11 am Na potrzeby testu uprościłem do 1 dimmer-a
Scena wykonana z ręki (kliknięcia) działa. Gdy warunki są spełnione to przekaźnik wyłączy się OFF.

Jednak jeśli włączę dimmer (60055) z aplikacji supla czyli jego wartość jest większa od 0 (zera) i po chwili wyłączę dimmer (60055) czyli wartość dimerra jest =0. To przekaźnik nie przełączy się na OFF, pomimo że był na ON.
Próbowałem różne kombinacje.
Co robię nie tak?
Skoro wyłączasz dimmer to dodaj and state (60055). connected lub no state (60055). connected. Dostaniesz dodatkowy warunek stanu.
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

edm wrote: Wed Apr 16, 2025 6:27 pm Ja mam dedykowany soft.
Jeżeli sam pisałeś to dopisz te wirtualne, jeżeli ktoś pisał to poproś o pomoc. To chyba 3 linijki kodu.
Ewentualnie zaszyj ten algorytm dzialania w kodzie, będzie działać offline.
Za pomocą samych reakcji tego nie ogarniesz.
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
edm
Posts: 677
Joined: Mon Jan 15, 2018 6:18 pm
Been thanked: 2 times

Post

YoMan wrote: Thu Apr 17, 2025 4:51 am Jeżeli sam pisałeś to dopisz te wirtualne, jeżeli ktoś pisał to poproś o pomoc. To chyba 3 linijki kodu.
Ewentualnie zaszyj ten algorytm dzialania w kodzie, będzie działać offline.
Za pomocą samych reakcji tego nie ogarniesz.
Softu sam nie pisałem. A zawracać koledze głowy nie będę, ma co robić i wiem że raczej z marszu nie pomoże.
Zgłosiłbym oficjalnie tego bug-a, tylko jest jakiś link żeby wystawić zgłoszenie?.

Zrobiłem sporo testów i wiem że w przypadku dimmerów wpisanie "warunków" do Wyzwalacz sceny w oparciu o stan kanałów, nie działa. Tzn pomimo zmiany stanu kanałów scena się nie uruchomi. Wpisywałem tu warunki w różnych formach w oparciu o podpowiedzi i przykłady na forum. I pomimo że po wpisaniu miałem komunikat na zielono że Warunek jest aktualnie spełniony, to i tak po zmianie stanu dimmera scena nie wykonała się. A z kliknięcia lub wpisu cron działa.

Ostatecznie zostawiłem tylko wpisany warunek w Warunek wykonania sceny, ponieważ w poprzednich moich próbach, ustawieniach gdzie posiłkowałem się warunkiem w Wyzwalacz sceny w oparciu o stan kanałów. Dochodziło do sytuacji że cron wyłączył przekaźnik, pomimo że nie powinien bo któryś z dimmerów był w użyciu, czyli większy od 0.

Wyjaśnię trochę po co te kombinacje. Mam dimmer custom. Zrealizowany na WT32-ETH01 oraz 8 szt. YYAC-3S i jakaś drobna elektronika. Na dobrych żarówkach philips działa zadawalająco. Tyle że 8 szt. YYAC-3S zasilane 230V pobiera około 4,6 do 5W. Czyli żadna żarówka się nie świeci (a tak jest przez większość dnia) i mamy non stop zużycie energii 4,6 do 5W przez same YYAC-3S = sporo. Do tego dochodzi pobór energii przez WT32-ETH01 plus drobna elektronika. WT32-ETH01 po WiFi zużywa około 1,1W a po LAN 2,7W, to powiedzmy akceptowalnie. Choć dziwne że po LAN więcej, myślałem że będzie odwrotnie.

Dlatego chcę zasilanie 8 szt. YYAC-3S zrealizować przez przekaźnik, który włączy się jak którykolwiek z dimmerów będzie włączony, i wyłączy się jak wszystkie dimmery będą wyłączone. Także jest o co walczyć ;).
You do not have the required permissions to view the files attached to this post.
Wziąłem udział w Supla Offline Party 2023 :D
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

edm wrote: Thu Apr 17, 2025 9:00 am Softu sam nie pisałem. A zawracać koledze głowy nie będę, ma co robić i wiem że raczej z marszu nie pomoże.
A może jednak? Dopisanie wirtualnych przekaźników to naprawdę max 3 min "roboty". Jeżeli się nie mylę to:

Code: Select all

#include <supla/control/virtual_relay.h>
Supla::Sensor::VirtualRelay *virtual_[iloscVirtuali] = {};

(...)

void setup() {
  for (int i=0;i<iloscVirtuali;i++) {
      virtual_[i] = new Supla::Control::VirtualRelay();
  }
    
(...)

}
NIe jestem az tak biegły, żeby zapewnić że działa bez sprawdzenia ale może któryś z kolegów w razie czego poprawi.
edm wrote: Thu Apr 17, 2025 9:00 am Zgłosiłbym oficjalnie tego bug-a, tylko jest jakiś link żeby wystawić zgłoszenie?.
Nie (na 99,99%). Skrypty nie są rozwijane, wszystkie funkcje powoli przechodzą do clouda, autor skryptów pracuje nad cloudem.
edm wrote: Thu Apr 17, 2025 9:00 am
Dlatego chcę zasilanie 8 szt. YYAC-3S zrealizować przez przekaźnik, który włączy się jak którykolwiek z dimmerów będzie włączony, i wyłączy się jak wszystkie dimmery będą wyłączone. Także jest o co walczyć ;).
Jeżeli aż tak bardzo nie chcesz zawracać głowy autorowi softu to możesz polegać na dodatkowym sprzęcie. Weź dowolny moduł (sonoff, wemos, etc.) -> wgraj GG i ustaw tam virtualne przekaźniki. Reszta jak powyżej. Jeżeli jednak to wszystko dalej ci w jakiś sposób się nie spina z Twoją wizją to moje pomysły się już skończyły.
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
edm
Posts: 677
Joined: Mon Jan 15, 2018 6:18 pm
Been thanked: 2 times

Post

YoMan wrote: Thu Apr 17, 2025 1:16 pm Jeżeli aż tak bardzo nie chcesz zawracać głowy autorowi softu to możesz polegać na dodatkowym sprzęcie. Weź dowolny moduł (sonoff, wemos, etc.) -> wgraj GG i ustaw tam virtualne przekaźniki. Reszta jak powyżej. Jeżeli jednak to wszystko dalej ci w jakiś sposób się nie spina z Twoją wizją to moje pomysły się już skończyły.
Dobra złóżmy że wgram na sonoff GG i ustawię wirtualne przekaźniki w ilości 8 szt. tyle ile dimmerów. I co teraz z poziomu supla cloud mam ustawić żeby 1 przekaźnik (wirtualny) ten na sonoff "kopiował" stan z 1 dimmera ?. Analogicznie z pozostałymi przekaźnikami. I wtedy już z poziomu supla scripts do warunków wskazywać przekaźniki wirtualne.
O to Ci chodziło?

Obecnie rozwiązałem to w ten sposób. Włączenie przekaźnika poprzez włączenie dimmerów zrobiłem reakcjami w supla cloud. To działa dobrze. Co prawda nie ma tu logiki i nie jest sprawdzane czy już przekaźnik jest włączony, ale ok, nie musi być.
Natomiast logika potrzebna jest do wyłączenia przekaźnika. Ogólnie to zrealizowałem to w supla scripts z Waszą pomocą. Tylko że działa w ten sposób że warunki są wywoływane w cron co 10 min. Trochę bez sensu bo warunek w pętli działa cały czas. A tak naprawdę jak zgasimy światło przed spaniem i przekaźnik oraz dimmery są na OFF to już do następnego włączenia dimmera nic nie potrzeba robić. Ale warunek na zmianę stanu dimmera nie działa i jest jak jest.
Wziąłem udział w Supla Offline Party 2023 :D
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

edm wrote: Sat Apr 19, 2025 5:39 pm O to Ci chodziło?
Tak. W cloud reakcjami "przekładasz" stan dimmera na przekaznik czyli brightness 0 -> przekaźnik virtualny off, brightness >0 -> przekaźnik virtualny on.
Potem w scripts robisz scene z tego postaviewtopic.php?p=203357#p203357 oczywiście ie korzystając ze stanu virtualnych zamiast dimmerów.
Na zmianę stanu przekaznika skrypty muszą zadziałać. No ni ma ch.... we wsi 😉
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
greg_p
Posts: 11
Joined: Mon Nov 20, 2023 8:40 pm

Post

Witam czy "time()" działa, czy komuś działa, czy takie coś jest OK: {{time() > '20:41'}} czy robie jakiś podstawowy błąd. Wpisałem w wyzwalaczu i warunku potem wyłącz przekaźnik, z 10 razy próbuje, kolorki się zmieniają, a wykonania zero, ręcznie idzie, może ktoś wspomóc?
User avatar
Lector
Posts: 2470
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań
Has thanked: 13 times
Been thanked: 25 times

Post

greg_p wrote: Thu May 08, 2025 6:49 pm Witam czy "time()" działa, czy komuś działa, czy takie coś jest OK: {{time() > '20:41'}} czy robie jakiś podstawowy błąd. Wpisałem w wyzwalaczu i warunku potem wyłącz przekaźnik, z 10 razy próbuje, kolorki się zmieniają, a wykonania zero, ręcznie idzie, może ktoś wspomóc?
A pokaż co podajesz w wyzwalaczu i w warunku.
Zbyt szybka zmiana stanów jest ignorowana.

Dla testu ustaw czas minutę do przodu (jak teraz jest 12:17 to ustaw sobie 12:19) i poczekaj, zobacz czy zadziała.

Zobacz też jako wyzwalacz time a jako warunek gdy przekaźnik jest załączony - wykonaj wyłącz przekaźnik.
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/
https://pool.lector.top/
luxenergy
Posts: 11
Joined: Sun May 11, 2025 11:31 am

Post

Witam. Mam pomysł na steorwanie oświetleniem z wykorzystaniem ROW4m:
Realizacja na nim załączanie z jednej czujki dwóch źródeł światła jedno załączane od wschodu do zachodu słońca a drugie od zachodu do wschodu słońca dodatkowo te światła mają być załączane w dowolnym momencie przez łącznik bistabilny, jedno kliknięcie światło 1 dwa kliknięcia światło 2 i jedno kliknięcie wyłączanie światła. drugi uklad czujka 2 załącza oświetlenie 3 przez całą dobę i załączany i wyłączany z drugiego łącznika. Czy jest to osiagalne do wykonanie w supla script, jezeli tak to prosilbym o jakies pomysly osob doswiadczonych w tym programie. Pozdrawiam

Return to “SUPLA Scripts”