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ć .
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 ??
@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 .
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ę !!
@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.
@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 ??
@sebastian tak , skrypt tylko uwzględnia Noc przy czujniku PIR , reszta będzie działać normalnie
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.
@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.
@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
@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.
@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:
Aktywny |
Typ |
Data |
Czas |
Losowo |
Polecenie |
Dni |
---|---|---|---|---|---|---|
Tak | Po zachodzie słońca | 00:00 | Nie | Wł. | Pon., Wt., Śr., Pt., Sob., Niedz. | |
Tak | Po wschodzie słońca | 00:00 | Nie | Wył. | Pon., Wt., Śr., Pt., Sob., Niedz. |
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
@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
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.
@pit_h dopasuj nazwy do swoich i ustaw sobie czas , tylko w tej wersji czas jest w sekundach
Nie wiem, czy juz rozwiązałeś sprawę, jest prosta komenda, wystarczy, że zrobisz warunek.
if (domoticz.time.isNightTime) then