Dziwne zachowanie w...
 
Powiadomienia
Wyczyść wszystko

UWAGAStrona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.

W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉

Za niedogodności z góry przepraszam, admin

Kontakt

Dziwne zachowanie w sterowaniu oświetleniem

1 Wpisów
1 Użytkownicy
0 Reactions
262 Wyświetleń
Daro1003
(@daro1003)
Wpisów: 792
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

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 2:53 pm
Udostępnij: