Warunki w SUPLA Scripts - pomysły

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

mabakay wrote: Wed Nov 08, 2023 9:01 pm
YoMan wrote: Sun Nov 05, 2023 1:47 pm Przy następującej konfiguracji powiadomienie przychodzi raz. Sprawdziłem przed chwilą:
Powiadomienie to rzecz wtórna, chodzi o to że scena się wykonuje kilka razy "w tej samej chwili". Jak ustawię jako wynik wykonania sceny przełączenie przekaźnika, to ten będzie robił szybkie - klik, kilk, kilk - tej samej sekundzie.
Niezupełnie. Ja ustawiłem powiadomienie jako wykonanie skryptu więc jeżeli by się wykonywał wiele razy to bym dostał wiele powiadomień. Poza tym w logach też mam pojedyncze wykonanie ale nie chciałem wklejać z powodu innych danych widocznych.
mabakay wrote: Wed Nov 08, 2023 9:01 pm Ale wracając do meritum, ja wkleiłem logi ze strony supla scripts - a Ty odpowiadasz "sprawdziłem i u mnie działa".

No nic, dzięki.
Też Niezupełnie. Podałem Ci gotowa konfigurację, ktora dziala ( w sensie jednokrotnie). Poswiecilem czas, stworzylem skrypt, wymusilem dzialanie, sprawdzilem rezultat i potwierdzilem poprawnosc. Gdybyś się pochylił to byś zauważył drobne różnice które mogą mieć wpływ na działanie skryptu. Skopiowałeś 1:1 ctrl+c ctrl+V? I nie działa? Nie wierzę. Myślę że ci się nie chciało.
mabakay wrote: Wed Nov 08, 2023 9:01 pm Mnie się wydaje, że ktoś kto zarządza/ma dostęp do serwera mógłby tutaj pomóc.
Może i mógłby ale po co skoro komuś nie chce się minimum wlasnego wysiłku wlozyc.

P.S. przez wrodzona skromność nie twierdzę że tak nie jest jak piszesz (w sensie że klika kilka razy) ale to może nie być wina skryptu. Zacznij od jednego warunku i dodawaj następne. Zobaczysz co powoduje problem
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
rav20
Posts: 56
Joined: Thu Nov 19, 2020 10:50 am
Location: Dąbrowa Tarnowska

Post

Wtrącę się w dyskusję i dodam swoje 3 grosze do dyskusji 8-)
mabakay wrote: Sun Nov 05, 2023 10:23 am
Image
Image

Wiele razy było to poruszane, że "Wyzwalanie w oparciu o stan kanałów" działa na zasadzie, że każda zmiana stanu stanu kanału wyzwala akcję i tylko odpowiedni warunek pozwoli na wykonanie skryptu czy też nie.
A okiełznać temperaturę nie jest tak prosto :D .

Dla przykładu ja mam ustawione powiadomienie o temperaturze na kotle gdy przekroczy 50 stopni:
Wyzwalanie w oparciu o stan kanałów
{{state(XXXX).temperature >50}}
Warunek wykonania
{{state(XXXX).temperature >50}}
i to działa ale gdy temperatura dalej rośnie to dostaję następne powiadomienie a nie jak myślałem ze dostanę jedno gdy przekroczy 50 stopni - temperatura dalej rośnie i stan kanału zmienia się po czym następuje ponowne wyzwolenie sceny i jeśli warunek na to pozwala to nastąpi wykonanie.

Nie mam pojęcia jak on reaguje jeśli w sekcji "Wyzwalanie w oparciu o stan kanałów" jest kilka kanałów. Czy tu działa jakaś logika ?
Wydaje mi się, że jak klikam w pytajnik obok sekcji "Wyzwalanie w oparciu o stan kanałów" nie powinna wyświetlać się podpowiedź z sekcji "Warunek wykonania sceny", wprowadza to błąd poczatkujących.
Co o tym sądzicie?
Pietras81
Posts: 2409
Joined: Sun Feb 17, 2019 6:56 am
Location: Osielsko
Been thanked: 1 time

Post

rav20 wrote: Fri Nov 10, 2023 11:17 am Wtrącę się w dyskusję i dodam swoje 3 grosze do dyskusji 8-)
mabakay wrote: Sun Nov 05, 2023 10:23 am
Image
Image

Wiele razy było to poruszane, że "Wyzwalanie w oparciu o stan kanałów" działa na zasadzie, że każda zmiana stanu stanu kanału wyzwala akcję i tylko odpowiedni warunek pozwoli na wykonanie skryptu czy też nie.
A okiełznać temperaturę nie jest tak prosto :D .

Dla przykładu ja mam ustawione powiadomienie o temperaturze na kotle gdy przekroczy 50 stopni:
Wyzwalanie w oparciu o stan kanałów
{{state(XXXX).temperature >50}}
Warunek wykonania
{{state(XXXX).temperature >50}}
i to działa ale gdy temperatura dalej rośnie to dostaję następne powiadomienie a nie jak myślałem ze dostanę jedno gdy przekroczy 50 stopni - temperatura dalej rośnie i stan kanału zmienia się po czym następuje ponowne wyzwolenie sceny i jeśli warunek na to pozwala to nastąpi wykonanie.

Nie mam pojęcia jak on reaguje jeśli w sekcji "Wyzwalanie w oparciu o stan kanałów" jest kilka kanałów. Czy tu działa jakaś logika ?
Wydaje mi się, że jak klikam w pytajnik obok sekcji "Wyzwalanie w oparciu o stan kanałów" nie powinna wyświetlać się podpowiedź z sekcji "Warunek wykonania sceny", wprowadza to błąd poczatkujących.
Co o tym sądzicie?
A dla czego tak prostego powiadomienia nie ustawisz w cloud wyzwalanego za pomocą Reakcji ??
https://pietras-81.aqi.eco/
rav20
Posts: 56
Joined: Thu Nov 19, 2020 10:50 am
Location: Dąbrowa Tarnowska

Post

Pietras81 wrote: Fri Nov 10, 2023 12:41 pm
A dla czego tak prostego powiadomienia nie ustawisz w cloud wyzwalanego za pomocą Reakcji ??
To są jeszcze zaszłości przed wprowadzeniem powiadomień w cloud.
Poza tym na moim Galaxy A12 powiadomienia z aplikacji Supla nie zawsze przychodzą w momencie wyzwolenia.
Pietras81
Posts: 2409
Joined: Sun Feb 17, 2019 6:56 am
Location: Osielsko
Been thanked: 1 time

Post

Ja teoretycznie tez nie odszedłem od puhowera i skryptów ale staram się coraz więcej korzystać z reakcji w cloud
https://pietras-81.aqi.eco/
User avatar
Arghatell
Posts: 127
Joined: Thu Jun 11, 2020 10:39 pm

Post

rav20 wrote: Fri Nov 10, 2023 11:17 am

Dla przykładu ja mam ustawione powiadomienie o temperaturze na kotle gdy przekroczy 50 stopni:
Wyzwalanie w oparciu o stan kanałów
{{state(XXXX).temperature >50}}
Warunek wykonania
{{state(XXXX).temperature >50}}
i to działa ale gdy temperatura dalej rośnie to dostaję następne powiadomienie a nie jak myślałem ze dostanę jedno gdy przekroczy 50 stopni - temperatura dalej rośnie i stan kanału zmienia się po czym następuje ponowne wyzwolenie sceny i jeśli warunek na to pozwala to nastąpi wykonanie.
To w warunku, zamiast ">50" wstaw "50". Wtedy będziesz miał tylko jedno powiadomienie.
rav20 wrote: Fri Nov 10, 2023 11:17 am
Nie mam pojęcia jak on reaguje jeśli w sekcji "Wyzwalanie w oparciu o stan kanałów" jest kilka kanałów. Czy tu działa jakaś logika ?
Wydaje mi się, że jak klikam w pytajnik obok sekcji "Wyzwalanie w oparciu o stan kanałów" nie powinna wyświetlać się podpowiedź z sekcji "Warunek wykonania sceny", wprowadza to błąd poczatkujących.
Co o tym sądzicie?
To zależy jak to "przyjąć". Skoro mamy osobne pole do warunków, to tam należy wpisywać warunki. Pole wyzwalacza generalnie jest logiczne, jeśli przyjmiemy , tak jak napisano, że KAŻDA zmiana wskazania dla danego kanału, wyzwoli akcję.

Przykład: zapis w wyzwalaczu: "50" , ">50", " >=50" generalnie realizuje tyle, że niby każda zmiana POWYŻEJ 50 a nawet krok poniżej (49) czyli zmiana, będzie wyzwalaczem, więc logicznym jest, że nie ma sensu używać tutaj w/w zapisów, wystarczy "50".

Natomiast w polu warunku, już jest to istotne, bo wpis "50" zadziała tylko przy 50 a wpis ">50" przy 50 i powyżej, więc jeśli wyzwalacz ma kilka kanałów i kilka wyzwoleń, to oczywistym będzie że będziesz miał kilka powiadomień, powyżej 50.
mabakay
Posts: 42
Joined: Mon Oct 30, 2023 8:52 am

Post

YoMan wrote: Wed Nov 08, 2023 10:09 pm Też Niezupełnie. Podałem Ci gotowa konfigurację, ktora dziala ( w sensie jednokrotnie). Poswiecilem czas, stworzylem skrypt, wymusilem dzialanie, sprawdzilem rezultat i potwierdzilem poprawnosc. Gdybyś się pochylił to byś zauważył drobne różnice które mogą mieć wpływ na działanie skryptu. Skopiowałeś 1:1 ctrl+c ctrl+V? I nie działa? Nie wierzę. Myślę że ci się nie chciało.

Zacznij od jednego warunku i dodawaj następne. Zobaczysz co powoduje problem
Hej hej! Pierwsze dziękuje za każdą próbę odpowiedzi, również Twoją. Drugie, zrobiłem to co zaproponowałeś czyli jak zrozumiałem - zmniejszyć ilość kanałów z 3 na 2?
{{state(xx60).temperature >= state(xx54).temperature}}
Image
Image

Gdy mam jeden kanał w warunku wyzwalacza - to dostanę jedno powiadomienie. Gdy mam więcej kanałów, to dostaję więcej najczęściej tyle ile jest wpisanych kanałów. Jestem na 99% przekonany, że jest to błąd po stronie SUPLA SCRIPTS lub innego skryptu który przetwarza wyzwalacz w oparciu o dane pozyskiwane z urządzeń nadawczych z suplą (choć scripts chyba sięga za pomocą webhooków do danych supla cloud?).
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

A jesteś pewien że temperatura nie "plywa" I scena wykonuje się np. 14:53:10 i 14:53:50 ??

EDIT: nie wiem co innego ustawiacie ale nie jestem w stanie zduplikować tego problemu. Zrobiłem scenę testową jeszcze raz, wynik poniżej. Pushover też tylko raz
You do not have the required permissions to view the files attached to this post.
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
mabakay
Posts: 42
Joined: Mon Oct 30, 2023 8:52 am

Post

Arghatell wrote: Fri Nov 10, 2023 3:27 pm To w warunku, zamiast ">50" wstaw "50". Wtedy będziesz miał tylko jedno powiadomienie.
Przecież tak się nie da, jest błąd parsowania warunku wtedy.
{{state(16140).temperature 20}} (ERROR: Unexpected token "number" of value "20" ("end of print statement" expected) in "__string_template__02390d395cb3604098a3e73b8b4a579934a1d772cb9085ebea01924b2383afa1" at line 1.)
mabakay
Posts: 42
Joined: Mon Oct 30, 2023 8:52 am

Post

YoMan wrote: Sun Nov 12, 2023 6:10 pm A jesteś pewien że temperatura nie "plywa" I scena wykonuje się np. 14:53:10 i 14:53:50 ??
Ha! Wstawię czas do "odpowiedź" i zobaczę!

Return to “SUPLA Scripts”