Mam napisaną scenę na HC3 która co do zasady ma załączyć światła po zachodzie słońca przy wykryciu ruchu i to robi doskonale. Jednak nie mogę sobie poradzić z modyfikacją sceny by dodatkowo po wciśnięciu klawisza ściennego (włącznik fizyczny ) nie gasiła światła aż do jego wyłączenia fizycznym przyciskiem na ścianie.
Scena
Deklaracje:
{
operator = "all",
conditions = {
{
type = "device",
id = 141,
property = "value",
operator = "==",
value = true,
isTrigger = true
},
{
operator = "any",
conditions = {
{
type = "date",
property = "sunset",
operator = ">=",
value = -30,
},
{
type = "date",
property = "sunrise",
operator = "<=",
value = 30,
}
}
}
}
}
Akcje
fibaro.call(95, 'turnOn')
fibaro.setTimeout(50000, function()
fibaro.call(95, 'turnOff')
end)
Polecam , czas który spędzamy nieraz nad tego typu problemami jest więcej wart.😀.
Wszystkiego Dobrego w 2021 .🍻
Teraz już rozumiem.
W tej sytuacji trzeba wyrzucić funkcję fibaro.setTimeout. Jej działania nie można już zatrzymać jak się rozpocznie, ale można zmienić co ma wykonać po tym jak odliczy czas opóźnienia, więc trzeba zrobić warunek po wyjściu z setTimeout, aby sprawdzić czy użytkownik dalej chce światło zgasić. Tu proponuje użyć zmiennej globalnej ustawianej przez inną scenę np. po potrójnym lub podwójnym naciśnięciu przycisku ściennego. Kod jak to zrobić proszę zabrać z "Prezentu" https://www.portal.ztechnikazapanbrat.pl/prezent
który obsługuje (trigger) wciśnięcie dowolne przycisku ściennego.
Jeśli to będzie dla pana za trudne, to proszę wykupić konsultację i dla pana takie rozwiązanie opracuję i omówię.
Chętnie pomogę ale nie rozumiem drugiej części kiedy ma się wyłączyć z wyłącznika ściennego? Proszę opisać na przykładzie