Timer od czuwania nocnego deaktywuje czuwanie pełne

Zaczęty przez iluzjon, Sierpień 11, 2014, 09:27:40

Poprzedni wątek - Następny wątek

iluzjon

Mam taki problem.Załączam czuwanie pełne systemu i jest ok. o 22 timerem załącza się czuwanie nocne i o 6 czuwanie nocne jest rozłączane timerem a problem w tym ,że rozłączane jest także czuwanie pełne. Jak zrobić,żeby czuwanie nocne timerem nie było załączane podczas gdy czuwanie pełne jest aktywne? lub tak aby po rozłączeniu czuwania nocnego timerem nie rozłączało czuwania pełnego.Proszę o radę.

iluzjon

Przeanalizowałem wszystko i chyba to błąd w oprogramowaniu bo czuwanie nocne nie powinno się załączać jak jest aktywne czuwanie pełne. Uciążliwe to jest bo przed dłuższym wyjazdem trzeba albo poprzez partner gsm wyłączyć załączanie timerem albo codziennie załanczać rano czuwanie pełne poprzez smsa. Może warto by to przeanalizować i dałoby się coś zmienićw oprogramowaniu.?

RobertH

Strefa nocna nie jest strefą niezależną jest podstrefą strefy głównej.
Strefę nocną można niezależnie załączyć lecz w systemie jest tylko wyłączenie czuwania globalne.
Dotyczy to wszystkich opcji uzbrajania: panele, SMS-y, timery, wejścia, RopamDroid.

iluzjon

No tak rozumiem tyle że jak jużnapisałem jest to bardzo uciążliwe bo żeby załaczyć czuwanie pełne na czas dłuższy niż jedna doba przy włączonym timerze jest niemozliwe bo timer go zawsze wyłączy.
Ja mam timer nastawiony na czuwanie nocne od 23 do 6 rano. I jest ok jak jestem w domu czuwanie nocne sie uzbraja i rozbraja o 6 rano.Ale jak chce gdzieś wyjechać np.na 3 dni i uzbrajam czuwanie pełne to to czuwanie jest nastepnego dnia przez timer rozbrojone i jesli nie uzbroję systemu przez smsa to dom jest bez ochrony. Tak chyba nie powinno być . A nie chce przed kazdym  wyjazdem podłanczać komputera i wyłanczac timer od czuwania nocnego.Myslę ze powinno być tak zeby timer czuwania pełnego nigdy nie rozłanczał. byłoby latwiej.

RobertH

Czuwanie nocne w tym systemie jest typu STAY tj. w systemie jest tylko strefa z blokowaniem wskazanych wejść od tego czuwania. W systemie nie istnieje wyłączenie czuwania nocnego tylko globalne.

Marcinus

Jeśli w centrali ma się timer aktywujący czuwanie nocne, to będąc na dłuższym wyjeździe dość upierdl... jest codzienne załączanie czuwania z aplikacji (po wyjeździe z domu załączam czuwanie pełne w strefie 1)
próbuję napisać skrypt logiki, który w sytuacji aktywowanego czuwania pełnego i załączenia przez timer czuwania nocnego będzie później aktywował na powrót czuwanie pełne (po automatycznym wyłaczeniu  czuwania nocnego).
niestety poniższy skrypt "nie biega" (czuwanie pełne nie załacza się po automatycznym wyłaczeniu czuwania nocnego)


int tk1; //timer aktywujący czuwanie nocne w strefie nr 1
int tk1p;
int M4;  //marker wskazujący że przed załączeniem czuwania nocnego było załączone czuwanie pełne
int as1; //wskaźnik czuwania pełnego

main(){               
gbenv();
tk1p=tk1;
if (tk1==0) { M4=as1; }  // zapisanie do markera M4 informacji o stanie czuwania pełnego w czasie przed załączeniem timerem t1 czuwania nocnego
while(1){
gbenv();
if((tk1p==0&&tk1==1&&M4==1))   // warunek który zadziała tuz po zakończeniu czuwania nocnego, jeśli marker M4 jest ustawiony na 1 (czyli przed załaczeniem czuwania nocnego było czuwanie pełne
{
ARMF(1); }      // uzbrojenie czuwania pełnego
tk1p=tk1;
};       
};

Spojrzy ktoś, gdzie tkwi błąd ?

Michal

#6
Jeżeli problem dalej aktywny to być może będę w stanie pomoc, po dokładniejszym opisaniu logiki. Linia nocna to tak jakby podstrefa i załączając czuwanie pełne załączają się również czujki z lini nocnej.
U siebie mam logikę działającą następująco.
W strefie np. 1, które jest osobnym pomieszczeniem mam 2 czujki ruchu ustawione jako "linia nocna" i logika codziennieo steruje timerem.O godzinie 00:00 załączane jest czuwanie nocne strefy nr 1 i wyłączane jest czuwanie (globalnie, gdyż nie ma rozdzielenia na wyłączanie czuwania nocnego i pełnego) załóżmy o 08:00. I tak dzień w dzień. Jeżeli wyjeżdżam na dłużej to z panelu załączam czuwanie pełne strefy 1 i wtedy procesor logiczny już nie nie ma wpływu na załączanie/wyłączanie czuwania. Strefa nr 1 jest uzbrojona do momentu ręcznego rozbrojenia (poprzez panel, SMS, itd.). Skryptu nie pamietam, musiałbym podłączyć się kablem do centrali i zgrać go... o ile, jak napisałem na wstępie, problem jest aktualny,

Marcinus


Michal

#8
Cytat: Marcinus w Grudzień 27, 2017, 12:19:26
Sprawa jest aktualna.

Poniżej wklejam swoją konfiguracje procesora logicznego, który działa dokładnie, jak opisałem powyżej.
Opisz dokładniej jak chcesz, żeby działała Twoja logika.


Marcinus

#9
Michal - dziękuję Ci za pomoc. Nie umiałem wcześniej sobie poradzić. Najprostsze rozwiązania są najlepsze - nie zawsze niestety można do nich samemu dojść :)
W celach edukacyjnych - skryptowa wersja rozwiązania problemu: przetestowane - działa

int as1; //deklaracja zmiennej wskaźnika czuwania pełnego strefy 1
int an1; //deklaracja zmiennej wskaźnika czuwania nocnego strefy 1
int tk1; //deklaracja zmiennej timera nr 1 odpowiedzialnego u mnie za czuwanie nocne
int tk1p; //zmienna pomocnicza

main(){
gbenv();

tk1p=tk1;

if((tk1p==0&&tk1==1)&&as1==0){
ARMN(1); //załączenie czuwania nocnego, jeśli nastał czas Timera nr 1 a czuwanie pełne nie jest załączone
};

if((tk1p==1&&tk1==0)&&an1==1){
DISARM(1); //wyłączenie czuwania nocnego po ustaniu czasu Timera nr 1 (jeśli oczywiście nie było czuwania pełnego)
};

tk1p=tk1;