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?
@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 ?
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.
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ć.
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
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
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
@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ł
Ale czy wtedy bedxie sprawdziany stan jaki jest obecny bramy?
Aby przy juz otwartej bramie nie nastapilo zamkniecie jej
Napisałeś że masz już skrypt który sprawdza stan bramy , dodajesz do już działającego skryptu ten przełącznik
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ć
@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ę .
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?
@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ł 🙂
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
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