Kolejny prosty skry...
 
Powiadomienia
Wyczyść wszystko

Kolejny prosty skrypt dzVents Czujnik PIR + Lampa

19 Wpisów
5 Użytkownicy
4 Likes
3,710 Wyświetleń
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

Widzę, że proste skrypty dzVents cieszą się powodzeniem wśród użytkowników tego forum więc dziś kolejny prosty skrypt , który może się przydać tym co korzystają z oświetlenia włączanego czujnikami ruchu.

Teoretycznie zależność czujnik – przekaźnik mamy w wersji AFE T-3 , lub możemy sobie zbudować w blockly , ale co zrobić żeby każde naruszenie czujnika ruchu odświeżało odliczanie czasu do wyłączenia przekaźnika ? Podam przykład z własnego podwórka :

Mam czujnik PIR w wiatrołapie , który załącza przekaźnik oświetlenia w momencie wykrycia ruchu.

Czas podtrzymania przekaźnika to tylko 1 minuta i wystarcza to w większości przypadków , są jednak sytuacje gdzie przydało by się ten czas wydłużyć bez migania światłem.

Normalnie jeżeli naruszymy czujnik to zaczyna się odliczanie czasu i po zakończeniu przekaźnik jest wyłączany , nie ważne jest że w międzyczasie naruszyliśmy czujnik nawet kilka razy.

Skrypt zamieszczony poniżej pozwala uzyskać to , że  każde naruszenie czujnika uruchamia odliczanie tej 1 minuty od początku, dzięki temu oświetlenie nie gaśnie po minucie od pierwszego naruszenia a może być włączone tak długo jak długo będziemy przebywać w zasięgu czujnika .

Ponieważ w moim wiatrołapie  jest ciemno  bez względu na porę dnia skrypt uruchamia się zawsze jak ktoś będzie potrzebował żeby skrypt uruchamiał się tylko po zachodzie słońca lub na podstawie innego czujnika np. LUX , to pisać .

Nazwy PIR i Przekaźnika można sobie modyfikować , tak samo czas podtrzymania z 1, można zmienić na dowolną ilość minut
 
Dodane : 02/11/2019 10:29 pm
dhorz, wojtek_gtx and adrian reacted
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
 

A dało by się przerobić ten skrypt pod bramkę RF Gate.
Mam podpięte dwa kontaktrony jak otwieram jedne lub drugie drzwi z tymi kontaktronami to każde dodatkowe otworzenie mogłoby mi wydłużać świecenie lampy przy danych drzwiach.

Mam wirtualny przełącznik typu TEXT który mi wyświetla kody z konkretnych kontaktronów - @isom pewnie pamiętasz jak pomagałeś mi tworzyć blockly ... 
Da się to przerobić pode mnie ??

 
Dodane : 05/11/2019 12:12 am
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

@wojtek_gtx aż tak dobrej pamięci to ja nie mam , musisz napisać jak chcesz żeby to działało tzn czy każdy kontaktron steruje inną lampą , czy te kontaktrony są w domoticz widziane jako czujniki ? Najlepiej też wstaw ten blockly co go tworzyliśmy .

 
Dodane : 05/11/2019 5:46 pm
Sebastian
(@sebastian)
Wpisów: 21
Praktykant
 

Cześć, 

@isom byłbym zainteresowany i wdzięczy gdybyś zmodyfikował skrypt tak by uruchamiał się tylko w przedziale od zachodu do wschodu słońca. 

nazwy moich urządzeń to 

nazwa PIR: PIRLEDKuchnia

nazwa przekaźnika: LEDKuchnia

 

z góry dziękuję !! 

 
Dodane : 06/11/2019 10:46 am
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

@sebastian ponieważ dodanie do skryptu timera np "timer = {'at nighttime'}" spersonalizowało by bardzo ten skrypt pod Ciebie a na dodatek trzeba by go całkiem przerobić zrobiłem to bardziej uniwersalnie i więcej osób będzie mogło skorzystać.

Do całego systemu musisz dodać sobie jeszcze jeden wirtualny przełącznik , ja go nazwałem "Noc" w planach tego przełącznika ustaw sobie żeby włączał się po zachodzie słońca , a wyłączał po wschodzie .

Skrypt działa identycznie jak poprzedni z tym że jak Przełącznik Noc jest OFF to światło się nie włączy wcale, jak Noc jest ON to czujnik włącza światło na 1 min i każde naruszenie czujnika w czasie tej minuty odświeża odliczanie tego czasu.

Dzięki takiej kombinacji ten skrypt można wykorzystać w wielu przypadkach np włącz światło na x minut, ale tylko wtedy gdy jestem w domu ( wyłączony alarm) lub wykorzystując wykrywanie obecności  telefonów itp.

 

 

 
Dodane : 06/11/2019 1:49 pm
Sebastian
(@sebastian)
Wpisów: 21
Praktykant
 

@isom czy to rozwiązanie, z zastosowaniem przełącznika NOC, pozwoli w dalszym ciągu na włączanie w dzień światła za pomocą wbudowanego w sonoff guzika (ustawiony w AFE na sterowanie przekaźnikiem) i wirtualnego przełacznika ON/OFF ??

 
Dodane : 06/11/2019 2:25 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

@sebastian tak , skrypt tylko uwzględnia Noc przy czujniku PIR , reszta będzie działać normalnie 

 
Dodane : 06/11/2019 2:59 pm
Sebastian
(@sebastian)
Wpisów: 21
Praktykant
 

@isom

Utworzyłem wirtualny przełącznik PIRKuchniaNoc (w skrypcie poprawiłem nazwę), ustawiłem plany i pomimo zastosowania skryptu PIR włączył się przed zachodem słońca i działał 35s (to czas skonfigurowany w AFE).

Czy powinienem w wirtualnym przełaczniku PIRKuchniaNoc wskazać  Włacz akcję/Wyłącz akcję?

Czy może powinienem wirtualnym przełaczniku PIRKuchniaNoc wskazać Urządzenie podrzędne PIRLEDKuchnia?

W załączniku log i konfiguracja planu PIRKuchniaNoc.

PIRKuchniaNoc
 
Dodane : 06/11/2019 4:54 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
 
Dodane przez: @isom

@wojtek_gtx aż tak dobrej pamięci to ja nie mam , musisz napisać jak chcesz żeby to działało tzn czy każdy kontaktron steruje inną lampą , czy te kontaktrony są w domoticz widziane jako czujniki ? Najlepiej też wstaw ten blockly co go tworzyliśmy .

A więc tak, każdy kontaktron steruje oddzielną lampą, wszystkie kontaktrony które mam zapięte do bramki widziane są w jednym czujniku typu TEXT jako kody generowane z bramki.
A blockly  do jednej z lamp w załączniku.

 kontaktron
 
Dodane : 06/11/2019 6:09 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

@sebastian tak jak napisałem wcześniej i powtórzę jeszcze raz, skrypt nie ingeruje w soft AFE , ani w przycisk na sonoff , to że włączył się na czas ustawiony w AFE to mnie wcale nie dziwi . Jeżeli chcesz żeby PIR działał tylko na podstawie skryptu to w AFE trzeba wyłączyć sterowanie przekaźnikiem przez PIR . Ma być tak , że skrypt wykrywa naruszenie czujnika PIR i włącza LEDY na określony czas , pod warunkiem że Przełącznik NOC jest włączony . W domoticz masz mieć niezależny czujnik PIR , który bez skryptu nic nie włącza , Przełącznik, który włącza LEDY i przełącznik NOC . Wszystko

 
Dodane : 06/11/2019 8:13 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

@wojtek_gtx już mi przypomniałeś , z tymi twoimi czujnikami jest taki problem, że one nie wysyłają stanu ON/OFF , nawet nie ma jak go zrobić wirtualnie , bo wysyłany kod jest zawsze ten sam , więc nie ogarnę tego bo na poziomie mojej wiedzy nie ma jak. 

 
Dodane : 06/11/2019 8:16 pm
wojtek_gtx reacted
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
 

@isom

Spoko nie ma problemu nie jest mi to niezbędne 😉 ale dzięki za zainteresowanie.

Pozdrawiam

 
Dodane : 06/11/2019 9:49 pm
Sebastian
(@sebastian)
Wpisów: 21
Praktykant
 

@isom, dzięki za zaangażowanie i dotychczasową pomoc. 

Wydaje mi się, że zrobiłem wszystko zgodnie z Twoimi wskazówkami. Teraz gdy w AFE nie ma sterowania przekaźnikiem przez PIR, skrypt nie uruchamia w ogóle światła. 

Poniżej moja konfiguracja: 

Jeżeli chcesz żeby PIR działał tylko na podstawie skryptu to w AFE trzeba wyłączyć sterowanie przekaźnikiem przez PIR 

Konfiguracja czujników ruchu (PIR) > Wybierz przekaźnik:BRAK

W domoticz masz mieć niezależny czujnik PIR , który bez skryptu nic nie włącza.

Sprzęt: PIRKuchnia

Nazwa: PIRLEDKuchnia

Typ: Light/Switch

Przełącznik, który włącza LEDY

Sprzęt: LEDKuchnia

Nazwa: LEDKuchnia

Typ: Light/Switch

pod warunkiem że Przełącznik NOC jest włączony

Sprzęt: PIRKuchniaNoc

Nazwa: PIRKuchniaNoc

Typ: Light/Switch

Plan:

W tej chwili, Plan PIRKuchniaNoc celowo ma wykluczony czwartek na potrzeby tych testów.

 

Log z działania, gdy w czwartek po wschodzie słońca powinien zapalić LEDKuchnia, ale niestety nie włacza lampki

2019-11-07 12:56:51.114 Status: User: Admin initiated a switch command (37/PIRLEDKuchnia/On)

2019-11-07 12:56:51.125 Status: Incoming connection from: 192.168.2.151

2019-11-07 12:56:51.250 Status: dzVents: Info: Handling events for: "PIRLEDKuchnia", value: "On"

2019-11-07 12:56:51.250 Status: dzVents: Info: PIRKuchniaNoc: ------ Start internal script: PIRLEDKuchnia: Device: "PIRLEDKuchnia (PIRKuchnia)", Index: 37

2019-11-07 12:56:51.251 Status: dzVents: Debug: PIRKuchniaNoc: Processing device-adapter for LEDKuchnia: Switch device adapter

2019-11-07 12:56:51.252 Status: dzVents: Debug: PIRKuchniaNoc: Processing device-adapter for PIRKuchniaNoc: Switch device adapter

2019-11-07 12:56:51.252 Status: dzVents: Info: PIRKuchniaNoc: ------ Finished PIRLEDKuchnia

2019-11-07 12:56:56.666 Status: User: Admin initiated a switch command (37/PIRLEDKuchnia/Off)

2019-11-07 12:56:56.811 Status: dzVents: Info: Handling events for: "PIRLEDKuchnia", value: "Off"

2019-11-07 12:56:56.811 Status: dzVents: Info: PIRKuchniaNoc: ------ Start internal script: PIRLEDKuchnia: Device: "PIRLEDKuchnia (PIRKuchnia)", Index: 37

2019-11-07 12:56:56.812 Status: dzVents: Debug: PIRKuchniaNoc: Processing device-adapter for LEDKuchnia: Switch device adapter

2019-11-07 12:56:56.813 Status: dzVents: Debug: PIRKuchniaNoc: Processing device-adapter for PIRKuchniaNoc: Switch device adapter

2019-11-07 12:56:56.813 Status: dzVents: Info: PIRKuchniaNoc: ------ Finished PIRLEDKuchnia

 

 
Dodane : 07/11/2019 1:18 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

@sebastian z fragmentu logów , które wstawiłeś wynika że przełącznik NOC był w czasie testu wyłączony , więc skrypt nie miał prawa włączyć oświetlenia . Żeby to udowodnić wstawiam fragment logów z działania skryptu , najpierw NOC jest OFF a potem jest ON 

2019-11-07 15:34:32.415 (Auto) Light/Switch (Noc)
2019-11-07 15:34:32.411 Status: User: Admin initiated a switch command (11/Noc/Off)
2019-11-07 15:34:46.102 (Auto) Light/Switch (PIRLEDKuchnia)
2019-11-07 15:34:46.098 Status: User: Admin initiated a switch command (13/PIRLEDKuchnia/On)
2019-11-07 15:34:46.182 Status: dzVents: Info: Handling events for: "PIRLEDKuchnia", value: "Open"
2019-11-07 15:34:46.182 Status: dzVents: Info: PIR LED Kuchnia: ------ Start internal script: Script #1: Device: "PIRLEDKuchnia (Auto)", Index: 13
2019-11-07 15:34:46.183 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for LEDKuchnia: Switch device adapter
2019-11-07 15:34:46.184 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for Noc: Switch device adapter
2019-11-07 15:34:46.184 Status: dzVents: Info: PIR LED Kuchnia: ------ Finished Script #1
2019-11-07 15:35:37.874 (Auto) Light/Switch (PIRLEDKuchnia)
2019-11-07 15:35:37.871 Status: User: Admin initiated a switch command (13/PIRLEDKuchnia/Off)
2019-11-07 15:35:37.954 Status: dzVents: Info: Handling events for: "PIRLEDKuchnia", value: "Closed"
2019-11-07 15:35:37.954 Status: dzVents: Info: PIR LED Kuchnia: ------ Start internal script: Script #1: Device: "PIRLEDKuchnia (Auto)", Index: 13
2019-11-07 15:35:37.955 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for LEDKuchnia: Switch device adapter
2019-11-07 15:35:37.956 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for Noc: Switch device adapter
2019-11-07 15:35:37.956 Status: dzVents: Info: PIR LED Kuchnia: ------ Finished Script #1
2019-11-07 15:36:05.036 (Auto) Light/Switch (Noc)
2019-11-07 15:36:05.032 Status: User: Admin initiated a switch command (11/Noc/On)
2019-11-07 15:36:18.491 (Auto) Light/Switch (PIRLEDKuchnia)
2019-11-07 15:36:18.642 (Auto) Light/Switch (LEDKuchnia)
2019-11-07 15:36:18.484 Status: User: Admin initiated a switch command (13/PIRLEDKuchnia/On)
2019-11-07 15:36:18.615 Status: dzVents: Info: Handling events for: "PIRLEDKuchnia", value: "Open"
2019-11-07 15:36:18.615 Status: dzVents: Info: PIR LED Kuchnia: ------ Start internal script: Script #1: Device: "PIRLEDKuchnia (Auto)", Index: 13
2019-11-07 15:36:18.617 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for LEDKuchnia: Switch device adapter
2019-11-07 15:36:18.618 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for Noc: Switch device adapter
2019-11-07 15:36:18.618 Status: dzVents: Debug: PIR LED Kuchnia: Constructed timed-command: On
2019-11-07 15:36:18.618 Status: dzVents: Debug: PIR LED Kuchnia: Constructed timed-command: On FOR 60 SECONDS
2019-11-07 15:36:18.618 Status: dzVents: Info: PIR LED Kuchnia: ------ Finished Script #1
2019-11-07 15:36:18.620 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2019-11-07 15:36:45.293 (Auto) Light/Switch (PIRLEDKuchnia)
2019-11-07 15:36:45.288 Status: User: Admin initiated a switch command (13/PIRLEDKuchnia/Off)
2019-11-07 15:36:45.373 Status: dzVents: Info: Handling events for: "PIRLEDKuchnia", value: "Closed"
2019-11-07 15:36:45.373 Status: dzVents: Info: PIR LED Kuchnia: ------ Start internal script: Script #1: Device: "PIRLEDKuchnia (Auto)", Index: 13
2019-11-07 15:36:45.375 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for LEDKuchnia: Switch device adapter
2019-11-07 15:36:45.377 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for Noc: Switch device adapter
2019-11-07 15:36:45.377 Status: dzVents: Debug: PIR LED Kuchnia: Constructed timed-command: Off
2019-11-07 15:36:45.377 Status: dzVents: Debug: PIR LED Kuchnia: Constructed timed-command: Off AFTER 60 SECONDS
2019-11-07 15:36:45.377 Status: dzVents: Info: PIR LED Kuchnia: ------ Finished Script #1
2019-11-07 15:36:45.378 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2019-11-07 15:36:57.573 (Auto) Light/Switch (PIRLEDKuchnia)
2019-11-07 15:36:57.567 Status: User: Admin initiated a switch command (13/PIRLEDKuchnia/On)
2019-11-07 15:36:57.725 Status: dzVents: Info: Handling events for: "PIRLEDKuchnia", value: "Open"
2019-11-07 15:36:57.725 Status: dzVents: Info: PIR LED Kuchnia: ------ Start internal script: Script #1: Device: "PIRLEDKuchnia (Auto)", Index: 13
2019-11-07 15:36:57.726 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for LEDKuchnia: Switch device adapter
2019-11-07 15:36:57.727 Status: dzVents: Debug: PIR LED Kuchnia: Processing device-adapter for Noc: Switch device adapter
2019-11-07 15:36:57.727 Status: dzVents: Debug: PIR LED Kuchnia: Constructed timed-command: Off
2019-11-07 15:36:57.727 Status: dzVents: Debug: PIR LED Kuchnia: Constructed timed-command: Off AFTER 60 SECONDS
2019-11-07 15:36:57.727 Status: dzVents: Info: PIR LED Kuchnia: ------ Finished Script #1
2019-11-07 15:36:57.728 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
 
Dodane : 07/11/2019 3:57 pm
(@pit_h)
Wpisów: 23
Praktykant
 

Odkopię temat. Poproszę o moda skryptu uwzględniającego zamiast przełącznika NOC czujnik "LUX" natężenia światła. Żeby skrypt działał, gdy natężenie światła spadnie poniżej np. 10lux, a wyłączał się powyżej tej wartości. W tej chwili mam to ustawione w blockly ale niestety tylko pierwsze wzbudzenie czujki włącza lampę na x minut, a kolejne nie przedłuża czasu. Dopiero jak lampa się wyłączy, czujka włącza ją na nowo.

 
Dodane : 06/03/2020 11:13 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

@pit_h dopasuj nazwy do swoich i ustaw sobie czas , tylko w tej wersji czas jest w sekundach 

 
Dodane : 07/03/2020 8:52 pm
(@pit_h)
Wpisów: 23
Praktykant
 

@isom Dziękuje. Działa idealnie.

 

 
Dodane : 07/03/2020 10:09 pm
(@michass)
Wpisów: 1
Świeżak
 

@sebastian

Nie wiem, czy juz rozwiązałeś sprawę, jest prosta komenda, wystarczy, że  zrobisz warunek.

if (domoticz.time.isNightTime) then
 
Dodane : 29/05/2020 7:15 am
Sebastian
(@sebastian)
Wpisów: 21
Praktykant
 

Cześć, dzięki @michass za pamięć 😉

Skrypt od @isom u mnie zadziałał.

 
Dodane : 31/05/2020 9:15 am
Udostępnij: