Sterowanie bramą wj...
 
Powiadomienia
Wyczyść wszystko

Sterowanie bramą wjazdową RPi+Domoticz

8 Wpisów
2 Użytkownicy
0 Reactions
1,693 Wyświetleń
(@maciek90)
Wpisów: 55
Kontrybutor
Autor tematu
 

Witam.

Zgodnie z sugestią kolegi isom wrzucam temat w dziale Domoticz.

Mój problem tyczy się sterowania bramą wjazdową za pomocą Domoticza i Raspberry Pi. Do tej pory udało mi się skonfigurować otwieranie bramy za pomocą kliknięcia przycisku w Domoticzu, ale jak wiadomo apetyt rośnie w miarę jedzenia. Mianowicie chodzi mi o coś takiego, żeby kliknięcie przycisku otwierania bramy w Domoticzu rozpoczynało następującą sekwencję. Kliknięcie>sygnał na przekaźnik>odliczenie ok. 20 s.>sygnał na przekaźnik>odliczenie 1 s.>sygnał na przekaźnik.

Jako, że dopiero rozpoczynam przygodę z Domoticzem chciałbym prosić o pomoc w stworzeniu odpowiedniego kodu w dzVents, który wykona taką sekwencję.

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

@maciek90 wklej poniższy kod do Zdarzenia -- dzVents -- ALL zmień nazwy urządzeń na takie jak masz w domoticz i zapisz skrypt pod nazwą która będzie dla Ciebie jasna.

Teraz krótki opis
Na początku skryptu deklarujesz wyzwalacze, czyli to co ma decydować o uruchomieniu skryptu w tym wypadku jest to urządzenie "Przycisk"
Dalej w funkcji ustalasz że to devices  będą wyzwalać
local relay = dz.devices('Przekażnik') to wskazanie że w dalszej części skryptu zamiast używać pełnej nazwy urządzenia  będziemy używać skrótu "relay" ( przy większej ilości urządzeń i długich nazwach to bardzo upraszcza i ułatwia pisanie)
Dalej już tylko to co ma się wykonać jeśli przycisk będzie w stanie On
  
 
Dodane : 05/10/2020 9:38 pm
(@maciek90)
Wpisów: 55
Kontrybutor
Autor tematu
 

Nazwa przycisku w Domoticzu to Brama dlatego w skrypcie zmieniłem Przycisk>Brama. Niestety nie bardzo rozumiem na co mam zamienić Przekaznik. Czy chodzi o typ przełącznika?

Kolejny pytanie. Załóżmy, że skrypt będzie już OK, zapisuję go pod jakąś wygodną dla mnie nazwą i co wtedy? W jaki sposób podpiąć skrypt pod mój stworzony przycisk Brama?

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

@maciek90 masz przekaźnik podłączony do bramy i to on coś tam zwiera i to w skrypcie jest właśnie "Przekaznik".

Przycisk to drugie wirtualne urządzenie najlepiej Push On Button , który będzie wyzwalaczem "Przycisk"

jak klikniesz w Przycisk to przekażnik zacznie klepać 

U Ciebie powinno być zamiast Przekaznik --- Brama i nowe urządzenie np Brama Open --- Przycisk

 Prze przyc
 
Dodane : 05/10/2020 10:05 pm
(@maciek90)
Wpisów: 55
Kontrybutor
Autor tematu
 
OK, wygląda na to, że działa jak należy. Pora już późna dlatego czas na dokładne testy przyjdzie w ciągu dnia. Na razie śliczne dzięki za pomoc.
 
Dodane : 05/10/2020 10:20 pm
(@maciek90)
Wpisów: 55
Kontrybutor
Autor tematu
 

Potwierdzam, że wszystko działa, ale... no właśnie jest jedno małe ale. Otóż nie zwracając zbytnio na ten fakt uwagi, dokupiłem do Maliny moduł przekaźnikowy, w którym przekaźniki wyzwalane są stanem niskim, natomiast aktywne GPIO w Malinie mają stan wysoki. W związku z tym cewka przekaźnika podłączonego do Maliny jest w normalnym stanie cały czas zasilana co raczej nie jest korzystne. No i teraz pytanie co z tym fantem zrobić:
a. pozostawić taki układ bez zmian
b. odwrócić logikę na GPIO do którego podpięty jest przekaźnik (jeśli tak, to proszę o podpowiedź jak to zrobić)
c. odwrócić działania przycisków w Domoticzu (próbowałem w ten sposób, zarówno zmieniając przyciski jak również modyfikować skrypt od kolegi isom, ale niestety bez pożądanych skutków)
d. pozostawić układ bez zmian z tą różnicą, że cewkę zasilić z osobnego zasilacza, żeby nie męczyć Maliny
e. zwrócić zakupiony moduł i kupić taki z wyzwalaniem stanem wysokim

Takie możliwości przyszły mi do głowy. Bardzo proszę o opinię bardziej doświadczonych użytkowników co byłoby w moim przypadku najlepsze, ewentualnie o zasugerowanie jeszcze innego rozwiązania.

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

@maciek90  jest trochę więcej ale z tym sterowaniem bramy za pomocą GPIO maliny, więc zanim zaczniesz myśleć o odwróceniu logiki GPIO zastanów się czy na pewno chcesz sterować tą bramą z GPIO.

Przy każdym restarcie maliny to GPIO będzie się na chwilę aktywować ---czytaj otwierać bądź zamykać bramę i o ile gdy sterujesz z tego GPIO oświetleniem mignięcie żarówki nie stanowi problemu, to już otwarta brama wygląda przy tym gorzej. 

Możesz oczywiście kombinować z podawaniem zasilania na przekaźnik po czasie uruchomienia się maliny, ale czy warto ?

Może lepiej kupić wemosa D1 mini wgrać AFE T-5 i mieć spokój .

Jak chcesz mimo wszystko zmieniać logikę tego GPIO to napisz czy używasz WiringPi czy SYSFS 

 

 
Dodane : 06/10/2020 7:46 pm
(@maciek90)
Wpisów: 55
Kontrybutor
Autor tematu
 

Po dogłębnej analizie teoretycznej i praktycznej okazało się iż punkt:
a. odpada ze względu na to, że po każdym restarcie Maliny na chwilę zasilanie traci również moduł przekaźników po powoduje zmianę stanu przekaźnika i otwarcie bramy
b. odpada ze względu na to co słusznie zauważył isom
c. być może dałoby się to jakoś zrobić, ale mi się nie udało i zrezygnowałem
d. częściowo rozwiązałoby to problem, ponieważ restarty Maliny nie wpływałyby na stan przekaźnika. Problem pojawiłby się w przypadku zaniku zasilania sieciowego tzn. przekaźnik odpuszcza, a brama otwiera się, gdyż jej sterownik ma awaryjne zasilanie bateriami.
e. zdecydowałem się na to rozwiązanie z uwagi na to, iż mogę jeszcze zwrócić obecny moduł. Swoją drogą ciekawe dlaczego większość modułów opisywanych jako dedykowane do RPi tudzież Arduino itp. wyzwalana jest stanem niskim, skoro stwarza to takie problemy.

 

 
Dodane : 06/10/2020 11:22 pm
Udostępnij: