Forum Smart'ny Dom

Skrypt LUA do obsłu...
 

Skrypt LUA do obsługi bramy garażowej  

Strona 1 / 2
  RSS
aranruth
(@aranruth)
Nowy

Witam wszystkich użytkowników forum! Jestem nowym użytkownikiem i forum i domoticza. Próbuję powoli przekształcać swój dom na trochę bardziej smart, jednak pozwoliłem sobie na nowego postu ze względu na problem, który jest dla mnie nie do przeskoczenia.

Mam w garażu podpiętą układ Yunshan do sterownik bramy garażowej i wszystko działa pięknie. Odczytuje stan bramy "zamknięty" i "otwarty" a button "push on button" sprawnie zamyka bramę. Chciałem usprawnić działanie układu i za pomocą geolokalizacji utworzyć skrypt, który po oddaleniu telefonu zamknie bramę i upewni się, że jest zamknięta, jeśli nie to zamknie ją ponownie. Problemem jest u mnie ponowienie zamykania. Chciałem to ogarnąć przez chwilowy przestój skryptu.

Tutaj kod jaki udało mi się napisać:


local waitTime = 3
if t1 == nil then t1 = os.time() end

commandArray = {}

if (otherdevices['iPhone_Rafal'] == 'On' and otherdevices['Brama_stan'] == 'Open') then
while (otherdevices['Brama_stan'] == 'Open') do
if math.floor(os.difftime(os.time(),t1)) == waitTime then
t1 = os.time()
commandArray['Brama']='On'
print ("Brama zamykanie SKRYPT 2")
end

end
end

return commandArray

Niestety żadna z funkcji z pauzą, których próbowałem w LUA nie działa prawidłowo.

Czy ktoś z Was ma pomysł jak ugryźć temat?

Cytuj
Dodane : 27/05/2019 7:42 pm
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

@aranruth jesteś pewny , że chcesz powierzyć geolokalizacji opiekę nad bramą garażową ? Może lepiej ustawić auto zamykanie z opóźnieniem a na wypadek jakiegoś niepowodzenia powiadomienie o zbyt długo otwartej bramie .Pytam bo ja bym tego tak nie zrobił, przecież  wystarczy że nie zadziała ta geo albo zgubi gdzieś komendę do przełącznika w domoticzu i co wtedy ?

OdpowiedzCytuj
Dodane : 28/05/2019 8:42 pm
aranruth
(@aranruth)
Nowy

Hej @isom dzięki za odpowiedz! Chęć sterowania brama wzięła się stąd, że moja wspaniała brama ma tendencje podczas zamykania do odbicia w ostatnim momencie. W ten sposób już kilka razy moja małżonka zostawiła bramę w pełni otwartą na cały dzień (gdzie nikogo nie było w domu).

Pomyslalem ze najlepszym sposobem będzie automatyczne zamknięcie jej przez Domoticza jeśli Okaże się ze taka sytuacja nastąpiła. 

Oczywiscie zawsze wyjeżdżając zamykamy bramę z pilota bo tak jest najłatwiej i najlepiej.

OdpowiedzCytuj
Dodane : 29/05/2019 12:46 pm
muchac35
(@muchac35)
Majster

witam

Utworzyłem skrypt w blockly aby rano brama garażowa się otwierała wcześniej sprawdzając jej stan a wieczorem zamykała się również sprawdzając jej stan. Działa ok ale chciałbym aby brama rano otwierała się w parzyste dni (miałem na mysli parzyste tygodnie a napisalem dni) o innej porze a w nieparzyste o innej

Wiem jest taka opcja w planach i ustawiłem i działa ale wtedy ten plan nie sprawdza czy brama jest otwarta czy zamknięta i jeśli rano ma otworzyć a brama w tym czasie była by z jakiegoś powodu już otwarta to wg planu brama zostanie zamknięta a chciałbym aby "plan" sprawdzał stan bramy i jeśli już by była rano otwarta to aby nic nie robił.

Bardzo proszę o podpowiedz jak to rozwiązać.

OdpowiedzCytuj
Dodane : 11/10/2019 11:32 pm
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

Możliwości masz od groma, jedna to utworzyć sobie zmienną użytkownika  nazwijmy ją "parzyste" typ zmiennej ustawiasz na liczba całkowita a wartość dowolnie np 1.

Potem taki układ klocków 

a potem w swoim blokly do bramy dodajesz zmienną i jak zmienna jest 0 otwórz bramę o 8 rano a jak zmienna 1 to o 9 rano 
 
OdpowiedzCytuj
Dodane : 12/10/2019 3:19 pm
muchac35
(@muchac35)
Majster

@isom

Dokładnie tak chciałem zrobić w blocky ale nie miałem tych user variables dodałem ale pojawiły się dopiero po restarcie malinki

I teraz niestety tego nie rozumie ustawiłem zmienną np 1

Jak będzie skrypt wiedział który to tydzień parzysty a który nie

bo ja chcę aby brama otwierała się o 5 rano w tygodnie parzyste a w nieparzyste o 7, wcześniej sprawdzając jaki jest aktualny stan bramy

OdpowiedzCytuj
Dodane : 12/10/2019 11:01 pm
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

Jak się zdecydujesz czy to mają być dni parzyste ( patrz twój pierwszy post ) czy tygodnie  to będzie znacznie łatwiej coś pomóc .

Przy tygodniach jest jeszcze prościej niż przy dniach 

OdpowiedzCytuj
Dodane : 13/10/2019 8:56 am
muchac35
(@muchac35)
Majster

@isom

Kurcze o tygodnie mi chodzilo sorki

OdpowiedzCytuj
Dodane : 13/10/2019 8:57 am
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

@muchac35 no to zamiast zmiennej dodajesz sobie wirtualny przełącznik , nazwa dowolna , ustawiasz mu plany załączeń w tygodnie parzyste , zabezpieczasz go żeby nikt przypadkiem go nie przełączył 

Ustawiasz swoje hasło dla tego zabezpieczenia 
Dodajesz przełącznik do skryptu blockly jako dodatkowy warunek 
OdpowiedzCytuj
Dodane : 13/10/2019 10:04 am
muchac35
(@muchac35)
Majster

@isom

Ale czy wtedy bedxie sprawdziany stan jaki jest obecny bramy?

Aby przy juz otwartej bramie nie nastapilo zamkniecie jej

OdpowiedzCytuj
Dodane : 13/10/2019 10:07 am
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

Napisałeś że masz już skrypt który sprawdza stan bramy , dodajesz do już działającego skryptu ten przełącznik 

OdpowiedzCytuj
Dodane : 13/10/2019 10:10 am
muchac35
(@muchac35)
Majster

no niestety coś robię źle bo mi nie działa (teraz mamy tydzień parzysty co nie)?

zrobiłem takie blockly aby: jeśli jest po 20 ale przed 21 i jest tydzień parzysty a brama otwarta

to zamknij bramę 

takie blockly?

OdpowiedzCytuj
Dodane : 14/10/2019 10:05 pm
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

Brakuje informacji w jakim stanie ma być ten przełącznik "parzyste tygodnie" ma być On czy OFF ? jak dodasz to skrypt będzie wiedział co zrobić

OdpowiedzCytuj
Dodane : 14/10/2019 10:16 pm
muchac35
(@muchac35)
Majster

Utworzyłem najpierw jeden guzik wirtualny o nazwie parzyste i zadziałało ale teraz utworzyłem drugi o nazwie nieparzyste i dalej załącza bramę mimo że mamy tydzień nieparzysty co ja robię źle?

OdpowiedzCytuj
Dodane : 15/10/2019 10:32 am
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

@muchac35 według tego co wstawiłeś będzie tak : Jeżeli "wirtualne nieparzyste" = wył ( co znaczy że mamy parzyste) i jest po godzinie 10 ustaw otwieranie bramy TIPO na ON co minutę . 

 

OdpowiedzCytuj
Dodane : 15/10/2019 2:23 pm
muchac35
(@muchac35)
Majster

@isom

Jeśli jeszcze nie masz mnie dość napisz proszę co robię źle, czy przestawię na parzyste czy nieparzyste tygodnie  przekaźnik załącza bramę. Testuje to tak w domu bez fizycznego podłączania do sterowania bramą i przekaźnik pyka o zadanej godzinie mimo że zmieniam z parzystych tygodni na nieparzyste czy w tym wirtualnym przełączniku w planach mam tylko ustawić tygodnie parzyste/nieparzyste tygodnie a godziny pozostawić 00:00?

OdpowiedzCytuj
Dodane : 15/10/2019 10:25 pm
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

@muchac35 mieszasz tak w tym blockly że sam się już gubisz a zrobienie ci gotowca niczego cię nie nauczy . Zacznij od tego że zrób blok który włączy przekaźnik tylko w parzyste tygodnie a w nieparzyste nawet nie drgnie przekaźnik , jak to zadziała to dodaj kontrolę przez stan czujnika otwarcia jak będzie ok to dołóż zakres czasowy . 

Teraz klepie przekaźnikiem bo to co zrobiłeś w obu przypadkach spełnia warunki żeby klepał 🙂

OdpowiedzCytuj
Dodane : 15/10/2019 10:48 pm
muchac35
(@muchac35)
Majster

@isom

sam już więcej nie wymyślę o gotowca nie śmię prosić bo chcę się tego nauczyć

ale podpowiedz mi proszę co robię źle podpowiedz mi jak ustawić parzyste/nieparzyste całą resztę już chyba opanowałem gdy zobaczę to zrozumie może 

 

OdpowiedzCytuj
Dodane : 15/10/2019 10:52 pm
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

Do testu ustaw w planie czasowym oprócz tego, że w dni parzyste godzinę załączenia tak jak tu

i zobacz czy włączy się przełącznik o określonej godzinie , jak masz ustawione 00. 00 to zmiana nastąpi o północy
OdpowiedzCytuj
Dodane : 15/10/2019 11:05 pm
muchac35
(@muchac35)
Majster

@isom

tak to samo działa że o danej godzinie wg planu załączy przekaźnik w parzysty lub nieparzysty tydzień jak ustawie ale w blockly juz nie

poprostu nie rozumie zasady dodawania tego wirtualnego przełacznika w blockly nie wiem też czy ta godzina na witrualnym przełaczniku ma znaczenie gdy później w blockly będę ustawiał zadaną godzinę zamknięcia bramy

OdpowiedzCytuj
Dodane : 15/10/2019 11:11 pm
Strona 1 / 2
Udostępnij:



Udostępnij
  • 1
    Share

Proszę Zaloguj Się lub Zarejestruj