Włączanie i wyłącza...
 
Powiadomienia
Wyczyść wszystko

Włączanie i wyłączanie żarówek

103 Wpisów
6 Użytkownicy
2 Likes
8,773 Wyświetleń
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Wracając do tematu da rade zrobić tak:

1. Wchodzę do np garażu odpala się oś z czujki i jeśli czujka wykrywa ruch resetuje czas i świeci jeśli nie wykrywa oś gaśnie to mamy obecnie w skrypcie 3v i u mnie działa ok.

2. W tym samym skrypcie łącznik ścienny działa podobnie jak czujka czyli klikam zapala oś i tu na ustawiony czas ale jeśli czujka wykrywa ruch to ten czas resetuje jeśli nie wykryje gasi światło.

@isom jest taka możliwość ten skrypt tak zmodyfikować ? Lub czy da się to zrobić w bloczkach ?

 
Dodane : 07/10/2021 8:22 pm
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 w skrypcie łącznik = żarówka więc nie da się zrobić "jak łącznik = ON to włącz żarówkę na 10 min " . Możesz sobie w tym garażu ustawić auto wyłączenie w samym przełączniku albo oddzielny skrypt w blockly  

 
Dodane : 08/10/2021 4:49 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

1. Czyli skrypt zostawiam jak jest.

2. Auto wyłączanie robię dodatkowo w bloczkach ok ale jak jeśli czujka 5 min off to żarówka off ??

3. I czy to zadziała łącznie z skryptem który jaż mam jak dodam taki blok ?

Co do czasu ustawionego w przełączniku to słabo bo chciałbym aby czas był resetowany przez czujkę wiadomo opcja pierwsza zapalanie i gaszenie z czujki czas krótszy a zapalone z przełącznika czas długi.

Popełniłem więc taki bloczek:

bloczek

Wygląda że działa bo jak kliknę w domoticzu na przełącznik to po ustawionym czasie go zgasi więc się nie gryzie z skryptem, jutro sprawdzę na budowie jak działa zapalanie i gaszenie z pira. Pytanie czy da się podać czas w minutach ?

 
Dodane : 08/10/2021 5:03 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Jednak blok nie wprowadza poprawnego działania os gaśnie po ustawionym w bloku czasie a czujka nie resetuje czasu mimo naruszeń więc mam chyba źle blok skonstruowany.

 
Dodane : 09/10/2021 2:19 pm
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 czego ty oczekujesz ? Skrypt dzVents jest napisany tak żeby jak ktoś chce włączyć światło na stałe to może i wtedy czujnik jest ignorowany a gdy nie włączysz włącznikiem to włączy je PIR na ustawiony czas . Dodanie dowolnego bloku nie zmieni działania tego skryptu a w bloku nie ustawisz resetowania czasu.

 

 
Dodane : 09/10/2021 3:01 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

@isom w sumie rozwiązanie ok włącznik jest włącznikiem i działa jak w tradycyjnej instalacji a pir na ustawiony czas to dodatek jednakże zamiast tego przełącznika na stałe lepiej byłoby przełącznik na osobny czas resetowany przez czujnik ustawiam na dłuższy czas a czujnik go resetuje i jest na stałe a w wyrazie zapomnienienia gaśnie.

 
Dodane : 09/10/2021 3:25 pm
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 gdybym widział sens takiego rozwiązania to bym pewnie napisał taki skrypt , ale nie widzę absolutnie sensu. Jak chcę czytać książkę czy siedzę przy kompie to nie naruszam czujnika i chcę mieć oświetlenie na stałe a jak chcę wejść na 5 minut to nie włączam na stałe. Jak włączę na stałe i zapomnę to jak idę spać to system i tak zgasi .

Przekombinowany system jest gorszy niż jego brak , a co mają zrobić Ci co nie mają automatyki i zapomną ?

 
Dodane : 09/10/2021 5:11 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

@isom No widzisz czyli masz skrypt który sprawdza które oś się świeci niepotrzebnie i gasi.

Tak jak piszesz w pokoju tego nie zastosuję ale u mnie żona w spiżarce zapala oś a nie gasi nigdy świeci się 24h to samo garaż, kotłownia więc dla mnie taki skrypt ma jak najbardziej sens.

Natomiast dla pokoju salonu sypialni ten skrypt v3 jest ok bo zapalam światło do puki nie zgaszę.

 
Dodane : 09/10/2021 6:27 pm
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 przecież Ty też masz do dyspozycji taki skrypt , tylko nie umiesz go wykorzystać . Możesz ustawić scenę w domoticz aktywowaną np włącznikiem światła w sypialni , jak to nie pasuje to możesz wykorzystać skrypt który tu wstawiłem a który sprawdza ile czasu coś jest włączone i jak za długo to wyłącza, wystarczy zmienić początek na taki 

local THRESHOLD = 60 -- czas w minutach przez jaki oświetlenie może być ON
local devicesToCheck = 
        {
            'Lampa1',  -- Tabela przełączników zmień nazwy na swoje
	     'Lampa2',
            'Lampa3',
	    'Spiżarnia'
	     'Garaż'
	}
return 
{
    on = 
    {
        devices = devicesToCheck,
        timer =   {'every 5 minutes between 21:30 and 23:30'},

I będzie tak : Po godzinie 21:30  do godziny 23:30 wszystko co wskazane w tabeli będzie sprawdzane i jeżeli jest włączone dłużej niż godzinę to skrypt to wyłączy

W zasadzie to oryginalny skrypt do takich pomieszczeń jak spiżarnia czy garaż wystarczy bo nikt nie siedzi w spiżarni dłużej niż 30 minut a skrypt się wykonuje przez cały dzień co 5 minut

 
Dodane : 09/10/2021 7:45 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Ok weźmy pod uwagę skrypt który sprawdza które włączniki są powyżej ustalonego czasu czyli odpalam os łącznikiem na ścianie i mnie niema w pomieszczeniu i on mi gasi oświetlenie a co w temacie gdy jestem w pomieszczeniu powyżej czasu w skrypcie również mi zgasi mimo że czujka wykrywa ruch bo tam czujka nie resetuje czasu. Więc to nie to co chce osiągnąć.

Sam sobie kodu nie zmodyfikuje ponieważ nie wiem co jest co za co odpowiada i wogle jestem zielony w tym temacie.

Spróbuję wykombinować coś z użyciem Integry tylko stracę mnóstwo wejść i wyjść ale tam może sie uda zrobić że dane wyjście jest naruszone ustalony czas i czas się resetuje reszta powinna się wykonać w blockly.

 
Dodane : 09/10/2021 8:57 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

A mogę @isom wstawić w skrypt v3 warunek którym jest godzina w jakich czujka ma zapalać światło zamiast lux ?

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

@daro1003 oczywiście że możesz, wystarczy dodać na początku skryptu dodatkowy wyzwalacz np między 19 a 23:00 czyli tak jak poniżej 

return {
    on = {
    devices = {
      'Lampa',    -- nazwa wlacznik w domoticz 
      'PIR' -- nazwa czujnika w domoticz
    },
    timer = { 'between 19:00 and 23:00'}
  },

i dodać ten warunek czasowy w wierszu

 if item == motion and dz.time.matchesRule('between  19:00 and 23:00') then -- detekcja aktywna
 
Dodane : 12/10/2021 9:00 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

A jeszcze można zrobić inaczej do odpalania tego skryptu z czujki mam taki bloczek:

Sterowanie Garażem

Czy da się go tak przerobić aby wstawić zachód i wschód słońca  ? Żeby bloczek był aktywny po zachodzie słońca a po  wschodzie nie ? 

Wtedy nie musiałbym zmieniać godzin włączenia i wyłączenia jesienną czy wiosenną pora.

 
Dodane : 13/10/2021 1:29 pm
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

To bardzo proste zmieniasz 

timer = {'between aa and bb'}

na to 

timer = { 'at nighttime'}

i to samo wstawiasz do wiersza

 if item == motion and dz.time.matchesRule('between  19:00 and 23:00') then -- detekcja aktywna
 
Dodane : 13/10/2021 3:19 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

@isom wstawiam to:

timer = { 'at nighttime'}

i to :

if item == motion and dz.time.matchesRule('between  19:00 and 23:00') then -- detekcja aktywna

ale godziny są wtedy przez system brane z:

godziny
 
Dodane : 26/10/2021 12:51 pm
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 a czego oczekujesz ? Przecież skoro noc - nighttime to dla systemu noc jest po zachodzie słońca i do wschodu słońca , albo ustalasz godziny albo jak  nie chcesz ich co jakiś czas korygować masz godziny nocne które system sam zmienia

 
Dodane : 26/10/2021 3:06 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

@isom i o to chodziło aby czas brany był z systemu a nie z ustawień ręcznych dzięki.

 
Dodane : 26/10/2021 5:45 pm
Daro1003
(@daro1003)
Wpisów: 761
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Hej @isom

No i skrypt nie robi wchodzę teraz do garażu i oświetlenie się odpala a nie powinno.

Coś zle wstawiłem ??

return {
    on = {
    devices = {
      'Garaż',    -- nazwa wlacznik w domoticz 
      'Czujka Pir' -- nazwa czujnika w domoticz
    }
    timer = { 'at nighttime'}
  },
  data =
    {
        warunek = { initial = false },
    },
    	logging =   
    {
        level = domoticz.LOG_DEBUG, 
        marker = 'PIR Lampa',
    },
  execute = function(dz, item)
        
        local maxSeconds = 120
        local motion = dz.devices('Czujka Pir') -- nazwa czujnika 
        local switch = dz.devices('Garaż') -- nazwa włacznika
        
        if item == motion and dz.time.matchesRule('between  19:00 and 23:00') then -- detekcja aktywna
        if item == motion then -- detekcja aktywna
          if motion.active and not switch.active then -- detekcja wyzwala skrypt
            dz.data.warunek = true
            switch.cancelQueuedCommands()
            switch.switchOn().checkFirst()
          elseif motion.active and switch.active and dz.data.warunek == true then
            switch.cancelQueuedCommands()
          elseif not motion.active and dz.data.warunek == true then 
            switch.switchOff().afterSec(maxSeconds).checkFirst()
          end
        elseif item == switch and item.active and not motion.active then 
          dz.data.warunek = false
        end
    end
}
 
Dodane : 28/10/2021 9:08 am
(@alien)
Wpisów: 98
Pomocny
 

wywal linie 

if item == motion then

bo znosi warunek wyżej chyba że się mylę, nie znam skryptów domoticza. 
Pozdrawiam
Rafał

 
Dodane : 28/10/2021 6:49 pm
isom reacted
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dokładnie tak jak napisał @alien jeśli wstawi się warunek "jeśli wystąpi ruch" bez dodatkowych warunków to spełnia to wymagania załączenia oświetlenia o każdej porze dnia i nocy.

trzeba usunąć to ze skryptu i zmienić 

if item == motion and dz.time.matchesRule('between  19:00 and 23:00') then

na 

if item == motion and dz.time.matchesRule('at nighttime') then
 
Dodane : 28/10/2021 7:34 pm
Strona 3 / 6
Udostępnij: