Skrypt LUA do obsłu...
 
Powiadomienia
Wyczyść wszystko

UWAGAStrona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.

W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉

Za niedogodności z góry przepraszam, admin

Kontakt

Skrypt LUA do obsługi bramy garażowej

23 Wpisów
3 Użytkownicy
1 Reactions
3,890 Wyświetleń
(@aranruth)
Wpisów: 2
Świeżak
Autor tematu
 

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?

 
Dodane : 27/05/2019 6:42 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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 ?

 
Dodane : 28/05/2019 7:42 pm
(@aranruth)
Wpisów: 2
Świeżak
Autor tematu
 

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.

 
Dodane : 29/05/2019 11:46 am
(@muchac35)
Wpisów: 493
Ekspert
 

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ć.

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

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 

Podział dni
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 
 
 
Dodane : 12/10/2019 2:19 pm
(@muchac35)
Wpisów: 493
Ekspert
 

@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

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

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 

 
Dodane : 13/10/2019 7:56 am
(@muchac35)
Wpisów: 493
Ekspert
 

@isom

Kurcze o tygodnie mi chodzilo sorki

 
Dodane : 13/10/2019 7:57 am
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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ł 

zabezp
Ustawiasz swoje hasło dla tego zabezpieczenia 
hasło
Dodajesz przełącznik do skryptu blockly jako dodatkowy warunek 
 
Dodane : 13/10/2019 9:04 am
(@muchac35)
Wpisów: 493
Ekspert
 

@isom

Ale czy wtedy bedxie sprawdziany stan jaki jest obecny bramy?

Aby przy juz otwartej bramie nie nastapilo zamkniecie jej

 
Dodane : 13/10/2019 9:07 am
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

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

 
Dodane : 13/10/2019 9:10 am
(@muchac35)
Wpisów: 493
Ekspert
 

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?

 bl
 
Dodane : 14/10/2019 9:05 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

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ć

 
Dodane : 14/10/2019 9:16 pm
(@muchac35)
Wpisów: 493
Ekspert
 

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?

 blo
 
Dodane : 15/10/2019 9:32 am
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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ę . 

 

 
Dodane : 15/10/2019 1:23 pm
(@muchac35)
Wpisów: 493
Ekspert
 

@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?

parzyste i nie
 
Dodane : 15/10/2019 9:25 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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ł 🙂

 
Dodane : 15/10/2019 9:48 pm
(@muchac35)
Wpisów: 493
Ekspert
 

@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 

 

 
Dodane : 15/10/2019 9:52 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

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

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

@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

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