попробовал два раза, первый скрипт отрабатывает на ура, скрипт второй включает свет на первый уровень и залипает (((
Возможно это связанно с тем, что я проверяю на большой задержке. Когда она маленькая типа 2 секунды как у вас, Вера не успевает обновить нужные переменные и доп проверка не имеет смысла так как за 6 секунд клацнуть выключателем можно только специально. Попробуйте так, возможно будет меньше проблем:
local DimmerID = 18 --ID Диммера
local Delay = 10 -- Задержка между переходами
local Level1 = 30 -- Яркость на первом уровне
local Level2 = 50 -- Яркость на втором уровне
local Level3 = 100 -- Яркость на третьем уровне
local ChkOn = luup.variable_get("urn:upnp-org:serviceId:SwitchPower1", "Status", DimmerID)
if (tonumber (ChkOn) == 0) then
luup.call_action("urn:upnp-org:serviceId:Dimming1", "SetLoadLevelTarget", {newLoadlevelTarget = Level1}, DimmerID)
luup.sleep(Delay*1000)
luup.call_action("urn:upnp-org:serviceId:Dimming1", "SetLoadLevelTarget", {newLoadlevelTarget = Level2}, DimmerID)
luup.sleep(Delay*1000)
luup.call_action("urn:upnp-org:serviceId:Dimming1", "SetLoadLevelTarget", {newLoadlevelTarget = Level3}, DimmerID)
end
А вот вопрос такой. Как сделать, чтобы освежитель пшикал по сработке тригера, но только ПОСЛЕ ТОГО как погаснет свет. А то сейчас стоит задержка в минуту. Но иногда этой минуты не хватает. Как сделать так, чтобы пшик дожидался когда свет выключить?
А вы не можете просто добавить скрип в тригер выключения света, а не в окончание обнаружения движения? Менять ничего не надо, и вы получите как раз то что хотите.