Warunki w SUPLA Scripts - pomysły

Kuba.DeX
Posty: 33
Rejestracja: wt lut 02, 2021 4:00 pm

Czołem i dzień dobry,
Zakupiłem sobie dwa urządzonka Sonoff z wgraną Suplą z koncepcją sterowania oświetleniem garażu zależnie od stanu otwarcia brany i pory dnia, powiadomieniami o otwarciu etc. Stworzyłem sobie sceny, odpowiednio dla włączenia światła i wyłączenia ze skonfigurowanym Pushoverem. Wszystko działa pięknie, ale... Po dłuższym (imho powyżej 10 minut) utrzymaniu się jednego ze stanów (wysokiego lub niskiego, nie ma znaczenia) kiedy następuje zmiana stanu sceny nie odpalają się, mimo spełnionych warunków. Po ręcznym wywołaniu sceny następne działają już w porządku, aż do następnego przestoju. Jakiś pomysł czemu się "usypiają"? Screeny poniżej.

Sceny:
1.png
1.png (198.45 KiB) Przejrzano 1797 razy
Logi (po lewej po "obudzeniu", po prawej wcześniej):
4.png
4.png (81.54 KiB) Przejrzano 1797 razy
Urządzenia z Clouda:
5.png
5.png (33.75 KiB) Przejrzano 1797 razy
Awatar użytkownika
klew
Posty: 8177
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Kuba.DeX pisze: wt lut 02, 2021 4:17 pm Czołem i dzień dobry,
Sprawdź jeszcze logi widoczne na samym dole pod obiema scenami. Powinna być informacja, że zmienił się warunek i uruchamia się scena
Widzimy się na Supla Offline Party vol. 2 :!:
Kuba.DeX
Posty: 33
Rejestracja: wt lut 02, 2021 4:00 pm

klew pisze: wt lut 02, 2021 6:02 pm
Kuba.DeX pisze: wt lut 02, 2021 4:17 pm Czołem i dzień dobry,
Sprawdź jeszcze logi widoczne na samym dole pod obiema scenami. Powinna być informacja, że zmienił się warunek i uruchamia się scena
Nie, nie ma tam (ani w głównej sekcji logów) śladu o zmianie warunków i próbie wykonania sceny
Shmatan
Posty: 3
Rejestracja: śr lut 03, 2021 11:32 am

Hej,

zakupiłem Gosund SP-111 z przerobionym softem na Supla. Wszystko ładnie się spięło, mam odczyty zużycia prądu i mogę sterować gniazdkiem. Teraz do tego gniazdka ma być podpięta pralka. Chciałbym otrzymywać powiadomienie o zakończeniu prania.
Połączyłem supla scripts, oraz pushover, i wszystko ładnie działa. Mogę otrzymywać powiadomienia, mogę sprawdzać stan zużycia energii poprzez:

Kod: Zaznacz cały

{{state(1340165).phases[0].powerActive > 50}}
Teraz problem jest następujący, chciałbym otrzymać powiadomienie o tym że pralka skończyła prać. Ponieważ jest to stan tymczasowy nie mogę zrealizować tego poprzez proste:

Kod: Zaznacz cały

{{state(1340165).phases[0].powerActive < 50}}
Bo będę otrzymywał te powiadomienia cały czas. Czy ma ktoś jakiś pomysł jak zrealizować aby scena uruchamiała się tylko jeżeli wcześniej uruchomiona była pralka przez jakiś czas?

Jak by się dało sterować włącz/wyłącz scenę i robić if na stan sceny to pewnie można by to jakoś ugryźć.
Awatar użytkownika
klew
Posty: 8177
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Shmatan pisze: śr lut 03, 2021 11:56 am Hej,

zakupiłem Gosund SP-111 z przerobionym softem na Supla. Wszystko ładnie się spięło, mam odczyty zużycia prądu i mogę sterować gniazdkiem. Teraz do tego gniazdka ma być podpięta pralka. Chciałbym otrzymywać powiadomienie o zakończeniu prania.
Połączyłem supla scripts, oraz pushover, i wszystko ładnie działa. Mogę otrzymywać powiadomienia, mogę sprawdzać stan zużycia energii poprzez:

Kod: Zaznacz cały

{{state(1340165).phases[0].powerActive > 50}}
Teraz problem jest następujący, chciałbym otrzymać powiadomienie o tym że pralka skończyła prać. Ponieważ jest to stan tymczasowy nie mogę zrealizować tego poprzez proste:

Kod: Zaznacz cały

{{state(1340165).phases[0].powerActive < 50}}
Bo będę otrzymywał te powiadomienia cały czas. Czy ma ktoś jakiś pomysł jak zrealizować aby scena uruchamiała się tylko jeżeli wcześniej uruchomiona była pralka przez jakiś czas?

Jak by się dało sterować włącz/wyłącz scenę i robić if na stan sceny to pewnie można by to jakoś ugryźć.
Na chwilę obecną można to zrobić tylko z użyciem dodatkowego sztucznego przekaźnika. Trzeba w sofcie któregoś urządzenia (dowolnego, które jest podpięte pod Twoją Suplę), dodać wirtualny przekaźnik, który będzie nam pracował jako dodatkowa zmienna.
W skryptach warunek związany z mocą > 50 ustawiasz aby załączał ten wirtualny przekaźnik, natomiast dla < 50 robiszy wyłącznie wirtualnego przekaźnika.
Następnie powiadomienie ustawiasz sobie na osobnej scenie, która reaguje na zmianę stanu przekaźnika, gdzie sprwadzasz, czy jest on wyłączony. Dostaniesz przy tym "fałszywe" powiadomienia z każdym razem, gdy moduł z przekaźnikiem się odłączy od sieci i połączy ponownie.
Widzimy się na Supla Offline Party vol. 2 :!:
Shmatan
Posty: 3
Rejestracja: śr lut 03, 2021 11:32 am

klew pisze: śr lut 03, 2021 12:10 pm
Shmatan pisze: śr lut 03, 2021 11:56 am Hej,

zakupiłem Gosund SP-111 z przerobionym softem na Supla. Wszystko ładnie się spięło, mam odczyty zużycia prądu i mogę sterować gniazdkiem. Teraz do tego gniazdka ma być podpięta pralka. Chciałbym otrzymywać powiadomienie o zakończeniu prania.
Połączyłem supla scripts, oraz pushover, i wszystko ładnie działa. Mogę otrzymywać powiadomienia, mogę sprawdzać stan zużycia energii poprzez:

Kod: Zaznacz cały

{{state(1340165).phases[0].powerActive > 50}}
Teraz problem jest następujący, chciałbym otrzymać powiadomienie o tym że pralka skończyła prać. Ponieważ jest to stan tymczasowy nie mogę zrealizować tego poprzez proste:

Kod: Zaznacz cały

{{state(1340165).phases[0].powerActive < 50}}
Bo będę otrzymywał te powiadomienia cały czas. Czy ma ktoś jakiś pomysł jak zrealizować aby scena uruchamiała się tylko jeżeli wcześniej uruchomiona była pralka przez jakiś czas?

Jak by się dało sterować włącz/wyłącz scenę i robić if na stan sceny to pewnie można by to jakoś ugryźć.
Na chwilę obecną można to zrobić tylko z użyciem dodatkowego sztucznego przekaźnika. Trzeba w sofcie któregoś urządzenia (dowolnego, które jest podpięte pod Twoją Suplę), dodać wirtualny przekaźnik, który będzie nam pracował jako dodatkowa zmienna.
W skryptach warunek związany z mocą > 50 ustawiasz aby załączał ten wirtualny przekaźnik, natomiast dla < 50 robiszy wyłącznie wirtualnego przekaźnika.
Następnie powiadomienie ustawiasz sobie na osobnej scenie, która reaguje na zmianę stanu przekaźnika, gdzie sprwadzasz, czy jest on wyłączony. Dostaniesz przy tym "fałszywe" powiadomienia z każdym razem, gdy moduł z przekaźnikiem się odłączy od sieci i połączy ponownie.
Niestety nie posiadam programatora, ani tym bardziej wiedzy żeby takie coś wykonać. Bazuję raczej na gotowych rozwiązaniach :(
Awatar użytkownika
klew
Posty: 8177
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Shmatan pisze: śr lut 03, 2021 12:34 pm Niestety nie posiadam programatora, ani tym bardziej wiedzy żeby takie coś wykonać. Bazuję raczej na gotowych rozwiązaniach :(
Zawsze możesz podłączyć jakikolwiek moduł z prawdzimy przekaźnikiem i nim sterować zamiast wirtualnego ;)

Niestety tego typu operacji na chwilę obecną nie ma w Supli. A same skrypty są w wersji "beta" i czasem zachowują się dziwnie.
Widzimy się na Supla Offline Party vol. 2 :!:
Shmatan
Posty: 3
Rejestracja: śr lut 03, 2021 11:32 am

klew pisze: śr lut 03, 2021 1:38 pm
Shmatan pisze: śr lut 03, 2021 12:34 pm Niestety nie posiadam programatora, ani tym bardziej wiedzy żeby takie coś wykonać. Bazuję raczej na gotowych rozwiązaniach :(
Zawsze możesz podłączyć jakikolwiek moduł z prawdzimy przekaźnikiem i nim sterować zamiast wirtualnego ;)

Niestety tego typu operacji na chwilę obecną nie ma w Supli. A same skrypty są w wersji "beta" i czasem zachowują się dziwnie.
Chyba dostawie Supla Virtual Device na Raspberry
Kuba.DeX
Posty: 33
Rejestracja: wt lut 02, 2021 4:00 pm

Kuba.DeX pisze: wt lut 02, 2021 6:35 pm
klew pisze: wt lut 02, 2021 6:02 pm
Kuba.DeX pisze: wt lut 02, 2021 4:17 pm Czołem i dzień dobry,
Sprawdź jeszcze logi widoczne na samym dole pod obiema scenami. Powinna być informacja, że zmienił się warunek i uruchamia się scena
Nie, nie ma tam (ani w głównej sekcji logów) śladu o zmianie warunków i próbie wykonania sceny
Dodałem:

Kod: Zaznacz cały

Wyzwalanie w oparciu o stan kanałów
{{state(xxx).connected}}
z powiadomieniem Pushover

Kod: Zaznacz cały

Garaż - moduł {{state(xxx).connected ? "połączył się" : "stracił połączenie"}} o {{'now'|date('H:i d/m/Y') }}
i dzieje się tak, że po chwili moduł stwierdza że się rozłączył. W Cloudzie i na Fraczu widać, że moduł jest połączony, reaguje na odpytania i polecenia (na innym ID, bo jedno ID jest dla przekaźnika, drugie dla temperatury, trzecie dla czujnika), dioda ciągle się świeci na niebiesko, moduł jest relatywnie blisko routera... Wtedy właśnie nie wykonuje już pozostałych scen, ale po zmianie stanu czujnika (otwarcie/zamknięcie) otrzymuję powiadomienie, że moduł się połączył i dopiero od tej pory akcje działają. Jeżeli będzie chwila bezczynności, znowu dostaję informację o rozłączeniu i od nowa... Ratujta :o
Tancerz90!
Posty: 4
Rejestracja: pn lut 08, 2021 12:29 pm

uchnast.michal pisze: czw sty 28, 2021 3:49 pm Może komuś się przyda, przykłady, które mnie działają.

dla kontaktronu (sensor) - gdy otworzy ktoś bramę garażową
Wyzwalanie w oparciu o stan kanałów
{{not state(XXX).hi}}
Warunek wykonania
{{not state(XXX).hi and state(XXX).connected}}

dla czujnika wilgotności - włącza się wietrzenie w rekuperatorze gdy wilgotność w łazience przekroczy 80%
Wyzwalanie w oparciu o stan kanałów
{{state(XXX).humidity > 80}}
Warunek wykonania
{{state(XXX).humidity > 80 and not state(YYY).on}}
YYY to włącznik/przekaźnik - warunek spełniony gdy program wietrzenie jest wyłączony

Przekaźnik / Włącznik - wyłącza telewizor gdy córka w godzinach kiedy nie powinna włącza TV :) tak wiem jestem okrutny
Wyzwalanie w oparciu o stan kanałów
{{state(XXX).on}}
Warunek wykonania
{{state(XXX).on and ('now'|date('N')) >=1 and ('now'|date('N')) <=5 and time() >= '09:00' and time()<= '15:00' }}
Możesz podpowiedzieć jak napisać gdy chce zamykac brame o 20:00 jesli jest otwarta? (mam kontrakton na state24 a brama na state25
ODPOWIEDZ

Wróć do „SUPLA Scripts”