Połączenie centralki SATEL INTEGRA z Domoticz i Arduino – odczyt stanu załączania + czujek PIR

 

Planując własny system automatyki domowej zapomniałem o dość ważnym aspekcie – czujniki ruchu. Nie mam żadnego czujnika PIR podłączonego do Domoticza. Okazuje się, że można jednak wykorzystać czujki ruchu od systemu alarmowego.

Satel INTEGRA 32

W tym celu w mojej integrze 32 wykorzystam wyjścia (8szt). Jedno z nich steruje sygnałem dźwiękowym – załącza syrenę alarmową. Pozostałe 7 jest do naszego wykorzystania.

Drugie wyjście wykorzystuję do odczytu stanu alarmu – załączony / wyłączony.

Uwaga! Wyjścia OUT 1…8 powodują wyzwolenie masy a nie napięcia +12v. To jest na naszą korzyść – możemy bezpośrednio wpiac je w PIN od Arduino. Aby układ zadziałał łączymy masę COMM z masą Arduino.

 

W tym momencie pozostaje nam 6 wyjść – możemy obsłużyć więc w przypadku INTEGRY32 6 pojedyńczych czujek. Ciekawostką jednak jest fakt, że możemy je połączyć w grupy.

Taki przykład: OUT4 przejdzie w stan wysoki, kiedy uruchomiona zostanie czujka od drzwi wejściowych lub tarasowych. W ten sposób mamy ogarnięty temat „wejścia” do budynku.

O tym które wejścia będą powodować załączenie wyjścia decyduje ustawienie w okienku po prawej stronie programu DLOADX (zahaczamy wejścia dwuklikiem).

 

ARDUINO

Schemat połączeniowy

Mój kod do odczytu stanu alarmu (zał / wył) (bALARM i prevALARM deklarujemy jako bool )

 

void Alarm(){

  Serial.print("alarm: "); Serial.println(digitalRead(alarm));
if (digitalRead(alarm)==LOW) { bALARM=true;
     if (bALARM!=prevALARM) {sendGET("/json.htm?type=command&param=switchlight&idx=41&switchcmd=On");
     Serial.println("Alarm wlaczony"); sendLOG("Alarm wlaczony.");}

                                    } else if (digitalRead(alarm==HIGH)) {
     bALARM=false;                              
    if (bALARM!=prevALARM) {sendGET("/json.htm?type=command&param=switchlight&idx=41&switchcmd=Off");
    Serial.println("Alarm wylaczony."); sendLOG("Alarm wylaczony.");   }
    }              

   // Serial.print("alarm prev/curr: "); Serial.print(prevALARM);Serial.println(bALARM);                
  prevALARM=bALARM;
}

 

W wywołaniu mamy ………&idx=41  . 41 to mój ID w domoticzu przycisku wskazującego na załączenie alarmu (zwykły przełącznik DUMMY, taki jak do światła).

Odczyt stanu czujek mam na tę chwilę niezeralizowany, ale robimy na tej samej zasadzie co odczyt alarmu.

Dla chętnych mogę podesłać kod na dniach.

Facebook - komentarze