Powiadomienia
Wyczyść wszystko

Domoticz Skrypt Blockly - wysyłanie wiadomości, jeżeli brama garażowa jest otwarta dłużej niż 30min

11 Wpisów
3 Użytkownicy
1 Reactions
1,620 Wyświetleń
leckimarcin
(@leckimarcin)
Wpisów: 53
Kontrybutor
Autor tematu
 

Witam,
mam problem z jednym zdarzeniem. Utworzyłem zmienną "Brama-licznik", która, jeżeli brama zostanie otwarta, zmienia swój stan na 1 po upływie 30min.
Niestety z jakiegoś powodu zdarzenie to nie nadpisuje z powrotem zmiennej na 0. O dziwo pierwsza część warunku tj. wysłanie wiadomości email działa bez zarzutu.

Dodałem dodatkowo warunek (pierwszy od góry), który, jeżeli brama jest zamknięta, powinien nadpisać stan zmiennej na 0. Niestety tak się nie dzieje.

Zdarzenie działa tylko pierwszy raz, to znaczy jak ręcznie zmienię stan zmiennej na 0 i otworzę bramę na dłużej niż 30min to po upływie tego czasu dostaję wiadomość email. Następne otworzenie bramy powoduje wysłanie wiadomości natychmiast - zmienna "Brama-licznik" ma cały czas wartość 1.

Co mogę zmienić dodatkowo aby skrypt działał taj jakbym tego chciał, bądź dlaczego domoticz nie aktualizuje zmiennej?

 

 post
 
Dodane : 19/10/2020 7:50 pm
(@krzysztofch)
Wpisów: 489
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
 

Juz nie bede wnikal co skrypt ma robic ale tak sie blocly nie uklada. Ma byc tylko jeden kafelek z trybkiem. Nie dwa tak jak ty to masz. 

 
Dodane : 19/10/2020 11:29 pm
isom
 isom
(@isom)
Wpisów: 5170
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@leckimarcin nawet poprawiając to co  słusznie zasugerował @krzysztofch , to nie ma prawa działać poprawnie.

Wydajesz polecenie zmiany wartości zmiennej po czasie 30 min od momentu otwarcia bramy i to polecenie czy chcesz czy nie po tym czasie się wykona, nawet jak wcześniej ta brama zostanie zamknięta, a to dlatego, że w warunku o zmianie tej zmiennej nie ma mowy o tym co ma się stać gdy brama się zamknie przed upływem tego czasu.

 
Dodane : 20/10/2020 10:54 am
(@krzysztofch)
Wpisów: 489
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
 

Isom tu ma racje nie chcialo mi sie juz wnikac ze sama regula koliduje sie sama. Jedna czesc zmienia zmienna na taka , a druga na inna. I to chyba nie dokonca zamierzony koncowy cel

 
Dodane : 20/10/2020 12:48 pm
leckimarcin
(@leckimarcin)
Wpisów: 53
Kontrybutor
Autor tematu
 

Jak napisalem w pierwszym poscie, pierwszy warunek zostal dodany pozniej, nie ma on znaczenia.

Proponujecie dodac druga zmienna? Tak zeby dopiero to ona resetowala ta pierwsza po zmianie stanu bramy?

 
Dodane : 20/10/2020 12:56 pm
isom
 isom
(@isom)
Wpisów: 5170
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@leckimarcin druga zmienna tylko zagmatwa sprawę , ta co jest wystarczy tylko trzeba kilka razy ją zmienić zanim się rozkaże wysłać powiadomienie, masz tu przykład jak to można zrobić.

bram
 
Ale ja na Twoim miejscu poszukałbym na forum skryptu dzVents , który kiedyś komuś już wstawiłem, a który powiadamia po dowolnym czasie i wysyła też powiadomienie po zamknięciu bramy , oczywiście tylko wtedy gdy była zbyt długo otwarta
 
Dodane : 20/10/2020 1:25 pm
Krzysztofch reacted
(@krzysztofch)
Wpisów: 489
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
 

ok co twoje blokly mowi

pierwsza czesc mowi 

jak brama zostanie otworzona to ustawi sie zmienna na jeden po pol godziny.

Nawet jak cos ja zmieni ta akcja po tym czasie sie wykona.

druga czesc mowi

Jak ktos ponownie ta brame otworzy a minelo juz pol godz,  i jest juz ta zmienna 1, to wysle ci wiadomosc i ustawi zmienna na 0

A jak jeszce jej nie ma to nie wysle, tu prawie  ok

Znow jak otworzysz brame to po pol godziny zmienna sie ustawi na jeden

A teraz zamkniesz brame ,zmienna bedzie po pol godz 1

Otworzysz ponownie  a juz zmienna sie zmienila i brama caly czas bedzie zamknietai, znow ja otworzysz od razu ci wysle wiadomosc i ustawi na z 0

i od nowa.

 

Jest to jakies sensowne?

 

 
Dodane : 20/10/2020 1:33 pm
(@krzysztofch)
Wpisów: 489
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
 

@isom 

tak sie zastanawiam czy w tych bloky w dwuch przypadkach , domoticz bedzie sprawdzal co minute np jaki jest stan , czy 

sprawdzi ten stan wtedy kiedy zmienna bedzie taka jaka potrzebujemy i ktos kub cos wlaczymy przycisk otworz . 

 
Dodane : 20/10/2020 1:51 pm
isom
 isom
(@isom)
Wpisów: 5170
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@krzysztofch sorki ale nie bardzo kumam o co Ci chodzi . Po otwarciu bramy zmienna z 0 dostanie 1 po 10 sek, blockly musi na to zareagować i sprawdzić stan czyli wykonać kolejny warunek . w dowolnym momencie możesz zamknąć bramę co spowoduje że zmienna po sekundzie musi ustawić się znowu na 0 , a jak nie zamkniesz i zmienna osiągnie wartość 4 to wyśle powiadomienie 

 
Dodane : 20/10/2020 2:00 pm
(@krzysztofch)
Wpisów: 489
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
 

@isom masz racje. Po kazdym uplywie 10 sek domoticz bedzie sprawdzal tez  stan i zmieni na kolejna zmienna 

 
Dodane : 20/10/2020 2:29 pm
leckimarcin
(@leckimarcin)
Wpisów: 53
Kontrybutor
Autor tematu
 

@isom Wielkie dzięki, skrypt w blockly, który wrzuciłeś działa wyśmienicie 😀 

 
Dodane : 21/10/2020 1:02 am
Udostępnij: