Warunki w SUPLA Scripts - pomysły

Kuba.DeX
Posts: 96
Joined: Tue Feb 02, 2021 4:00 pm

Post

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
Logi (po lewej po "obudzeniu", po prawej wcześniej):
4.png
Urządzenia z Clouda:
5.png
You do not have the required permissions to view the files attached to this post.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

Kuba.DeX wrote: Tue Feb 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
Najlepsze suple dla Twojego domu :mrgreen:
Kuba.DeX
Posts: 96
Joined: Tue Feb 02, 2021 4:00 pm

Post

klew wrote: Tue Feb 02, 2021 6:02 pm
Kuba.DeX wrote: Tue Feb 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
Posts: 3
Joined: Wed Feb 03, 2021 11:32 am

Post

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:

Code: Select all

{{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:

Code: Select all

{{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źć.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

Shmatan wrote: Wed Feb 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:

Code: Select all

{{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:

Code: Select all

{{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.
Najlepsze suple dla Twojego domu :mrgreen:
Shmatan
Posts: 3
Joined: Wed Feb 03, 2021 11:32 am

Post

klew wrote: Wed Feb 03, 2021 12:10 pm
Shmatan wrote: Wed Feb 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:

Code: Select all

{{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:

Code: Select all

{{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 :(
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

Shmatan wrote: Wed Feb 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.
Najlepsze suple dla Twojego domu :mrgreen:
Shmatan
Posts: 3
Joined: Wed Feb 03, 2021 11:32 am

Post

klew wrote: Wed Feb 03, 2021 1:38 pm
Shmatan wrote: Wed Feb 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
Posts: 96
Joined: Tue Feb 02, 2021 4:00 pm

Post

Kuba.DeX wrote: Tue Feb 02, 2021 6:35 pm
klew wrote: Tue Feb 02, 2021 6:02 pm
Kuba.DeX wrote: Tue Feb 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:

Code: Select all

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

Code: Select all

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!
Posts: 4
Joined: Mon Feb 08, 2021 12:29 pm

Post

uchnast.michal wrote: Thu Jan 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

Return to “SUPLA Scripts”