Asystent AI
Dziwne zachowanie w...
 
Powiadomienia
Wyczyść wszystko

Dziwne zachowanie w sterowaniu oświetleniem

1 Wpisów
1 Użytkownicy
0 Reactions
760 Wyświetleń
Daro1003
(@daro1003)
Wpisów: 835
Guru Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#5836]

Witam

Czasem obserwuję dziwne działanie w sterowaniu oświetleniem. Mianowicie oświetlenie zapalane z czujki nie zawsze zgaśnie.

Logi z przełącznika Domoticz:

Szatnia

 Jak widać oświetlenie zapalone z skryptu o 13:31:54 nie zostało zgaszone po ustalonym czasie 90 sekund lecz dopiero o 14:32:31 przełącznikiem lokalnym na ścianie. Kolejne włączenie i wyłączenie ze skryptu zadziałało jak widać odpowiednio.

Co może powodować takie działanie a właściwie nie zadziałanie odpowiednio skryptu - domoticza ?

Zdarzenie należy do rzadkości ale się zdarza.

Skrypt od @isom

return {
    on = {
    devices = {
      'Szatnia',    -- nazwa wlacznik w domoticz 
      'Oswietlenie Szatni' -- nazwa czujnika w domoticz
    }
  },
  data =
    {
        warunek = { initial = false },
    },
    	logging =   
    {
        level = domoticz.LOG_DEBUG, 
        marker = 'PIR Lampa',
    },
  execute = function(dz, item)
        
        local maxSeconds = 90
        local motion = dz.devices('Oswietlenie Szatni') -- nazwa czujnika 
        local switch = dz.devices('Szatnia') -- nazwa włacznika

        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 : 03/03/2024 3:53 pm
Udostępnij: