Forum użytkowników automatyki budynkowej
Z-wave => Fibaro - sceny => Wątek zaczęty przez: wars121 w Październik 07, 2017, 01:24:54 pm
-
Witam,
Prosze Was o pomoc co jest źle w poniższej scenie próbowałem na rożne sposoby i nic (przekroczony limit instancji). :(
-
A na ile masz ustawioną maksymalna liczbę instancji?
Wysłane z mojego SM-G930F przy użyciu Tapatalka
-
Witam,
ustawiałem na 2 potem 3 teraz mam 1
Pozdrawiam
-
a przestawiałeś coś w ustawieniach czujnika ruchu albo światła? np jak często może być naruszony?
-
Witam,
Tak zmieniałem ustawienia ale przywróciłem fabryczne
-
Sam nie mam Fibaro, ale, że ostatnio konfigurowałem coś koledze a inni nie śpieszą się żeby pomóc więc spróbuję coś doradzić.
Sam jestem programistą więc wkręciłem się w temat.
Ważnym kiedy kiedy instancje są tworzone i ile czasu isnieją. W twoim przypadku scena maksymalnie może trwać około 80 sek (czas palenia się światła), a odpalana jest przez następujące warunki:
* naruszony czujnik ruchu
* zmiana natężenie światła
* co minutę ze względu na pierwszy warunek interwałowy - tego nie jestem pewny. Nigdzie nie mogłem znaleźć dokumentacji na ten temat.
Za każdym razem gdy, np, naruszony zostanie czujnik ruchu - tworzona jest instancja która dość szybko jest ubijana jeśli nie spełnione są wszystkie 3 warunki (w ogólnym wypadku czas ten może być wydłużony przez wpisanie opóźnienia ).
Ale załóżmy że wszystkie 3 warunki są spełnione i instancja jest opalana na 80 sekund. Niestety nie ma żadnego warunku który zablokuję wykonanie tej scenu po raz drugi. Jeśli by się tak zdażyło, że po 8 sekundach (z tego co mi się wydaję to domyślna wartość - stąd moje poprzednie pytanie) czujka ruchu znów była naruszona, a wartość światła była wciąż <= 5 - to zostanie odpalona kolejna instancja żyjąca 80 sek.
Jeśli coś jest nie tak np w ustawieniach lub umieszczeniu czujki światła, to teoretycznie co 8 sek może być tworzona nowa instancja sceny która spełnia wszystkie warunki.
Jak to naprawić? Tu mi trudno wyrokować, może właśnie z tą czujką jest coś nie tak? a może zanim ona ustawi nową wartość światła (ze względu na interwał próbkowania) to czujnik ruchu już tyle instancji odpali że si wywala?
-
a ja mam pytanie - czym grozi komunikat o przekroczeniu ilości instancji? czy wtedy scena pierwotna jest zablokowana?
-
niczym. infkrmuje ze scena nie wystartowala ponownie.
Wysłane z mojego SM-G925F przy użyciu Tapatalka
-
I warto nadmienić, że jest to mechanizm zabezpieczający. Inaczej taka źle napisana scena mogła by zabić całą centralę. I tylko hard reset by pomógł.
-
Czujnik ruchu potrafi dać kilka impulsów typu "naruszenie" w krótkim czasie i to jest najczęstsza przyczyna komunikatu o przekroczeniu limitu.
Trzeba dodać, że w niektórych przypadkach centralka potrafiła zawiesić kolejne uruchomienia sceny jeśli limit przekraczany był zbyt często. Zostało to już poprawione przez producenta, ale lepiej unikać wielokrotnego uruchamiania tej samej sceny, bo działania kolejnych instancji mogą znosić efekty działania poprzednich, co wprowadza bałagan i trudno się diagnozuje. Z kolei ustawienie limitu na wartość 1 powoduje irytujące komunikaty jak w temacie. Jeśli to się staje kłopotliwe, to można zmienić tryb sceny z "bloczków" na język LUA i na samym początku sceny wstawić poniższy kod:
if (fibaro:countScenes()>1) then -- jeśli jakaś instancja sceny działała już wcześniej
fibaro:abort(); -- to nie pozwól wystartować nowej instancji
end
To spowoduje, że każda następna instancja, która wystartuje zanim poprzednia się skończy, zostanie zamknięta i nic nie narozrabia.